image
13 June 2016

On Orlando

When I woke up yesterday morning, I saw that there had been a mass shooting in Orlando. It’s really telling that when I saw the headline, my reaction was “ugh, again?” and I kept scrolling. We’ve reached the point as a country where my generation considers mass shootings to be so common that we hardly react to the headlines and we forget about them quickly. Earlier this month, there was a murder-suicide at UCLA that we’ve already stopped talking about and others we haven’t even heard about. It’s clear that we need to do more, both legislatively and culturally, to work towards a resolution of these issues. When we politicize human rights and safety, this is the result and will continue to be the result.

The attack on Pulse was a direct attack against LGBTQ+ individuals as well as U.S. citizens, Latinos, and Muslims. At least forty-nine innocent people died in the attack and fifty-three were injured, some in critical condition as of last night. Over 100 circles of families ...

image
16 March 2016

Explaining Software to Non-Engineers

If certain stock images are to be believed, software engineering is equivalent to reading the source code of the Matrix. It’s not tremendously surprising to see it depicted that way. Software is a very abstract concept that is frequently communicated very poorly by the people who build it.

As we learn about the world, we develop what are called mental models, which are thought processes surrounding how something works. When we learn about something new, we look for ways to apply our existing mental models to it, sometimes incorrectly. A great example of a mis-applied mental model is someone experienced with film cameras equating a digital camera’s memory card to film and replacing it when full. Mental models are usually functional so they don’t work as well when applied to something abstract such as software construction. Most people also don’t have a mental model that can be applied to software so they’re m...

image
09 February 2016

Blogging with Git and Jekyll

With most blog platforms, the process of creating a blog post is pretty similar. It usually looks something like: log into your blog, click the “create post” or equivalent button, fill out the title, write the post, add tags, and click save. Of course, it varies a little bit across platforms because some platforms offer niceties that others don’t. However, other than a few niceties here and there blogging using most platforms is pretty much the same. The workflow for a static site is a departure from that: open a new file in a text editor, write a few pieces of data at the top, write your post, save it, and use your tool to regenerate your site. The simplicity is great because it means you can adjust the process and the tools to make it your own.

My website is hosted on Github Pages which means it’s version controlled using Git. Git, and version control in general, keeps track of everything you noted that you changed, effectively allowing you to time travel and “undo” bac...

image
13 January 2016

Creativity in Coding

As a culture, we tend to have a difficult time seeing technical disciplines as creative. It can sometimes be hard to imagine engineering as something creative because it frequently comes in the form of exact results and is spoken of in terms that are sometimes difficult to understand. This divide is imaginary because the technical and the creative are perfectly capable of coexisting. Working within the constraints of an engineering project does not restrict creativity, it tends to encourage more of it. Engineering products are creative works even though it’s sometimes hard to see them as such.

Examining the technical/creative mix from a software standpoint, there is a lot of room for and a lot of need for creativity. Source code can be written many ways to solve the same problem. Developers frequently have their own style and their own method of solving problems. In fa...

image
02 November 2015

Taking Time Off From Software Engineering

A lot of us in the software field live, breathe, and even dream software. We love what we do so we surround ourselves with it; we join massive groups of software engineers where we constantly ask for critiques of our websites and resumes and show off our new thing we’re building from something new we’re learning that we’re sure is going to change the world while we flaunt our startup ideas because we want to create the next big thing but often we put things on hold “to come back to” (except we never get back to them) to play with the new new thing so we don’t fall behind while the live stream of someone programming or the most recent Hackathon sits on our second screen so we can learn something else new or to look at the latest high stakes in competitive coding then we get home from work or school and immediately dive into our personal software scene so we don’t miss a beat while we’re awake and later we get woken up at 3AM by our phone because someone we once talked to online a ...

image
15 September 2015

Journey to a Static Site

For the longest time, I was enamored by the idea of having a dynamic site. Everything remotely dynamic on my site was powered by external services such as Disqus or Blogger. Despite that, I imagined I would eventually come up with some cool, dynamic content to put on my site and that I should pre-emptively fill that void if and when I would ever need it. To fill this imaginary need I ended up building my own PHP web framework, complete with its own (really terrible) database layer. I learned a lot while doing it so it was a worthwhile project and it even worked fairly well for a while. Eventually though, it became too large, and debatably too broken of a project to continue working on alone, especially with much better frameworks out there.

I still wanted to push for that dynamic site. My PHP framework wasn’t working out anymore and I didn’t feel like dealing with Wordpress or figuring out another framework, so I turned to Django. I rewrote my site (in under a quarter of ...

image
27 April 2015

Collecting in a Digital World

Let’s be honest. For the layman, there isn't a real need to own media anymore. No matter what it is, the Internet makes it easy to find and easy to get no matter where or when you are. We’re lazy — someone else already did it and most of the time we’re willing to pay them instead of devoting our own time to finding everything we want.

Despite that, some of us still choose to maintain our own collections. These media libraries often amount to dozens upon dozens of terabytes of media on an array of drives somewhere, that we stream with Plex or Emby or a similar solution. It eventually amounts to more media than one person is actually able to realistically consume. To add a little perspective, a collection in the low end of that consisting only of HD video would take over a year to watch in its entirety if played 24/7/365 with no breaks.

Looking generally at why humans collect anything digital or p...

image
30 March 2015

Human Interaction Through Analytics

With social media, we have more people to talk to than ever and more ways to talk to them. However, our bigger networks do not translate to more meaningful social interactions. Everything we share is carefully curated and censored to show only what we think makes us look our best to the network we’re sharing with, removing spontaneity and authenticity from how we interact.

As our interactions become less genuine, we feel increasingly lost in the crowd and we get lonely. We expand our friend lists and gather followers to make up for feeling lonely, but this doesn't make up for the human element that we’re losing. No matter how many hashtags we add to our posts, how much we post ourselves all over our profiles and other people’s profiles, we still can’t achieve the genuineness of speaking in person and being heard that we as a species need.

To counter the feeling of not being heard, we seek out statistics that make us able to feel like we’re getting noticed. The fir...

image
08 February 2015

When to Bail and When to Sail

A couple years ago, I decided to learn PHP since I had a website and I felt that my knowledge of web development was lacking without it. I started off with a few simple PHP pages, and didn't really intend to go much farther than that. I knew that creating my own web platform would be pretty futile, since as one person who didn't really know anything about how frameworks worked under the hood, I likely couldn't come up with something better on my own. The plan was to learn PHP, then switch over to something that was already an accepted solution. Always up for a challenge however, I kept going and a few pages written with a smattering of PHP evolved into an actual piece of software that did more than show a different greeting every time the page was loaded. I knew what I was doing, but I pushed on anyway because things were going pretty well - I had a simple blog, pages, a login system - and they worked fairly well. I kept thinking of ways to do it better so I improved as I went, a...

image
26 March 2014

To Update or Not to Update

With the official end of life for Windows XP quickly approaching and some people scrambling to migrate to a new system, it's interesting to look at the reasons for and against pushing through an upgrade. Upgrading to a new version of an operating system or a different operating system entirely can be a lot of work with migrating files and settings over. This is especially the case with XP, since there is no direct upgrade path from XP (which is 13 years old) to Windows 7 or 8 - or Linux/Mac for some.

Since upgrading to a new operating system is generally more of an ordeal than updating individual applications, there's those who consider hunkering down rather than moving on when end of life comes around. There are always reasons against it - it takes time to get everything on the new system set up, there may be a learning curve, it might be expensive. The issue is that while these are valid concerns, choosing to stay with an aging system that is out of s...

Older Posts

<