Posts

  • Looking for work

    Tech job applications often want links to blogs, and portfolios. The only time I was ever any good at blogging was back in the days when I used livejournal, and forced myself. Writing is a lot easier for me than it used to be, but not when it’s a job application. I worry so much about it being right that it’s crippling. I’m not good with rejection.

    For years I managed to avoid it. The last two jobs came simply from networking. There was only a four hour gap between the two, and I had hoped that it would stay that easy, but it hasn’t and I have to put some direct effort into finding work rather than it magically finding me. Really I put hundreds of hours into networking every year so it wasn’t that magical. It seemed magic when it worked though.

    I think I have a lot to talk about right now. Maybe I’ll actually keep up with the blog this time. Hard to say.

  • Starting a business

    About a month ago I started working on setting up a new business. I knew it would be a lot of work, but after a month I don’t even have the basic marketing in place to have earned my first $1. I think I’m almost there.

  • ikiwiki

    I love the idea of it, but unfortunately it looks rather iki by default. I looked into hacking at the templates, but I don’t like the templating system. So I’m going to poke at making it able to use Template Toolkit instead of whatever it is using, and then getting a friend to help create pretty templates. Hopefully a fun process.

  • GO

    I learned to play go tonight. I expected to be destroyed, and I was. I learned a little bit. Maybe next time I won’t be destroyed as badly.

  • finally learning a little bit about hacking

    Having been a website admin I often had to deal with the aftermath of someone hacking a server, but my response wasn’t usually all that sophisticated. About a week, and a half ago someone started leading a “expliot workshop” to work on trying to create new exploits as a learning exercise. The book “The art of exploitation 2nd edition” was pointed out as one of the best guides to actually doing this, and I decided to get a copy. Recently I’ve been trying to seek out fun programming tasks, and hacking always felt rather game like.

  • Hello new blog

    As is common for technical projects I abandoned one solution because it was frustrating to use, and found something else that is new, and shiny, but ends up being more work to setup. I’m using ikiwiki for this blog. It has the misfortune of having one of the most awful default themes I’ve seen in years. I started trying to customize it, but I’m not a designer so I probably just made it look worse. The purple is from a picture of a sunset, and the green is from avocado. If you see this later it might not have these colors any more because I’ll probably change it soon. I picked it because it appeals to my sysadmin tendency to pick whatever creates the least system load. It can theoretically handle slashdot linking to it even with my mediocre hosting resources. I want to write about the tech stuff I’m working on, and have the time to work on it not futz with the website. If people use RSS to read this will they even see the crappy theme?

  • I'm working on fixing this website

    This website has been broken for a long time, but I wasn’t really motivated to fix it because I wasn’t feeling like writing blog posts very much, and the domain was serving it’s other purposes just fine without the blog working. External forces have motivated me to fix it though, and I’ve been feeling more like blogging lately too. I’ve been poking at getting the old blog working, but it looks like it is broken in a way that is hard to fix, and not giving me much debug output. I’m probably going to switch to joomla as I’ve already spent a lot of time learning how to work with it, and it’s actively being developed. In the mean time you can look at my old entries on archive.org.

  • Hackers need exercise

    I was at a bike in movie a few weeks ago talking to another local free software guy when I had an epiphany. At OSCON it seemed that the most popular tshirt size was extra large. Sometimes that was the only size they even bothered to make. However at bicycle events the most popular size is small. Bicycle technology has certainly advanced over the years with better materials, computer aided design, and increasingly sophisticated mechanisms. Still though it doesn’t take that much work to master the basics. Why then has the extreamely tech savvy free software community failed to grok a mature technology that can make them sexy? For a lot of people it actually takes less time to get to get places by bike than by car. Even a locally custom made to your measurements, top of the line bike like this one [1] will set you back less than a decent used car. The gas is free. Actually the obvious money you save is just the tip of the iceburg. As you lose weight hunger decreases, and you spend less money on food. You don’t need a gym membership, or to waste time with one as you get all your exercise doing something you already needed to do. Your health gets better, so you spend less money on health realated things. You will also waste less as having to lug something up a hill tends to make you think small, and lite. Sexy is like a refund. You don’t get it right away, and you have to do a bit of work to get it, but when you do you will know you made the right choice.

    [1] http://www.sweetpeabicycles.com/blog/2007/07/04/introducing-the-farmers-market/

  • Catalyst

    Last night I went to a presentation on catalyst. Catalyst is a web MVC framework for perl similar to rails. How similar? spooky similar. I felt like it was a tutorial on rails from a year ago with the names of a few things changed. Config files used YAML. By default it used port 3000 with a built in web server. “HTML::Simple” instead of “WebBrick”, but the concepts were almost identical. It has been said that imitation is the highest form of flattery, but I think this may soon go beyond imitation. Perl is an older language than ruby with a more libraries, and a bigger developer base. At the moment it is lagging behind largely because of the sucky object oriented model, but perl6 fixes that. Allison Randal (one of the two OSCON chairs) was sitting in the back of the room working on perl6 object code only half paying attention to the presentation. Randal Schwartz the author (impressively good author) of learning perl was sitting next to me, and commented about how much better catalyst was than the last time he looked at it. Maybe in a year perl6 will be out, and Randal Schwartz will have written a book on catalyst. Then it could be a real contender with rails, but I don’t think it is now.

    They didn’t just copy the good things about rails they also copied MOST of the rails deployment headaches. I asked a lot of questions about memory usage, how many requests it could handle at a time, etc. The presenter said that his main app used over 100 megs per process, each process could only handle a single request at at time, and he had three processes running at once. That memory usage is huge even by rails standards. Overall it seemed like the deployment strategy he was using was very similar to techniques used in the early days of rails that I would consider as having been depreciated in the rails community over a year ago.

    Catalyst Homepage

  • My friend's bad day at work

    (19:52:07) friend: Dude, here's a sucky day
    (19:52:17) friend: Lose the keys to the building
    (19:52:38) friend: The mail server in the distant Colo goes doen
    (19:52:47) friend: And your laptop catc0hes
    (19:52:50) friend: Fire
    (19:52:58) friend: All before 10am
    (19:53:00) me: WTF!
    (19:54:26) me: This all happened to you?
    (19:54:44) friend: Yes
    (19:55:08) friend: The company car was gone, so I had to take the old manual pickup
    (19:55:24) friend: It had a flat tire and any empty gas tank
    (19:55:49) me: Where were you driving this vehicle?
    (19:56:11) friend: I didn't get a meal all day
    (19:56:23) friend: Life sucks hard today
    (19:56:29) friend: <sad>
    (19:56:32) friend: To the Colo
    (19:56:34) friend: To fix the server
    (19:56:36) friend: The newest server
    (19:56:46) friend: With TWO failed PSUs
    (19:56:53) friend: BOTH failed
    (19:57:40) me: Shit man
    (19:58:27) friend: Yeah
    (19:58:29) friend: It was just my turn
  • git Linus Torvalds

    On monday I went to what I believe was Randal Schwartz’s first presentation on “git”. Randal Schwartz has more than a few character flaws, but is really really good at presenting technical information. Linus Torvalds personally invited him to work on git documentation.

    Looking around the room I saw a whole lot of the who’s who of local FOSS developers. Not as many as I would expect to see at OSCON, but quite a few. Most surprisingly of all was the unmistakable “Linus Torvalds” himself. He came to heckle Randal, or at times smooth out rough spots. Randal did most of the talking, but in some cases he was stumped.

    “git” is really interesting. Most of the people in the room were software developers who had used more than one software version control system. Several of them expressed the opinion that git seemed to duplicate all of the best features of their favorite version control system without copying the flaws. I would really like to go into some of the details of that, but those two hours were really densely packed with information. I recommend just trying it.

    Since I’m an admin at PLANET ARGON, a company that both does a lot of software development, and has a lot of hosting customers that do software development I was especially interested in deployment issues. With subversion there is a plugin for Apache that lets you do svn commits to a web page, and I wanted to know if there was something similar for git. Randal said that git wouldn’t work well with webdav because of how it does things, and he wasn’t sure how to manage such a thing. At this point Linus stood up, and addressed me directly. He pointed me to a “sourceforge for git”. It uses ssh keys to manage multiple developers using the same user account for git repos. He said though that he hasn’t tried it himself. I installed git, and cogito on a bunch of our hosting servers, but it won’t be an officially supported service until we have a chance to do things like test how much system resources it uses. Ken Brush, formerly of OSDL, pointed out to me that http://www.kernel.org/git/ is so loaded that the page times out consistently.

  • Seasonal bash colors

    Here is a simple little hack to put the holiday spirit into your command line. Paste this into your command line, and enjoy. :-)

    cd
    mkdir bin
    
    cat &gt;bin/prompt_command &lt;&lt;EOF
    c0=\$'\\e'[31m
    c1=\$'\\e'[32m
    normal=\$'\\e'[0m
    pcolor="c\$(( \${PROMPT_NUMBER:=0} % 2 ))" 
    PS1="\${!pcolor}\\h:\\w\\u\\\$\${normal} " 
    let PROMPT_NUMBER=PROMPT_NUMBER+1
    EOF
    
    export PROMPT_COMMAND=". prompt_command"
  • Rocket Science

    Last night I went to the Portland State Aerospace Society meeting. Their intended goal is to launch a small satellite into orbit. I found it really amusing to find Keith Packard say “this is not rocket science” at a meeting about what is essentially rocket science. Though it turns out he was talking about improvements to the X.org build system which has nothing to do with rocketry. As long as I can remember “rocket science” has been a reference to incredibly difficult technology. From what I have managed to learn so far about the project that is a fair assessment. Most of the technologies involved are not completely unapproachable to someone with a fair amount of technical skills, it is just that there are so many of them. Chemistry, physics, advanced mathematics, structural engineering, robotic manufacturing processes, computer science, GPS, radio… I felt accomplished that I understood so much of what people were talking about, yet I didn’t understand enough to contribute much back. I expect that will change soon enough.

    The fact that one of the leaders of the FOSS community was there reminded me of how rich the local area is in free software development. Keith Packard is probably the most significant leader in development of free software for the desktop. GNU/Linux, BSD, and Solaris all rely on decisions he makes. Linux founder Linus Torvalds also lives locally. I realized at the meeting when they were talking about open technologies that they might need to contribute back to, or get help with, that the primary developers for many of them lived locally. So essentially Portland is the place to live if you are an ubergeek.

    Yesterday a customer told me that he wished he could work here at PLANET ARGON. I can’t say that I blame him. I get to work on some pretty interesting stuff here. There actually is some overlap in the tech used by PSAS, and PLANET ARGON. We just don’t use it to launch rockets, but perhaps someday we will.

  • pid environment

    Yesterday while I was working on rc.local and ps documentation for the PLANET ARGON wiki I was distracted by the many many options to the procps version of ps. Even with all the options I had difficulty displaying exactly the information I wanted. For example displaying the environment that a process was running in was a BSD option, and the output formatting I wanted to use with it seemed to be a POSIX option that would kill all output of the environment.

    It turned out that there was a simple solution to this. Write my own tool. It was simpler than that sounds. The /proc filesystem in linux is both nicely organized, and full of useful information.

    Here is the full script I came up with.

    #! /bin/sh
    #
    #### pidenv.sh####
    #
    # Get environment for a process id from proc filesystem, 
    # replace null characters with newlines, and
    # print to the screen
    #
    cat /proc/$1/environ | gawk '{gsub("\0","\n");print}'

    A useful mini app with just one line of code. Just run that with the pid numer after it to get the environment of that pid displayed just like it would be if you were at the terminal, and typed the “env” command. Thank you /proc. I would have thanked the authors of the linux implementation of /proc, but 5 minutes of google didn’t give me the information I was seeking.

  • I love this place.

    Today is my 5th day of work here at PLANET ARGON, and I must say that it is the best job I have ever had. Just before I started here I had a temp job that could have easily become permanent where I heard people talking left, and right about wanting to quit. I practically dreaded getting up in the morning. This place is different. I wake up happy every morning. I get to work on exciting technology every day. The people are a joy to be around, and we eat lunch together in the park, or go out to eat, and drink after work. I remember being thought of as the smart one in the Talented, And Gifted class (TAG). I was the one who won the science bowl, Invention Convention, and the World Geography Olympiad. Here I feel like I am around peers.

  • Modern twin powers Activate!

    Yesterday David did support, and admin work for PLANET ARGON all by himself. Today he has a team.

    It can be really amazing how much easier it is to get things done when you have a team instead of just one person. For example ever try to move by yourself? With a great deal of determination, and clever use of tools a single person can move a couch, but it is so much easier to just have a second person.

    David, and I have been talking about how we can improve things for everybody by working together on some projects that are possible with one person, but so much easier with a team. We are going to rearrange some furniture, and I think everybody will be happy with the results.

subscribe via RSS