Skip to content

Instantly share code, notes, and snippets.

View niftynei's full-sized avatar
🧡
on sabbatical

neil saitug niftynei

🧡
on sabbatical
View GitHub Profile
@niftynei
niftynei / details.java
Last active September 1, 2015 17:35
Making it rain expandable textz
package com.electricobjects.client.collections;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.app.Activity;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.Layout;
import android.text.Spannable;
@niftynei
niftynei / chooser.java
Created September 9, 2015 18:41
adding a camera thing
/**
* Utility to start an image picker with request code
*
* @param activity Activity that will receive result
* @param requestCode requestCode for result
*/
public static void pickImage(Activity activity, int requestCode, Uri cameraPhotoUri) {
if (activity.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Intent imageOnDiskIntent = new Intent(Intent.ACTION_GET_CONTENT).setType("image/*");
@niftynei
niftynei / sudo.sh
Last active September 22, 2015 15:53
sudo but sudon't
$ which python
/usr/bin/python
$ sudo which python
/usr/bin/python
$ python -c "import cairo; print cairo.version"
1.10.0
$ sudo python -c "import cairo; print cairo.version"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module>
@niftynei
niftynei / graphite_.sh
Last active September 25, 2015 19:21
Setting up Graphite on an EC2 instance
# ~~Caveat Emptor~~
# This is a rough approximation of the steps I used to setup graphite on an Amazon EC2 instance
# No guarantees that it works. Also note that since you'll pulling graphite from source, there's a good possibility
# that the setup instructions have changed.
## Due diligence: many thanks are owed to the following tutorials & docs:
# https://www.digitalocean.com/community/tutorials/installing-and-configuring-graphite-and-statsd-on-an-ubuntu-12-04-vps
# https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7
# http://graphite.readthedocs.org/en/latest/releases/0_10_0.html
# https://timsvirtualworld.com/2013/05/how-to-install-graphite-on-amazon-linux/
@niftynei
niftynei / gist:5bfdcd285b598ec16189
Created October 19, 2015 21:26
Django Deploy Steps
0. # make a snapshot of prod in EC2. jic.
1. # rsync your file from staging
2. sudo django-admin.py collectstatic -v0 --noinput
3. sudo django-admin.py syncdb
4. sudo vim webapp/graphite/local_settings.py ## TODO: move stuff to env vars
5. sudo apachectl -k stop
6. sudo apachectl -k start
7. # delete your snapshot
@niftynei
niftynei / gist:0dca2b1a0151788f4ecc
Last active December 17, 2015 18:35
sample catch block
public <ReturnType> NetworkRequest<ReturnType> makeRequest(NetworkRequest<ReturnType> request) {
try {
request.makeRequest();
// if you reach this, request succeeded!
request.setStatus(HttpURLConnection.HTTP_OK, NetworkRequest.Status.SUCCESS);
return request;
} catch (RetrofitError error) {
Response errorResponse = error.getResponse();
public class CreateUserRequest extends NetworkRequest<User> {
// ...
@Override
public User onMakeRequest() {
String bearerString = ClientAuthManager.get().createBearerString();
// Make a request to create a user object.
User user = EoApp.getAppContext().getClientRequestManager().getAuthApiService().createUser(bearerString, mNewUser);
public class CreateUserRequest extends ClientNetworkRequest<User, Object> {
// ...
@Override
public NetworkCallResponse<Object> onMakeRequest() throws IOException {
EoLog.d(TAG, "Register a user called");
String bearerString = ClientAuthManager.get().createBearerString();
retrofit.Response<User> userResponse = EoApp.getAppContext()
.getClientRequestManager()
public <ReturnType> EoNetworkRequest<ReturnType> makeRequest(EoNetworkRequest<ReturnType> request) {
try {
retrofit.Response<ReturnType> response = request.makeRequest();
if (response.isSuccess()) {
return request;
} else {
// todo: parse the error body into some sort of usable structure. or something??
}
} catch (IOException e) { // network error
package com.electricobjects.client.onboarding;
import android.app.Dialog;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.content.ContextCompat;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;