image
05 December 2016

Explaining Net Neutrality

Net Neutrality is the idea that all data on the Internet, regardless of who it comes from, its political affiliation, company, or who’s consuming it, should be treated the same way and should move at the same speed. We’ve enjoyed a mostly-neutral Internet for some time now, which is what has allowed the Internet to become an important means for moving information around the world. A neutral Internet is also the reason it’s easy for new companies to get up and running online and find their customers. It’s difficult to explain well in a short blog post the importance of a neutral Internet, so be sure to take a look at the links throughout for more information.

At a glance, it can be difficult to understand why Net Neutrality matters, in particular because we’ve never seen a non-neutral Internet. A non-neutral Internet can even seem appealing from the marketing suggestions that service providers publish, in that you can pay only for what you need. Unfortunately, service prov...

image
28 August 2016

Encryption is not the enemy

Encryption is a well-understood and well-known technology in the world of computing. Though the media would have us believe otherwise, encryption is not much more than fairly basic math involving some large, random numbers. There’s a little more to it than that, but it’s based around the fact that modern computers take a really long time to do certain things. That’s not that it’s complicated, just that it’s something computers happen to be fairly bad at. Most things that use encryption use methods that are widely used and known; it’s the keys (or passwords) that are not. No dark magic, and no weird science, just a little math and some keys. If you felt inclined, you could do the tedious job of encrypting something without a computer as long as you had some notes on the math and a calculator.

While it isn’t always made clear, encryption is imperative when doing almost anything...

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...

Older Posts

<