A little treat for the team

Wednesday, September 3rd, 2014 | Posted in Fresno Happenings

I ordered a little present for the office to enjoy. No charge guys!


We Drank Blue Magic

Wednesday, August 6th, 2014 | Posted in Fresno Happenings

This happened last week. It pleased us so! For those 21 and over only, of course.

A container holding liquid with fruit slices

Let’s Be Lazy-Productive: Class-Based Generic Views

Monday, July 7th, 2014 | Posted in Django Tutorials

We, programmers, are lazy. We despise repetitive tasks and are bored by monotonous project requirements. As much as possible, we automate processes and use abstractions for patterns that we always use in our work. And yet, despite being lazy, we also want to be efficient and productive. Can we really be lazy and efficient and productive, all at the same time?

Since Django 1.3, generic views for Django were implemented using classes instead of functions. With these new class-based generic views, writing view code is easier, faster and more organized. In addition to that, we benefit from having a cleaner, more reusable, and more structured code base. We used to write function-based views like this one:

from django.shortcuts import render_to_response
from django.template import RequestContext

def simple_view(request):
    """ This view just displays a template with some context. """

    context = {'a': 1, 'b': 2}

    return render_to_response('simple_template.html', context=RequestContext(request, context))

For views that really do something, we might have ended up writing the following:

from django.contrib.auth.decorators import login_required
from django.shortcuts import get_object_or_404, render_to_response
from django.templates import RequestContext
from django.views.decorators.csrf import csrf_protect
from .forms import MyObjectModelForm
from .models import MyObject

def single_object_view(request, object_pk):
    This view displays the details of an object on GET and
    allows logged-in users to edit the object on POST.


    object = get_object_or_404(MyObject, object_pk)
    form = None

    if request.method == 'GET':
        # we just display the details for the object and an edit form

        form = MyObjectModelForm(instance=object)
    elif request.method == 'POST':
        # process object update

        form = MyObjectModelForm(instance=object, data=request.POST, files=request.FILES)
        if form.is_valid():
            object = form.save()
            form = MyObjectModelForm(instance=object)

    context = {'object': object, 'form': form}

    # additional stuff could go here

    return render_to_response('single_object.html', context=RequestContext(request, context))


Projecting Your Voice to Land a Career

Monday, July 7th, 2014 | Posted in Careers

As a recruiter, I am fortunate to meet many people on a daily basis. One of the things that tends to come through is the ability to pick up on trends.

Business Insider recently added insight into something that I’ve been noticing among so many entry-level candidates lately. It’s called “vocal fry.” It almost sounds like a tiny bit of dirt, or groaning in someone’s voice. It also makes you as a candidate sound weak and less-than-confident in your skills and abilities.

I would encourage you to listen to sound clips of vocal fry, and evaluate whether you speak this way in interviews, the workplace, or in general.

Science Backs Up Bixly!

Wednesday, July 2nd, 2014 | Posted in Management

I love this article that just came out on Slashdot entitled:

Happy Software Developers Solve Problems Better

Checkout the article on Slashdot.

There were 42 participants, so I can’t claim this is an end-all, especially considering the bias towards novel results and studies that can’t be reproduced in academia. But! I didn’t need a study in the first place to tell you that happy developers are better developers.

20131010_131231 screenshot.4 screenshot.3 screenshot.6 screenshot.5

We have a few things in place to keep our developers happy. For one, our managers are programmers. They don’t push unrealistic agendas on the developers since they know what it takes to get it done. On top of that we don’t put up with politics. Any murmurs of “he said she said” get zapped to a crisp right where they stand. If you have a problem you talk about it with that person, or the management decides the problem maker needs to be dealt with, or you just drop it.

Let’s see, there’s more: (more…)