Felix Crux

Technology & Miscellanea


Tags: ,
View Comments

Well, it's certainly been a long time. The past months have been hectic, stressful, confusing, and therefore very interesting. Some of the things that have been going on:

  • Minor changes to the back-end workings of this site, some improvements to the reference library.
  • Transitioned from my former role with the Payments group at Amazon.com into my new one with the Software and Video Game Downloads team. I greatly enjoyed my time in Payments, (enough to want to stay with Amazon once my internship was technically over, obviously!) and I am very excited about my new team as well.
  • Did some more photography.
  • Went on a short but fun hiking trip up to Cougar Mountain.
  • Read this paper and have been amazed at how differently I think about interface design as a result.
  • Started learning about Android development (the cellphone kind).
  • Started my distance-ed course in Cognitive Science, which I'm very hopeful about.

Of course, there's a whole lot more that I don't even remember.



Tags: ,
View Comments

It seems as though I'm only really getting time to work on the site on weekends, which is why this post is coming a week after the last one announcing a new feature. In any case, in addition to some behind-the-scenes improvements, I have added photo galleries, with some of my favourite photos. The galleries are a subset of the library, and can be found there.

This knocks another feature off my list of things I want the site to support before I consider it done. The others are commenting on blog posts, and possibly a way to get new posts via email, rather than RSS (I have noticed at least one RSS-to-email gateway in the logs, so obviously someone wants that), as well as a decent search/browsing system for the reference library.



Tags: , ,
View Comments

I am afraid that I have to admit that the development of this site has until now proceeded in what any programmer must consider a state of sin: it was not under version control. Sure, I had periodic snapshot backups, but forget about versions, branches, and reverts.

The reason for this is that I was under the mistaken impression that my VCS of choice, git, made it difficult to set up remote branches. I think my confusion stemmed from the fact that it is somewhat tricky to set up public-facing ones with good commit-access control etc (which is why GitHub is so great).

Now that I looked into it more, I find it's actually tremendously easy, and I've got a really great work-flow set up: I have a master repo on the server, a development repo on my laptop, and another one in the directory from which the site is served. I can make changes on my laptop (and thanks to the magic of makefiles and m4 macros, keep a separate dev config file), and then push those to the master repository. When I'm ready to launch, I just pull them to the serving repo and run a make prod.

Setting all this up was surprisingly easy. The first step is to set up the master repo, using git --bare init. This initializes an empty repository, additionally specifying (via --bare) that git need not bother with anything but the repository metadata itself, and can ignore the actual working files. The two client repositories can then either be cloned from this master one, or if one of them already contains data, simply add the master as a remote branch. Pushing and pulling from one repo to another is now a breeze.

As a result of this exciting development, I've gotten around to fixing up the reference library somewhat, although it still lacks any kind of searching or sorting, not to mention pagination.