I'm working on a project where I'm building an Elixir
Phoenix website to take over specific paths
on a larger website. The sites are hosted on AWS, so my plan is to use an ELB
to send requests for specific path prefixes like /news* to my Phoenix server,
and send any remaining paths to the old server.
After showing a game at a trade show/gallery/festival, I've noticed a problem
where people walk away from a game mid-session. This makes it so the next person
to walk up will start the game half-way through and miss the beginning, which
often includes tutorials or learning moments. To make sure a demo restarts, I
wrote this Unity script that fires an event when no inputs have been received
for a set amount of time:
At work we have an ASP.NET web site that uses the built-in ASP.NET
SqlMembershipProvider. My task was to enable one of our Elixir apps to
authenticate users using their credentials used in the ASP.NET app.
NPM and tell you to install them globally. For some
packages it is okay to install them globally, but other packages are creating a
future headache for you. I will explain the problem with global NPM packages,
how to tell when it is okay, and how to use locally installed packages instead.
CSS makes up the majority of code responsible for implementing a responsive web
site. Every once in a while I come across certain aspects of a responsive site
Hofmann and I came up with a way of detecting
I ran into a head-scratching problem with a pure React component where it was
re-rendering when it shouldn't. The component wrapped up a 3rd party script
which put a button on my site. The problem was that when the button was clicked,
some of my state changed so I could show a loading spinner. That state change
made my component re-render, which broke the 3rd party script by re-initializing
In today's modern web development, much of a programmer's productivity comes from code that they did not write themselves. Much of that code is hosted on GitHub, and less and less of it has any amount of documentation. The most prominent form of documentation is now the README.md file in the project's root.
A few months back I was volunteering at Code Louisville and helping George log into a forum. He had signed up a few days ago, but never logged in. When he tried to log in, the forum gave an invalid username or password error. George had unknowingly created a Schrödinger-ed user account.
I'm interested in the quantified self and I wanted to log data about my car and how I drive. I'm also concerned about privacy, and wanted to keep my data private and not rely on a company or service. Since I already had a Android smartphone, I was able to put together a fully automated system for only about $35!
One of my favorite parts of Git is how it lets you fix your mistakes. One mistake I needed to fix a few times in the last year was having two separate repositories, when they ought to be a single respository. I will present commands to merge a child repository into a parent respository as a subdirectory. The new child repository subdirectory will preserve its history and look like it was always part of the parent repository.
Building a real social network is easier and more rewarding than building the next Facebook or Twitter. Even shy, introverted programmers (such as myself) can build a powerful network in just a few months.
The relationships you build will keep you excited, up-to-date, and alter the trajectory of your career. You can't afford to stay home.
While I was out to dinner last night I decided to pick up a movie on the way home. I opened up my RedBox Android app, and tried to make a reservation. The experience was more frustrating than it needed to be, so I wanted to document the problems with the app's UI in the hopes that they are fixed, and so others do not make the same mistakes.
I've spent a lot of time last year learning my tools better, and I've built up a list of plug-ins for Visual Studio that help me work smarter and faster. All of the plug-ins below work on both Visual Studio 2010 and 2012.
One of the coolest parts of Git is that once you learn it, you will never need to use another VCS. My company uses Perforce for version control, and it can be painful. So when I got to work on a new greenfield project, I stuck everything in Git. That worked great for a few weeks until I needed to begin collaborating with other developers who would only use Perforce. Fortunately, Git has a Python script that lets you interact with Perforce servers using a special "git p4" command set. The tricky part is getting it all set up on Windows where Git and Python are out of their normal Unix environment.
Back in November I was able to attend the Software Craftsmanship North America conference in Chicago. I signed up for the post-conference Code Retreat, which sounded like a fun day of writing code with my peers. During the conference I met many awesome people, including Mike Clement. Mike told me about the upcoming Global Day of Code Retreat on December 8th. Mike said he was going to run a session in Utah, and persuaded me to run one in Louisville.