Blog

Random and infrequent ramblings

Its Official!

A couple days ago, my first patch to an open source project was accepted in the main repository. The program that I'm working on, with the help and patience of my buddy Brit, is a package manager for our linux distribution, ArchLinux. A package manager assists in the installation of applications. Its kind of like an app store for linux (ducks). If you want to install Firefox, you type something like: pak -S firefox.

Archlinux has one main package manager, called Pacman, that is used to install software from the official repositories. It works perfectly for that. Archlinux also has an unofficial repository, that contains files that give installation files for applications that are not found in the official repositories. This allows for normal users of Arch to add install files, called pkgbuild files, essentially extending the distribution's ability to install software "out of the box". If your favorite software package is not the repositories, then simply add it to AUR, so that other users can install it. This has drawn comparison's to FreeBSD's ports and Gentoo Linux's portage system.

Many thanks to Brit again for his help, and hopefully this will begin a future of many patches, on paktahn and many other projects. On deck are a couple features for paktahn, such as upgrading packages, that will make it a prime time replacement for yaourt, the popular pacman + AUR utility. I will keep updates posted here.

→ Read more

MLK Weekend

So it turns out that I really made the most the 3 day weekend. I participated in the Global Synchronous Hackerspace Hackathon. More info on Hackerspaces can be found here, more on Hackathons here, and finally FreesideATL info here. I intended on working on adding possibly openid or oauth to the FreesideATL members web application to make it a snap to login (plus i hate remember user/pass combos). But I had a bit of an issue booting my ArchLinux netbook post kernel update. Apparently there had been a framebuffer configuration change to bring X server resolution into the kernel space from user space... I'm not really sure what the deal is, and frankly i don't care how the text looks during the boot process. After some digging (using lynx since X wasn't working +5 hacker points) I settled on including nomodesetting on my kernel boot line. I really needed to look that up cause I had not the experience nor necessity to ever need to know what kernel mode settings were. So sue me.

I hung out with the awesome crew from Makers Local 256 @ Freeside for a lil bit during the Synchronous Hackerspace Hackathon. The pics from the Makers Local 256 visit are here. The visit was very productive, and we would like to thank them for stopping by.

I made about a dozen commits to my blogging project, mostly in regards to entry composition. I replaced the tinyMCE WYSIWYG editor with a markdown editor, since markdown is all the rage nowadays. I took the opportunity to refactor the database a bit to handle any future transitions to different markup schemes as well. Its getting to the point where more work needs to be directed to the site's stylesheets, but since I suck at doing such things, I've been procrastinating pretty hard on that task. Looks like this week I'll have to devote some time to it.

An interesting issue that I've finally been able to put to rest is in regards to a configuration file that needs to be tracked, but kept getting changed during testing. I tried weird branching schemes, stashing, etc etc etc. I dug deep into the git manuals and found an interesting command option which has solved my issue. Essentially, this was a file that had usernames, passwords, and database settings. Its a tracked file, naturally, as it is part of the code base. But I needed to change it and keep it changed locally, without popping up constantly when I'm checking the repository status. SIDE NOTE: I've found that false positives in the status ouput seems to annoy me more than other developers. As a result my .gitignore tends to be much more complex than i've seen in other developers projects.
The fix is to change the file in question, and then run:

git update-index --assume-unchanged <file>

Engineered. Now the change stays local, and doesn't ruin my clean git status output. Git FTW. Just gotta remember that whenever I change that file I have to add it to the index manually if I want the update pushed, but its a real low traffic file.

Back to the real world, my wife and I observed Martin Luther King Day by watching the Boondocks "Return of the King" episode, Ken Burns Baseball pt. 6, covering Jackie Robinson, and The Hurt Locker. The last one has nothing to do with MLK, but its a decent enough film. And my wife and I built a bunk bed. Nice.

Happy MLK Day!

→ Read more

Hello World

A new year, and new website. This looks to be a promising year for myself and my family. I am on track to graduate this fall, and have several projects that I hope to get going as well. I hope with this blog to document my progress in these aspects of my life as I pursue them this year, and this will return dividends two fold.

  1. I will be very very motivated to not look like a quitter after announcing that I am going to do something. If I put in writing, it shall be done.

  2. Maybe I can drum up some interest in these various projects, get some help, and even some feedback as they evolve.

  3. Extra Bonus: My friends and family get to see the results of those hours of banging away on my computers while they watch TV, play outside, and sleep.

Most of the code that I work on is available on my github account, including this website. So heres a rundown of the current projects, most of which I have started in the past 3 weeks.

JustinBlog: powers this website. I've been fascinated with python web development since I first started looking into the language last summer. Being a web developer, I've been pretty fed up with the verbosity and inflexibility of popular "Enterprise" frameworks. I'm not a big Rails fan, and Django reminded me alot of that, then I stumbled across WebPy. Simplistic and somewhat elegant, I can craft something very simple (like this site), and build up even more complex applications, such as a CMS (this site's goal) or a social network (everybody's dream).

Project Euler: This is a great math/programming site where they present a problem that can be solved algorithmly(?). You can write the programs in any language you'd like, and track your own progress. I've chosen to do the problems in Common Lisp. I've solved the first one already, and will be keeping a project with the accompanying code on github as well. I've heard and can vouch for the fact that solving these problems can be a great way to learn a language.

WetherVue: This a proof of concept web application that uses Google Maps to show data sets that are help locally. Also serves as a useful comparison tool for the V2 and V3 of the Google Maps API.

As I get new project ideas started, I'll update them here. Happy belated New Year everyone.

→ Read more