Ionrock Dot Org

by Eric Larson

My Weblog

MySpace Hacking

This weekend, I took a couple minutes to start making an actual MySpace "parser" of sorts. Mainly I am just scraping for the show list of bands, but I have seen other scrapers that have gotten things like a comment feed and friend feed. My goal is to create a nice page that lists all the tour dates of bands I like and allow others to sign up and do the same. I will also try to support customized RSS/Atom feeds but, no one uses that just yet so there is no hurry on that front.

I am using BeautifulSoup to parse the page. This is a really great library because it takes care of crappy html and makes it somewhat manageable. The problem with MySpace is the html is a nightmare. By the way, when I say it is a nightmare, I really mean I dreamed about the nastiness of their crappy code.

In related news, I read this article on being "Web 2.0″ that seemed to only egg on my frustrations with MySpace. The author points out that in addition to interesting uses of AJAX, Web 2.0 has really been about APIs. I think this is right on. The concept of web services has always been of interest to me, but the implementation always feels very kludgy. Things like screen scraping, on the other hand, is simple, even if it does force a lesson or two in regular expressions.

Making screen scraping essentially easier is the new RESTful services and I really like it. Designing an interface is not about writing a WSDL file and registering it with a UDDI service. It becomes simply creating a nice URL that you can depend on and writing the app to hand out data in many formats. TurboGears does this nicely with its JSON filter and there are a million different XML examples. After talking more with Jesse on the subject, I think I will definitely be looking into how to essentially keep all my "design" in an XSLT template and leave my application to simply use consistent XML content.

I know none of this is really new, but I think it suggests a new way of thinking that has been brought about by the web. Previously, application developers paid close attention to handling many cases with applications and the result is things get very complex. Now, developers recognize that handling every case requires more work than is profitable. The result is to create effective APIs that can be used to handle simple tasks. Essentially, this is like taking the Unix philosophy to the web through services.

I think it is rather silly that MySpace is one of the most popular sites on the internet when it was written in Cold Fusion and cannot write decent HTML to save its life. It just goes to show that good technology means nothing if no one uses it.

Posted Sun Jul 30 19:47:04 2006 by Eric Larson

Interesting Management

I read an article on Joel on Software last night that I thought was kind of interesting. Joel went through his first spec review with Bill Gates. What was interesting was how Bill Gates would question the person to primarily find out if the person had their bases covered. As simple as this is, it really made sense to me. The one challenge in watching over managers and employees this way is it could be very time consuming. With that said, it seems like a very useful technique for assessing a person's understanding of a problem or project.

To apply this to consulting projects, I think a large part of what happens when looking at different potential jobs is similar. I am trying to get an understanding where they are in the process and what aspects have been established and what still needs to be done.

This kind of strategy is pretty obvious, but I am finding that sometimes paying a little closer attention to the obvious can be surprisingly beneficial.

Posted Sun Jul 30 19:15:16 2006 by Eric Larson

Blogging and Impact

I have noticed that the people who seem to making the largest impact on technology fall in two basic working categories. Either the person works as a consultant/contractor for themselves or they work at a large well known tech company. In both cases, I think the differentiating factor is the person is responsible for thinking more than anything else. A consultant type has had the opportunity to establish a business around something he/she is passionate about. The big company employee is able to fill the role of researcher for future endeavors. I have a feeling that my preceived notion of what these folks actually do during the day is a little skewed. I hope one day I might be considered a person making an impact. Until then I am just going to be learning.

Posted Sun Jul 23 21:57:14 2006 by Eric Larson

A Little Lisp

Over the weekend I took some time to get AutoMap running from Emacs. I knew this would not be difficult, so it seemed like the perferct project for a would be lisp hacker to start with. Unfortunately it was a bit too easy. I managed to write the functionality two ways. The first involved getting the current buffer file name and then starting an AutoMap process. The second way was call the compile command (M-x compile) with AutoMap as the compilier. I still had to get the buffer file name, but all the output and buffer creation for the log I got for free. In the end I used the second solution and added my own keybinding of C-c C-w C-w (the two C-w is for WebWorks of course) to start the process.

