Turn Off Mobile Data

🔖 other 

There’s a lot of talk on the web about the dangers of always on technology and addictive social media. I’m here to give you a life pro tip.

Turn off mobile data.

You’ll have wireless in most places anyway, but not being connected outside of wifi means less distractions on walks, at dinner, or in the movies. You can still turn on data if you really need it, but the barrier is high enough that you’re unlikely to use it to get a quick hit of reddit.

I started doing this when AT&T made me give up my trusty nokia dumb phone and I got a smart phone. Seems to work great.

Too Far, Too Fast: Backpacking the Manzana Hurricane Deck Loop

🔖 Backpacking 

2017-05-29-too-far-too-fast-backpacking-the-manzana-hurricate-deck-loop.markdown

Labor day weekend, the official start of summer. Time to bust out that barbecue, unfurl that tent! While many people in America are celebrating the beginning of the outdoor season, some of us are squeezing in our last few adventures before the end of it. While not technically closed during the summer the Los Padres National Forest back country it not a place you generally want to be in the middle of July. Water is scarce to non-existent, temperatures hang around the triple digits and as someone once said: “the ground itself becomes a furnace”.

So when the forecast for the weekend showed mid 70s temperatures and even some cloud cover, Andrea and I took the opportunity to head out to the San Rafael Wilderness to give a few nights backpacking and a walk on the infamous Hurricane Deck a shot.

Read more...

Throttling Specific Actions in Django Rest Framework Viewsets

🔖 code 

If you are using rate limiting with Django Rest Framework you probably already know that it provides some pretty simple methods for setting global rate limits using DEFAULT_THROTTLE_RATES. You can also set rate limits for specific views using the throttle_classes property on class-based views or the @throttle_classes decorator for function based views.

What if you are using ViewSets but want different throttling rules to apply to different actions? Unfortunately DRF provides no official method of doing this. Luckily we can accomplish this functionality without too much fuss using get_throttles().

Read more...

Dockerize! Lest you forget

🔖 code 

2017-02-26-dockerize!-lest-you-forget.markdown

I host quite a few sideprojects on my VPS. They range from static Jekyll sites (like this one) to large web applications. There’s even some wordpress hiding in a corner, disgraced and neglected.

Despite the fact that none of these sites are actually useful for anything, they still need some poor bastard to keep then running. Over the years I’ve collected quite the assortment of nginx, uwsgi, php, apache, supervisor, and other configs. All of them written at various levels of understanding, none of them tracked anywhere, all of them confusing and terrible.

Read more...

Preserve GET parameters using django-bootstrap3 pagination

🔖 code 

This one got me for a bit. If you are using django-bootstrap3 and also want to use it’s handy bootstrap_pagination template tag for generating pagination links, you may be in for an unplesant surprise if your view uses any GET parameters. While the django-bootstrap-pagination project handles this by default, django-bootstrap3 will not persist GET paramters between pages.

The key to using the bootstrap_pagination tag is the extra argument, which takes a string and appends it to each page. If you have the request_context context processor installed, you can pass in this string using the QueryDict urlencode() method. For example:

{% bootstrap_pagination page_obj extra=request.GET.urlencode %}

Voila. Pagination in django with bootstrap working as it should.

Santa Barbara Solar System Ride

🔖 astronomy  cycling 

LCOGT has participated in this year’s Cyclemaynia event in the best way we know how: by geeking out over both cycling and astronomy at the same time.

I thought it would be neat to do a scale model of the solar system that people could ride in order to experience in order to gain a deeper appreciation of how vast the solar system really is.

2016-05-10-santa-barbara-solar-system-ride.markdown

Read more...

Demonic Plants of SoCal: Pt. 1 - Pitchfork Weed

🔖 other 

The first thing I noticed when I moved to Santa Barbara and started going outdoors was that everything just seemed a little more hostile than what I was used to. There are the ever present threats of overwhelming heat, lack of water, exposure and poison oak. By now, I’ve come to know some of the more subtle actors as well.

One of them I met today: Pitchfork Weed aka Bidens frondosa or, the Devil’s Beggarticks, Devil’s Pitchfork, Tickseed Sunflower… Would you believe it is closely related to the lovely sunflower? Neither would I, the family resemblance is illusive. Trust me, you don’t want to run through a field of these, and their seeds are not pleasant.

2016-05-08-demonic-plants-of-socal-pt.-1---pitchfork-weed.markdown

Read more...

Now You Too Can Become A Syntax Tyrant

🔖 code 

So I really like code linters. My coworkers know this. Actually, I got called a syntax Nazi today by a fellow developer. I’m OK with that. I believe in readability and consistency.

In my projects I make it impossible to make a git commit before the source code passes a flake8 check. How to perform this minor miracle you ask? With a simple git pre-commit hook:

myproject/.git/hooks/pre-commit

#!/bin/sh
flake8 .

When I commit, the hook executes. Since git knows a return of anything besides 0 means abort, it stops the commit from happening. Awesome.

Here is a terminal recording of it in action:

Don’t forget to make your pre-commit hook file executable!

Sane Django Development with Docker

🔖 code 

Recently I started a new Django project, and this time I decided to go all in on Docker. No virtualenvs, no local databases - containers all the way.

There are about a million and ten articles about how to dockerize webapps by now. However, none of them seem to address one simple fact: we don’t simply want to dockerize our applications, we want to develop them too!

sane-django-docker contains a sample django project webapp as well as the necessary config files to run both a development and production server.

Read more...

Why I Still Prefer Unity: It's All About Real Estate

🔖 linux 

I’ve been pretty good about not becoming a open source pundit. But today I feel like writing something useless.

My laptop’s ssd crapped out yesterday so I spent the day restoring backups and installing operating systems. I’ve been using Ubuntu for a few years now, so I thought it would be great to revisit Gnome and see how the 3.x development is coming along, maybe even switch back.

Nope.

Read more...