Recent Tweets @
Posts I Like
Who I Follow

I have to get something off my chest. At my current job, I am technically a front end developer. More specifically I am a UI developer, however I rarely do UI work. Mostly I do Ajax stuff - call a service, do something with the data, then display said data. I like this mostly behind the scenes work because I get to know different in house API’s and get a word in to the API developers when I need something tweaked or added. However sometimes I have the great displeasure of having to make something clickable, show or hide it and other stupid UI work. Yes, I said it. It’s stupid (well most of the time). Most of the time I don’t want data/information hidden and I have no idea why designers are so excited to do this - as long as it’s not a massive amount of information just freaking show it to the user!! But, I have to make a confession, it’s not only because I don’t think it’s a good idea for UX. It’s just plain boring as hell to build out.


Does anyone use python? I just started learning it and I am having a problem running programs in the command prompt. I can write anything, but I can’t open any .py files. Can anyone help??

Edit: I tried running it in both command prompt and the shell that came with activepython. Same result in both. Might be a problem with the program or the install…

Are you trying to run the files or open them from the command line? If you are trying to run them, just make sure you are in the right directory and or typing in the correct path name and then type: python

If this isn’t working check for your version by typing: python which will start the python shell. If that checks out ok, then try: which python and that will show you what directory the current version is running from. I can help more if you give more details about what the error is if any and what exactly you are trying to do.

Here is a quick thought to marketers out there: choose your words carefully.

As a developer, I have to think through an idea on how to build out a project. What are the consequences of building it one way or another? What about using this technology or that one? What about technical debt and other developers jumping on the project? Developers run down so many paths before they choose the one with the most benefits before they start coding.

Please marketers, do the same.  Seriously think through your ideas and don’t focus only on click-throughs and conversions, but give some thought to building trust with your users.  Your brand depends on some level of consistency throughout the site whether it’s the textual content or imagery. If any of it is misleading at worst or confusing at best then you will loose users.

Users have expectations and some of those are based on what they’ve already experienced in the wild and the ones they have come to know from your brand and website. If you deviate from their expectations then you loose trust and create confusion which will increase the bounce rate.

For example, if you are thinking of deviating from an industry norm you should ask yourself what could you be loosing? Is it worth whatever gain you saw from a small A/B test?  Are you being truthful to the user and your brand?

Marketers should be asking themselves these questions and more in order to avoid getting caught up in imagery or text that is misleading and confusing. Humans at the core are fairly simple. We are drawn to blue because it reminds us of water which we depend on for our survival. We like objects categorized and grouped together because it lets us process information faster which is important for making quick decisions.

When marketers create confusion by using text in a callout button that leads to somewhere unexpected, the users response is often to give up and go somewhere else. So, please marketers don’t choose your wording because it leads to more click throughs. If the page you lead the user to is not what you said it would be, then you will loose on conversion anyway and loose trust in your brand.

Here is a simple tip for creating a virtual environment with virtualenv when you want to use a specific python version:

virtualenv  -p  /path_to_python_version/  my_virtual_env

So, for example if I wanted to use Python3 that was installed via Homebrew, I would use it’s alias and type in the console:

virtualenv  -p  python3  my_virtualenv

Around four months ago I was introduced to the practice of using stubs to layout and plan code for a JavaScript ticket a senior developer and I were working on.  When he told me he had already written out stubs for the refactor/re-engineering of the massive file I had no idea what he was talking about.  I don’t have a formal computer science degree (mine was more natural resources science/policy BS) and to tell the truth most people I’d worked with up until that point were not great at planning and structuring their code, hence the refactor and addition of new features we were tackling. But I had him show me what he had done while I was away at a front end conference and he ran me through creating stubs to plan out your code.

Stubs are simply a way to outline and plan your code. For instance if you remember in grade school they used to make us use an outline to plan out ideas for a research paper, but I bet once the teachers stopped making you turn those outlines in for homework points, you stopped writing them altogether.  Maybe you switched to the writing style of iterating until you come up with something that will get you a passing grade? Unfortunately when you program like that (and yes I’m guilty many times over), most times you run into more problems than you accounted for, it’s taking you longer than you thought, and it’s turned into a buggy spaghetti code mess that you don’t have time to cleanup.  That’s where stubs come in.  Like the roman numerals of a term paper outline, stubs help organize your code and coupled with comments, help prevent mistakes and preserve ideas.

Here is a super simple short sample of stubs you might create for a Python program:

# extract users first and last name and create a username
def main():

# stub for extracting user info
def user_info():
    if usr_profile[‘lastName’] and usr_profile[‘firstName’]:
        print(“get users info from dict”)

        # TODO: get users first and last name from dict
        username = ‘Stub’

# stub for writing username to file
def write_usr(username):
    print(“todo set file with user name: “, username)


As you can see there are comments with TODO’s stamped all around, and even within the useless functions I print out messages about what I mean to do with them when I come back to actually write the code. This is helpful when you aren’t working on something everyday, and helpful to others when you are teaming up on the same project.

Happy programming :-)