What struck me was how easy it was to make things happen in emacs. The documentation is really nice and testing things out is almost as simple as in Python. The negative side of this adventure is I really was only learning about Emacs Lisp and not necessarily edifying myself on the amazing lisp language.

In some ways, I got the impression that lisp is similar to Javascript. I know, I know, this is probably heresy to say. But the truth is, I have seen a lot of Javascript lately and it is extremely flexible. This makes it complicated at times, but overall, it become possible to adapt Javascript to other programming styles. Prototype and MochiKit are the obvious examples of this. Lisp seems to do a similar thing in how flexible it is with its functions, lists and general syntax. You get the feeling that you can just type a few words and make some magic happen. It is not at intuitive as Python and I don't feel as though I get to use my previous understanding of application design, but overall, lisp felt very natural.

My next step of course will be to delve into the wealth of lisp web frameworks and see what I like the best...

Posted Sun Jul 23 18:40:51 2006 by Eric Larson

Hosting issues

I keep running back to this issue in my free time and I am pretty sick of it. But, before I get too ahead of myself, I should mention I really enjoy programming. I enjoy it so much that at times I just don't get enough of my programming fix at work. The resolution is to program at home. Recently I made a photo gallery tool for Lauren to upload funny pictures for friends. It is all very simple, but I have enjoyed working on it because it is simple and functional.

Now, I would like to do more of this kind of programming. I would like to make my own personal aggregation page that I can add things like blogs or small applications. The problem is I don't want to do this in PHP. At the moment my web host does have Rails available, but I enjoy Python more than Ruby at the moment and it doesn't make sense for me to invest more time into Rails than I already have. My web host does have Python but I think it is version 2.1, so that is out.

My only option is to change hosting companies. I would like a hosting company where I can run something like cherrypy or turbogears along side a simple php site. I have been looking at Westhost (formally python-hosting) but they have rather strict limits on the amount of long running processes you can run. I am cheap so, only the minimalist account works for me! I keep going back to dreamhost, but you have to pay up front and their python version is at 2.3. This isn't too bad considering they give you a full hard drive of space, multiple shell/ftp accounts and unlimited domain hosting.

My other option is to get a VPS -type system. This does appeal to my desire of one day understanding more about apache and general linux sys-admining. Unfortunately, my fear is that I would have to actually understand how a mail server works. That fear alone makes it a pretty unlikely solution. Along these same lines, I have thought about just running a box at home. This solution isn't too bad, but I don't currently have a box and the whole email side of things is still an issue. With that said, I don't get email for ionrock.org anyway, so going from no email to no email doesn't really bother me much. I do have a few laptops I could use for it, but honestly, that just feels lame.

So far I am leaning toward biting the bullet and just getting a webfaction or dreamhost account. I know webfaction will handle my basic needs and although limiting my development to one running process may hinder my software design a bit, it might also make for a small but challenging issue. On the other side of things, I've yet to create an actual application to run on my long running process and when comparing features between dreamhost and webfaction, dreamhost definitely wins.

With these pressing issues in mind, I have also looked into PHP frameworks, hoping I could find something helpful enough to just stay put or turn the tide to dreamhost. CakePHP was and well designed, but there was little mystery how it worked and it felt like it was written by a PHP developer (which is probably was). What I mean by this is that most data structures are kept as arrays. This is probably best of course, but it is more fun to make your own iterable objects and overload a few operators. I think I should also give Symphony a try, but I don't know when that will happen.

One thing is for sure. Things could be worse!

Posted Wed Jul 19 18:46:26 2006 by Eric Larson

Getting Political

After reading some blogs, I noticed a trend of technical people blogging about political issues. I am not a very political person and do not believe my own poltical ideals should be available for public consumption. The reason for this is because I have a real problem saying something is right or wrong in the political realm because rarely I know anything close to the full story. I am not saying I don't take a stance, but rather, I don't make a point to proclaim my stance on issues that do not involve me because they do not involve me!

