I’m a Software Engineer working at Granicus in Denver. We provide cloud services for governments with a focus on transparency and citizen engagement. I’m one of the organizers of the DTC Ruby Meetup group and an obsessed API creator and consumer. I love code and helping newcomers to the practice. I’m a husband, father, and Texan.
I’ve been continuing to take classes despite working as a full-time developer. I
work in the .Net world, but my heart is more in Python. Still, I wanted exposure
to plenty of others and I’m currently in my second class on C++.
What I have noticed in the various courses I have taken at institutions of higher
learning is that they don’t teach anything remotely close to the real world. I
know this is a common claim and people cry out against the undergraduate program
not preparing people for the real world. I get that. But I have always dismissed
them.
The new year is a time to reflect and decide on what to focus your energy. Or,
in some instances, reflect on what projects you didn’t finish. I like to look
back and evaluate what projects from the past year deserve more energy, deserve
to be let go, or need more development before they’re viable.
Recently I started a new side project. This one I’m going to finish all the way
through. Like many people who enjoy programming as a profession and hobby, I
tend to start a lot of projects where I learn something and move on. The project
tends to serve its purpose and then I’m able to tackle something bigger or that
is more interesting to me at the moment.
This idea is different. I want to use it on the regular. And I’m sure others
will too. So naturally I was ready to roll instantly and hit the ground running.
Normally I work on a project with another person, +Clint Shuman, but he hasn’t
been as available lately since his wife recently gave birth to their son.
Recently I was tasked with working on creating a version 2.0 application for an internal tool we use at work. We have a team that creates web content for our clients and this application allows them to compose that web content. In the redesign, we decided it would be fantastic if people could use a simplified HTML editor to generate content for the prompts and various information we output on the web pages. Currently, individuals are required to know (read: ask others for help) the HTML and it makes for a frustrating experience in using something that doesn’t actually expose the HTML to the end user. Those who are using the app shouldn’t be required to understand block elements or how to open a link in a new window. It should be painless and inputting that content should be fast.
Light Table is a programming integrated development
environment (IDE). But it’s a little different compared to what is currently out
there. The author, +Chris
Granger, has focused on what we
are creating rather than getting to the creation. If that concept doesn’t quite
make sense in your head, don’t worry. It’s visual. Think real-time flow of your
program. If you want to watch how a value changes as it moves through your
program you can see it in real-time. Bret Victor gave a great talk on the idea
called Inventing on Principle.
Light Table extends this concept and the roadmap for development has a lot of
nifty fun features of programmers.
I’m just going to admit it up front: I am a complete sucker for a good UI. UX is
important as well but if you give me a really ugly UI and say “But the UX is
amazing!” I’m less likely to be interested. Love it, hate it, whatever, the new
Windows style of interface is attractive. Live tiles are a clever method for
content consumption that is far more interesting than a straight feed reader.
Even though that’s basically the purpose.
So, while browsing the wonderful web one day recently a friend of mine,
Clint Shuman, sent me a
link to an RGB LED grid that acted as a
responsive ambient light for a TV.
Awesome right? I love stuff like this. It’s simple, but it really adds an
interesting touch to movie night. Naturally, we immediately set out to program
our own version.
I don’t have years of programming experience. The time that I devote to learning languages tends to be allocated to Python or something work related (.Net). However, I’m currently enrolled in a course focused on introductory C. At times I feel as though I have stepped into a time machine.
If you’re like me, then you’ve been told your whole life the same thing:
Be good. Get good grades. Get into a good school. Get a good job.
That’s a lot of repetition for the word “good.” But all of those conditions are
not sufficient to produce the final result. This mantra is espoused by parents
and society (teachers, advisors, etc.) as if it’s a logical conclusion:
IF you’re good and get good grades and get into a good school THEN you’ll get a
good job.