Jan 17
Git Going
In my spare time, I like to write code snippets and samples. I like to test an idea here and there without writing something all the way to fruition. It gives me the freedom to tinker and and let my imagination wander. Once I start working through a complete solution that will eventually need support for a growing community, I start to lose interest. It’s the act of discovery that is what entertains me.
So I’ve collected some useful snippets and some garbage snippets. I’ve never bothered to put them in a repository because they were just small bits of code that were not intended to retain a long lifespan. When I got my Dell Mini10, I started writing snippets on that machine as well. Since I did this away from home, I couldn’t rely on my fileserver to be always available. I needed an easy way to organize my codebits so that I can see them on multiple machines.
I decided it was time to set up a repository, which will go nicely with my new domain. I set out to setup a server similar to GitHub but found that wasn’t as straight-forward as I had hoped. I asked a few questions in #git (irc.freenode.net) and received a few mixed answers. I ultimately was getting the following error:
Initialized empty Git repository in /tmp/test/.git/
Enter passphrase for key ‘/home/s1n/.ssh/id_rsa’:
fatal: ‘/test.git’ does not appear to be a git repository
fatal: The remote end hung up unexpectedly
No matter what I tried, I always ended up with an error along those lines. Then I found this guide, which has a great rundown for “impatient” users. Turns out, that path after git’s ssh:// URL is the path. That is ssh://someuser@server/path/to/repo.git has the repo.git in the /path/to/ folder on the server hostname available as someuser. I made a symlink in / to the repository folder and everything was ready to go.
Now I should be able to run my own git-daemon for my miscellaneous codebits and thoughts without having to publish them in a public repo. Maybe in the future, I’ll install a GitWeb browser, but right now, these are really considered private thoughts and I don’t think I want to share them.
tags: git, snippet, tinker
No comments
Jan 1
Decade In Review
Looking Back
Today is the first day in 2010 and the second decade in the new millenium. Tons of events have transpired in the last 12 months and especially in the last 10 years. In usual fashion, I like to go over what I did/didn’t do this year and what I want to do next year. Well, since it’s the last day of the decade, lets extend that and also cover what I did/didn’t do this decade and what I want to do next decade. This may be a long post and not entirely entertaining if you don’t personally know me.
College
I wasn’t really sure where to start with this, so I guess I’ll start with chronological events and just drive by at 80 MPH. Let’s see, in 2000, I graduated from high school and went off to college. Lots of things happened while I was at college; I held 3 jobs, dated my now wife, and learned a lot while I studied. I graduated as a UPE (national computer science honor society) memeber in 2004. I lived in San Antonio, dated my wife while she was in California then after she transferred to Austin. I eventually proposed to her just before graduation (2003).
Employment
I worked a number of internships while in college. I held a position as a tutor at the university. I tutored students on how to write decent Java code because I did well enough in the introduction course that the instructor knew that I would be able to help my fellow students. That was fun but had to leave the position to take a position as a software engineer at an insurance provider. That was mostly a drag. I worked with a guy who couldn’t stop telling me how the previous guy he worked with could do no wrong. I don’t recommend working in a position where you report to a person outside of any technical experience (my boss was a financial person). I was let go because I had to work part time for school. I took some more time off and eventually took a position at a contractor for a government contractor. I wrote mostly C# 1.0 code, which was somewhat entertaining. My boss a nice guy but always wanted me to take a database course even though I repeatedly refused to do so. He didn’t do a very good job because the company went bankrupt on Valentine’s Day in 2005, just one month after our wedding.
Marriage
My wife and I were married on January 15, 2005 in Austin. We went to Hawaii for 9 days for our honeymoon. We had a nice ceremony; the whole family helped throw a wonderful wedding. Everything went off without a hitch. The nice thing about getting married in the new millenium is that everyone has a digital camera. I think we received about 1000+ photos from everyone including our photographer, parents, estranged extended family members, and friends. I intended on posting some pictures but that effort kept getting postponed.
Losing my job was a nice way to start our marriage. We used all the money I had saved for the honeymoon to survive until I found my current position. In May 2005, I took a position at a government contractor doing mostly C++. I primarily work with Linux, so that makes the job more enjoyable. Unfortunately, it’s a government contractor and the code is typically boring. I would say by C/C++ skills have greatly improved over the years; I am fully confident in my ability to work on very large codebases (2 million lines or more), especially in C/C++.
Housing
In the last decade, I’ve lived in 6 apartments and 1 dorm room. In April 2000, the dorms at the university were shut down and we were prevented from accessing our rooms due to mold issues. I did manage to snag my little black book so that I could call my future wife when she got home for the summer. One of the dorms I lived in was a true batchelor pad; we wrecked the carpet, it was tiny, and there were always loud neighbors. Another apartment was a brand new and luxurious. I hosted many BBQs and social gatherings. In September 2008, my wife and I bought a house in north Dallas. We really love this house and the neighborhood; I am currently trying to repaint a majority of the interior.
College, Again
Shortly after moving to Dallas, my wife started pursuing her MS in Accounting (2006). She procrastinated taking the GMAT so she had to stop attenting in 2007 until she could take the test. Later in 2006, I also started pursing a MS in Computer Science (Intelligent Systems track). She finished her degree requirements a few weeks ago and will start the CPA exam prep in January. I am 9 hours away from completion (6 are thesis hours) and on schedule to graduate in the Fall 2010 semester. Graduate school has consumed much of our lives for the last 3 years, so we’ve been more than busy with that.
Running
Also, after moving to Dallas, I became obsessed with running. In fact, it has become my only hobby. I first flirted with the idea of running when I lived in the swank apartment in San Antonio (2003). I would do 2 laps around the complex, which was 1 mile, or head out of the complex to add an extra mile. After moving here, I regularly did 3-5 miles 2-3 times a week. I ran my first 5K in July 2006 and finished in 31:06; the fastest 5K I’ve done since was about 25 minutes even. I’ve run 10Ks, a 20K, half marathons, did the training for a marathon (though didn’t actually do the event), and a few oddball distances in between. I’m not very fast, so I strive to beat my best times every time I run in a race. Running is the most challenging physical activity to do and I enjoy pushing myself.
Family
Our family is 5 members strong, by some definition of members. We started out with Birdie, an obnoxious cockatiel who’s now 12. In January 2007, we adopted another 2 year old cockatiel named Rose. In March 2009, we adopted a lovable Boxer/Pitt mix named Alexa (Lexa for short). She has proven that dogs are a man’s best friend. We had a rocky start; she chewed up nearly everything and had energy to spare. She’s matured some and no longer has a chewing problem. I take her to Home Depot and for exercise on a regular basis now. We’re looking into CGC training courses now so we can take her to Scottish Rite and brighten some faces.
Obsession With Technology
Over the years, I went from being unable to write a poker game in TurboC++ to managing 300K lines of C++, a subset of the 2 million lines of codebase. I’ve learned a bunch of languages and technologies, everything from Perl, to Javascript (my knowledge of this is way outdated now), from databases to Hidden Markov Models. Learning new technologies and expanding my understanding is what I do best.
While I was in college, I studied lots of interesting topics. I worked on an independent study aiming to study how the Linux kernel syscall table works and how to hijack it. I thought I enjoyed parallel processing above all other topics but it turns out that I was more interested in Intelligent Systems more because of their increased difficulty and lack of progress (compared to other topics). In a middle level course in 2002, a professor turned me on to Perl, which is where my obsession started. I have to admit though, other scripting languages may have captured my interest because of their flexibility compared to C and Java (then 1.4). I’ve fiddled with other loosely typed languages and always keep coming back to Perl. In 2009, I joined the community effort to revive Perl 5’s image and joined the Ironman Perl Blogging Challenge. The frequency of my posting has mostly been hampered by my school and work schedule, though I still enjoy taking about it. In 2009, I also attended my first conference, YAPC::NA 2009. It was fun but would have been more enjoyable if I were an active contributor.
Back in 2000, I updated my personal university page by SSI and my (then) trusty pico text editor. I eventually salvaged some junk equipment and started running a file server. While working for the insurance company in 2002, I salvaged an old Pentium2 machine and turned that into a router, which I still use today. I turned the fileserver into a webserver and registered s1n.dyndns.org. I used that address for 8 years.
When I moved into the dorms after starting college, I was using a prebuilt HP machine running Windows 2000. I met a few guys in San Antonio, through Quake 3, who introduced me to Linux. I was so convinced that it would show me a new technological world, that I installed Red Hat 6 after attending the universities ACM chapter meeting. They kept showing me more about Linux and I eventually installed Slackware. I learned much from using Slackware for a year and eventually started experimenting with new distributions. Back then, there were only a handful of distributions, but I tried them all. Eventually, a friend of mine introduced me to Gentoo in 2003 and I never looked back (except for my newfound appreciation for Arch).
The Incident
So the last thing I want to mention that happened in the last decade is something I have yet to address here. In 2001, I was arrested for Breach of Computer Security. Sounds worse than it is, but it was basically my roommate telling campus police that I had hacked his network share. He also tried turning me in for posting Tool lyrics in my network share and claimed I was a member of a hacker super group responsible for stealing credit card information. What really happened was I broke his network share password and he already detested me. Then someone I knew online decided to email me credit card numbers he claimed were real; I didn’t believe him but somehow the email ended up on a floppy. I don’t remember doing that specifically, but the police seemed to focus on that, so I did what I could to help them find the guy who sent it to me. I turned over a check he sent me for responding to emails with a template response (seemed harmless then). They charged me with Breach of Computer Security, which was a class B misdermeanor; it was eventually adjudicated (and dropped). It didn’t stop me from getting my current job and I had to disclose it to my employer and the government, so I don’t feel compelled to keep it to myself anymore.
Looking Forward
So what do I expect out of the next decade? In 2010, my wife and I will be attending our 10 year high school reunion, though high school is fairly meaningless to me since I’ve been in college for 8 years now. I might finally persue a PhD but only if I do so full-time; part-time grad school is a test of your patience and perserverence.
I am interested in finding a position that allows me to contribute directly to an open source project, such as the Linux kernel. I took my current position for the stability and availability. I would like the next position I take to be more lucrative, riskier, and more on the fringes of technology. I am not the type of person to stay in one position for too long and 15 years in one position strikes me as stagnation, which makes employment elsewhere difficult.
My wife and I would like to have a child or two. We have been postponing it until she finishes college so we aren’t negligant. I think I would make a good father but I think my wife doubts her ability to be a good mother. I’d rather have a boy because I want to avoid the heartache of watching a daughter start dating.
In summary, I’d like to tackle my Beta List more. Specifically, I’d like to travel the world more and run an ultra marathon (at least 50K). I am hopeful for the next decade. The last decade had it’s ups and downs but was generally a good 10 years. As long as we chase things that make us happy, we’re hard pressed to have a bad decade. I made the same resolution to not make resolutions this year so I cannot be disappointed. I have a feeling that the teens will be better than the digital decade.
Happy New Year and New Decade!
tags: busy, digital decade, happy new year, history, holidays, resolutions
No comments
Dec 24
Times, They Are A Changing!
Depending on how you got here, you may have noticed a change. I have been putting this change off for years and finally decided that now was the time.
I bought a domain name (two actually).
I am now the proud owner of voidreturn.com and voidreturn.org. Right now, I am using the .com because of the name recognition that comes with it, but I think the .org sounds better. I even setup Google Apps so that I can have a mailserver without running the server (I highly recommend doing this unless if you have a personal site).
I am still running my own webserver because I just don’t like the idea of not hosting my own stuff. Internet connections are cheap and fast these days; I have 15 Mbps down and 3 Mbps up, more than a personal site would ever really need. I realize that it’s not as reliable and can be more time consuming, I’m a control freak (why do you think I still run Gentoo?). Over the next year, I will most likely upgrade my router to a 1U server and upgrade the storage space in the file server to count in TB instead of GB.
Also, you may have noticed that I updated all of the old links and installed a broken link checker. Broken links now appear with a strike-through. Even the name of the blog has been updated along with an apropos quote by Emile M. Cioran.
I’ve been using the dyndns.org address for nearly 10 years; it’s sad to see it being phased out. It will still be available but will basically redirect to voidreturn.com. Nothing is static, everything is evolving.
tags: busy, moving, upgrades
No comments
Nov 27
Thanks For The Giving
Today is the American holiday of Thanksgiving. Today, some people are thankful for their friends and families, some people are thankful for their big screen TV, and some have nothing to be thankful for. Today, I let me follow in this shopping holiday tradition and extend my thanks.
I am thankful to everyone who has contributed to an open source project. Your contributions have assisted in completely upheaving the software development model. I am thankful to the people behind the wonderful, efficient, and flexible Linux. I am thankful for everyone who has every contributed to Perl or uploaded a module to CPAN. I am thankful for everyone who has contributed to GNOME, KDE, boost, python, and so many more wonderful products. Without you, we would all be using Unix or Windows, and neither of those sound appealing.
My livelihood has been made possible from the contributions of everyone who has ever contributed to an open source project. You have enriched the lives of many budding software engineers. You have shown business-minded people that there is such a thing as a free lunch. You have changed the world and history will look back and thank you for opening our minds and helping everyone look beyond monitary rewards.
At the risk of being flooded, I want to extend my offer of one free beer (or a cup of coffee if beer isn’t your thing) to anyone in my area if you have contributed to open source. A few beers is the least I can offer for people who have made my career possible, widened my perspective, and generally ignited my passion for software.
Thank you.
tags: career, endless possibilities, open source, thankful
1 comment
Nov 18
Unmonger
I’ve often wondered what places someone in an open source community. Is it advocating the software? Openly contributing source code? Are users members of the community? I’m not sure if the definition of membership is clear to me.
You’re probably reading this entry on the Perl Ironman Blogging challenge. I joined the challenge over the summer when I had much more time to devote to active participation (no classes). I have failed to leave Paperman status since the semester started.
I haven’t contributed much. I haven’t been able to clean-up and upload my lingering perl projects to CPAN yet. I haven’t contributed to fixing bugs in CPAN modules or perl5 itself. I have flirted with contributing to Rakudo over the last 18 months but have become consumed with my graduate work as of late. I have been to only 1 YAPC::NA event, which was this summer at YAPC::NA 2009.
I don’t write gobs of professional code using Perl; 95% of my professional code is C++. The last professional Perl project was to recreate Test::Harness and TAP::Formatter to meet my needs, which turned out to vary widely. I’m not a sysadmin, so I don’t get to use Perl as a glue to hold my universe together. I don’t have 14 million repuation points for Perl on StackOverflow.com.
I don’t wax philosophically about the Great Divide between Perl 5 and Perl 6 developers; I am both, so that would be weird to argue with myself. I love Perl, both 5 and 6. I love all the great things people have contributed over the many years.
To put it bluntly, my graduate degree greatly eclipses anything I would like to contribute to the open source community, Perl included. I take a few hours a week to run and that’s about all I get for free time.
I did restart DFW.pm, now referred to as Dallas.p6m. Dallas is blessed to have a few significant community members, so I at least try to bring them together for coffee once a month. I’ve held a few mini-hackathons, though attendance has dropped, likely due to the time of the year.
So where would I fit in this Community Ball of Mud?
tags: dallas.p6m, frustration, misery, overtime, perl, perl6, school
2 comments
Nov 7
The Fallacy of Industrial Expectation
I am what you would call a “professional student”; I have an Bachelors of Science in Computer Science, I am finishing a Masters of Science in Computer Science with a focus in Intelligent Systems, contemplating a PhD, and I have been a software engineer for 6 years now.
Recently, Joel Spolsky published yet another article about how he feels the universities of the world are churning out students incapable of doing the daily duties of software development. I’ve read other scathing articles about academia. I’ve even responded to many comments similar to “you have a degree but don’t know how to use ToolX or program in LanguageY.” These criticisms always irritate me (and strike me as originating from someone who begrudges those with degrees), so I want to set the record straight about academia. There are 2 simple points I want to get across:
- The university’s primary concern is to teach you core knowledge and how to obtain new knowledge in any field.
- Computer Science is a division of Applied Mathematics.
It’s that simple. At no point is it the university’s responsibility to teach students an arbitrary tool or language that the industry is consistant in its opinion. I read this really great response to his article that echos many of my complaints about this misconception.
Joel often comments that universities are trying to teach a particular language because it’s what the industry does or because MIT does it. That is wholly incorrect. The only reason why a university favors a particular language is so that the professors can focus on teaching towards and grading just one language, as that greatly simplifies their job. The choice of Java or Python is because you can express ideas simply and straight forward. The point isn’t to teach a language but to teach an idea expressed in a language.
If my undergraduate university had taught me specifically how to use CVS, that skill would essentially be wasted. Instead, they teach how versioning control systems work so that I may either implement one or just use one in my day to day job. Which sounds like a better idea in the long run?
Now keep in mind that CS is really just a division of Applied Mathematics. If you haven’t come to understand that, then you do not truly understand the field. In fact, the original “computers” were humans who computed mathematic equations.
Sure, most undergraduate assignments seem simple in comparison, but it’s because they don’t want to teach the peripheral tasks. Those tasks, such as testing, working in teams, and the latest “agile” techniques, are unrelated to the core understanding and vary widely within the industry. By understanding the core concepts, everything else is an extension of your existing knowledge.
If my university had taught me how to use FogBugz or how to write Perl TAP tests, I would have been looking for another university. My graduate school has yet to require I use a language or a tool and has yet teach a specific language and a tool. In the long run, that makes me a more adaptable developer and far more valuable to my employer.
tags: misunderstanding, school, training
4 comments
Oct 31
Pump King
I am now a PumpKing. No, not that kind of pumpking, this kind:


I stole the Perl Foundation logo and created a stencil from it using GIMP. It took me approximately 3 hours to create that pumpkin.
Happy Halloween!
tags: arts-and-crafts, halloween, perl
3 comments