I am not arguing against activism, but rather, unpassionate activism. If you must speak about political issues (again this is fine by me), please take the time to do so in a way that truly supports your argument. If you can't do this, make sure your comment reflects your lack of research, so others do not take your opinions/rants beyond your intended impact.

Again, I want to be clear, I am not against activism. In fact, I am for it. If you believe in something and want to fight for it, then really fight for it and do not get in the way by providing more noise with rants that have no real content.

Posted Sun Jul 16 18:58:03 2006 by Eric Larson

Weekend in Review: Blue Cheer and Local Bands

This past weekend Ume played a show and it was pretty good. I got a chance to see some really good local bands, which is always fun. I am really a sucker for good local bands. I don't know why a local band appeals to me, but sometimes I think it is because eventually we could be friends. It sounds a bit cheesy, but having "band" friends is really fun because you get to watch each other play and get better. You also get many ego building benefits such as a nod when you walk in the door at the show. I don't think we will be starting any band relationships with the bands we played with, but you never. The drummer of the last band was pretty cu... just kidding.

The next night we saw Blue Cheer, which was a pretty crazy experience. For one, I was very tired, so I was not in the mood to be terribly open minded. This can be good at times when I am trying to be objective, but it mostly just makes me wish I had enjoyed myself more when I had the opportunity. Blue Cheer was really good, but they were a bit more blusey then I anticipated. My impression was that they were more along the lines of a black sabbath or zepplin. In actuality, they were just a sixties blues band. I used to like this sort of thing when I was younger, but I got pretty burned out on it. Blue Cheer did make me remember what I liked about sixties blues, so in a weird way it was a walk down memory lane.

The two locals that played were also very good. One was called The Black Angels. They reminded me of the Pychic Ills, but with a different dynamic. We bought the record and I am excited to listen to it. It had really great cover art and should be a fun record.

Posted Sun Jul 16 18:11:07 2006 by Eric Larson

Listening to The Argument

Lately I have been listening to the most recent Fugazi record, The Argument. If you are unfamiliar with Fugazi, they are truly an amazing band. Fugazi is, in fact, how I became interested in punk music. I had 13 Songs on tape when I was a kid (I think I was 11 or so). When I heard it, I was blown away and listened to "Waiting Room" over and over while skateboarding. I always loved Ian McKaye's voice and as a kid I always wished I could find a "faster" Fugazi. Eventually I found Minor Threat and that was it. For those who don't know, Minor Threat was a band from DC who coined "straight edge" and more importantly, established the concept of punk as rebellion with responsibility (that last statement is my own by the way, so if you go up to your punk friend with a mohawk and mention rebellion with responsibility, you might get funny look). Minor Threat was fronted by Ian McKaye, who later started Dischord Records and essentially one of the most truly punk people I have ever heard of.

History aside, I have always seen Ian McKaye as a pioneer in punk music because in addition to his rebellion against establishment, he dedicated himself to humanity. When I first saw Fugazi play, kids were trying "mosh". He actually stopped playing and told them to stop. The reason for asking them to stop was not that he had anything against moshing. What bothered him was that he saw that others at the show were not able to enjoy things because they were moshing. This happened a few times throughout the show and someone ended up spitting on him. Ian responded by informing the person that he was a human being and that no one deserves to be spit on. The spitter was escorted out and returned his money for the show.

Fugazi has also been a great example of how to tour and be a band. When I first read about Fugazi in Transworld Skatboarding, they mentioned that they always kept the ticket prices low. Sure enough, when I was old enough to see them, the ticket was only $8 and I believe some of that was a service charge. In order to keep ticket prices down they don't have tour managers, booking agents or buses. They take a van or two and have specific plans on how to pack them (I saw the actual sheet of paper with the equipment placement specification) along with setting up and breaking down equipment. The guy that set up the show also mentioned that Ian would call him a couple times a day everyday for a few weeks before the tour. Overall, they are just great examples of how to be in a great band.

The whole point here is that sometimes after listening to a band like Fugazi and seeing the example they set, it is good to compare to see how you are doing with the peripherals of being in a band.

Posted Wed Jul 12 21:00:26 2006 by Eric Larson

Get out of the way, you're "blogging" the vent!

First off my apologies for the absolutely ridiculus and plainly stupid title. I feel the need to vent off some thoughts, and yet, I feel I can't say a word. So instead of rambling on, I will take a minute to discuss my simple and unimportant plight.

The essence of this problem stems from a questioning of one's own self understanding. Sometimes, you want to say something, but that "thing" you want to mention just isn't clear. Part of the lack of clarity has to do with knowing yourself and realizing your imperfection and inexperience. Speaking out against or for something simply because you have some "feeling" just doesn't make a lot of sense when you can't even articulate your thoughts to yourself! You know there is something to be said, but since you can't say it to yourself, you figure whatever it is must not be good to say. The real gotcha here is that in these cases, without understanding the over arching issue or principle, it is impossible to go out on a limb and take a chance in the name something you believe.

Essentially, I can say that I am frustrated and tired. I cannot though say why, which is extremely frustrated. I think in the mean time I plan to just put my head down and see what happens. The worst that can happen is I gain some crazy zen knowledge that I found peace admist chaos or something equally meaningful that would make for a great fortune cookie.

Posted Mon Jul 10 00:50:30 2006 by Eric Larson

Quick Usability Rant

I read on planet gnome this article on usability and GNOME 3.0. I will be totally honest. I did not actually read the whole thing. I skipped most the content because it begin with the stupidity that is the "spatial" metaphor. Research aside, I have a real problem with the concept of a "spatial" desktop because it suggests that we simply want to move our real lives onto our computers. The concept of tying real world actions to actions on a computer doesn't make the computer do any real work. Sure we have to consider the ramifications of handling different drag and drop signals, but past that, we are not able to affectively work with our information and data in more meaningful ways.

The other thing that bothers me about a "spatial" metaphor is that it suggests that there should be a lack of complexity in using computers. I have long been an advocate of promoting learning in interfaces because a user that wants to learn to use application will find it usable in the end. Usability revolves around someone taking the time to "use" the application, so it makes more sense to add the features and details that are the more beneficial to the user. Google for example has been able to promote its one text input primarily because it is an effective way to access the search features user's want. It is not intuitive or discoverable, but because it fills a need, it is a popular tool (to a limited extent of course).

Making smarter software and smarter interfaces is what makes applications more usable. It is one thing to analyze the pattern of how a user interacts with an application, although it is another thing to realize how to exceed user's expecations of an application. I for one want to make sure I make my computer work hard. A pretty interface is nice, but it is not going to change my world.

Posted Thu Jul 6 19:05:56 2006 by Eric Larson

MacBook Love

This past weekend Lauren and I went with a friend to get a laptop. He had already decided on what he wanted. He mainly just wanted some moral support and someone to make sure he didn't walk away buying stupid extras. In the end he bought a MacBook and got a free iPod Nano (2gb). It was a pretty slick deal.

I had a bit of time to play with the MacBook and was very pleased. The biggest concern I had was the keyboard and I am please to report it was pretty awesome. I expected it to be rather awkward and potentially cheap feeling. The keys are almost completely flat, which ended up being rather nice. The space between the keys is very consistent as well, which made searching for keys much simpler. Instead of running your fingers over the ridges of the keys, you could more easily depend on the key being where you though it was. The best part was how the keys felt when pressed them. Old hackers always seem to comment on how nice old keyboards were because you could feel the resistence of each key. Having typed on these noise makers I could see the appeal tactically, although the noise was always too distracting. The MacBook keys feel very similar in that they have a solid impact that feels anything but mushy. My iBook for example, has a very mushy feel.

The magnet that holds the lid closed if very strong making things feel solid when it is closed. The model at the store was *very* hot on the bottom, but it sits so flat on the table I wonder if the lack of air flow is why. With that said, I don't think I have ever had a laptop that has not been warm on legs, so no worries. Overall, it is a really great machine and I am thinking whenever Lauren is ready for a new computer, this would be a great choice.

Posted Sun Jul 2 19:41:44 2006 by Eric Larson
using python, jquery and emacs ;)