Content tagged Hardware

Paktahn 0.8.2 and other news...

posted on 2010-01-14 04:36:33

The last week has been thoroughly insane in ways both good and bad. As a gift, I had my thoroughly aged Nokia 6010 replaced by a shiny new Nexus One. Much as I would've liked an N900 they aren't subsidized by any carrier and so will remain out of my price range. I've also switched service to T-Mobile and thus far been quite satisfied. Then again, coming from a phone without a data plan I have no way of evaluating the 3G I'm getting.

The holidays were good. I have a skateboard again so when the weather clears up I can get back to enjoying that.  Time with mom was really good as was some peace and quiet and time to reflect. I took the opportunity to discover some new music as I usually do and also to read two novels by Vernor Vinge that I thoroughly enjoyed: A Fire Upon the Deep and A Deepness in the Sky. Careful, those wiki links have spoilers. As for the music, I've considered compiling a top 5 favorite albums of 2009 list but haven't gotten around to it. Besides, last.fm should tell you most of that. I will say I've been deeply enjoying Jon Hopkins, Ametsub and Minus the Bear this week. It's kind of an odd mix.

Moving on, I got back into code last Tuesday after a long holiday absence. I really needed the break to recharge. 2009 was a full year. I spent the bulk of the second half of last week and the weekend writing code, reading code or screwing around with configuration files...which are all things I enjoy a good bit. Over the break I had fooled around with a new window manager (StumpWM in lieu of XMonad) and started using clbuild instead of asdf-install. I also spent a little time adding a lot of projects to clbuild in case I felt like playing with them. In the course of all this fiddling, I made a fresh archlinux install in a new partition with essentially nothing but Lisp and C compilers, a tiling window manager, Chromium, Emacs and a music player. To some degree, I'm fleshing it out still. It's a dumb diversion but every now and then I just have to rip my system up a little. It's hard to explain.

On Sunday, after 3 months of work Leslie and I finally made the Paktahn 0.8.2 release. For all intents and purposes, the wait was worth it. A lot of new features and fixed bugs are present but there is still so much on my Paktahn.todo list. And of course there are bugs to fix. It's hard to explain why I'm so invested in Paktahn. Part of it is the work I've put in to date, part of it is how pleasant it's been working with Leslie and how much I've learned. Another large part is that there is great joy in having written some part of my day to day software and having a (relatively) deep understanding of it. It's kind of silly because AUR Helpers are a dime a dozen (or two dozen) but I'm still having fun.

The Paktahn release was not without some drama though. Almost immediately after the release I started having odd issues building paktahn with sbcl. The resulting executable would exit as soon as you ran it complaining of a fatal error and a lost gc invariant. Not what you want to see. The bad thing was the error was intermittent and I couldn't isolate the cause. I had issues with it in my old archlinux install as well as the new one, with old and current checkouts of my code and with a checkout of Leslie's tree. I'm pretty sure I tried it with a fresh, recompiled sbcl and also tried removing all fasls and recompiling. I got very confused in the course of all that trying to figure out what happened. I should've been taking notes. At this juncture, it builds fine again and I can't get it to act up. :( Ah, well. At least I can get back to developing. It certainly gives me some impetus to finish the CCL port I started Dec 28th.

So on to school this semester. I'm interning at a company called Kloudshare and have begun work on open sourcing a portion of their code. It's good fun and I hope to have more to share on that note very shortly. The administrative person I spoke with before break failed to get the internship registered in SPSU's system though so I spent a good deal of Tuesday getting that worked out with her. Then I had the unpleasant experience of learning that online courses are *substantially* more expensive than offline ones. Apparently, the state doesn't subsidize them because they can be taken advantage of by anyone or something like that. In my case, I was just trying to avoid an hour and a half commute both ways and try to find more time to code. I guess you really can't have it all. Now I have to jump through more financial aid hoops. Joy.

Soon I hope to have some code to show here. Maybe I'll spend 10 minutes and just throw my dotfiles up on github for the hell of it tomorrow. Other than that...I miss long form writing, poetry, essays...but my focus is elsewhere. Plus I'm tired. The rest will have to wait for another day.

Catching Up

posted on 2009-09-02 03:10:31

I was hoping to make a few posts today but I'm working on homework for tomorrow so that won't come to pass. I wanted to get something up before tomorrow though so I thought I'd mention a recent technology development that has brought me some joy.

I've been putting off getting a smartphone for a few years now. At first, because I didn't think I would make good use of the extra features and more recently because I wasn't satisfied with the available options. That dissatisfaction was primarily of a sort of political nature rather than a technical one. That is, I was satisfied with the quality of the technology available but not satisfied with the freedom and control it allowed. I seem to have written briefly about this before in 2007. I'd like to expand on it at some point, in particular on What Technological Freedoms Are and Why They Are Worth Fighting For. I wonder if there's an interested audience. Then again, much of what I write may be without that.

For a time, there was an effort for a technically mediocre but politically liberated device called the OpenMoko which I was following mostly back in 2007. They made a valiant effort but ultimately fell short of what I deemed a suitable product. Also, my phone was less in need of replacing in 2007. More recently, I've been watching the cell phone market with an eye towards replacing my aging Nokia around Xmas. Android phones had been striking an acceptable but less than perfect balance between freedom and technical excellence but they still weren't quite what I wanted. There had been whispers for months about a Nokia phone which would be based on Open Source and thoroughly awesome.

Finally, they announced it. It looks to be completely and ridiculously awesome. There are a few over the top videos and two hands-on videos (warning: latter video in Italian) but if you're really interested check out the specs and software features pages. Very Happy. Also, possibly the most important thing...Freedom:


N900: Jailbroken on Arrival


Anyway, I'll be fiending for that thing until it's in my hands. In the mean time, I hope to get some more posts up. Surely, I can crank out one during my Algorithms class tomorrow. Explanation forthcoming...

Brookrun and Bibio

posted on 2009-06-29 18:14:28

I've gotta say, I had a really good weekend. Part of that was due to the fact that I did very little "real work". I also got to hang out with two people I'm quite fond of. The other contributing factors were finding a delightful new album by a guy named Bibio and spending one very enjoyable evening at Brookrun Skatepark. In fact, I just happened to pick up 50-50s at Brookrun. Nothing to brag about certainly but it was nice to just try them and land a few after a half-dozen trys or so on some little box. Oh, and AT&T managed to repair my crummy phone I broke last weekend so I could put off buying a new one a little longer.

The next two weeks will not likely be as fun due to finals coming up. One class ends earlier than the others so its final is the 9th. It happens to be Data Structures, the most interesting and challenging of my courses. This week's crunch is all going to be Weapons of Mass Destruction and Computer Science. (Edit: I actually found out my last Public Speaking speech will be due the day before my Data Structures Final Exam and Final Project. Thrilling, add one to the crunch.) The week after that will be Software Ethics and Public Speaking. I have to admit, I'm less worried about the latter two. Good music should make a difference though and nothing helps listening to good music like good headphones. I'd previously owned a pair of Sennheiser HD-212s for a little over 4 years. They were definitely getting long in the tooth but I had no plans of replacing them until I accidentally left them at the bus stop back in May. There was a long search for an appropriate replacement which culminated in my purchase Saturday of some Audio Technica M50s. Thus far, I am quite pleased. They certainly make Bibio sound good.

Speaking of Bibio, the album is wonderful. I'm not sure how to explain it. It's a collage of different sounds, the guy has a very wide range of styles on display. Everything from hip-hop beat production to folk. I still really like tracks 1, 4 and 7. Seriously though, just give the title track a listen. It's lovely, isn't it? I'm also getting into Minus the Bear but haven't spent enough time listening to it to call out anything in particular. Well, maybe the song El Torrente. I've also decided to do a little bit of Rap and Hip-Hop mining to see what I can find that I like. I've always been partial to Aesop Rock and The Fugees...but that's certainly not digging deep or challenging myself. I believe Rap has more to offer. Potential listening includes: Edan, Madvillain, Ghostface Killah, The Roots, Cannibal Ox and Jay Dilla with smatterings of N.W.A., Public Enemy, De La Soul, Nas, Atmosphere, Gang Starr, Rakim, Notorious B.I.G., Madlib, Talib Kweli, Mos Def and A Tribe Called Quest.

I'll keep you guys posted on how it goes. I'm still really enjoying lisp. I intend to make it back to Haskell but I expect most of my "play code" to be in Common Lisp for a little while. I've got so many tabs open in my browser backlog that whenever I finally decide to do a linkpost it'll be positively massive. Maybe I'll try to break it up in chunks though, yeah? Anyway, that's all for now. Back to schoolwork. July 22nd can't come soon enough.

Tab Terminator

posted on 2009-05-28 15:01:32

So, my browser is getting full again and I feel like clearing out the backlog. Prepare yourselves for a linkpost! Also, I'll try to arrange links by progressive nerdiness or some such.

NOTE: I've been terrible at keeping up with other people's blogs. If you're a friend of mine and I haven't read/commented in a while, I'm sincerely sorry. I'll be trying to catch up soon. Also, if you haven't heard about the underground sensation tearing up comedy clubs everywhere, his name is Justin Morgan and I'd keep your eyes peeled for him.

I've been hearing about a few albums that might be good and that I should check out as a consequence. They follow:
Doves - Kingdom of Rust
White Rabbits - It's Frightening
Night Control - Death Control
Danger Mouse and SparkleHorse - Dark Night of the Soul

It's occurred to me recently that I really kind of need a phone and I'm ready to take the fancy smartphone leap. I did a quick survey of the competition yesterday and narrowed my choices down to 4 models, none of which are released yet and one of which isn't even official. Don't ask me about all that. I'm sure we'll discuss this later. Here they are: Palm Pre, Samsung I7500, Nokia N97, and the Nokia N900 (because Rover is a very stupid name for a phone). Hopefully some official word about the N900 will break soon.

Okay, so there's an awesome site about Literate Programs here. If you're looking for some code to read it's probably not a bad place to start.

There was recently a great discussion on proggit about most used emacs commands. That's some handy stuff to keep track of. Between that and the emacs-fu blog I referenced two posts back I'll be learning a good while.

Considering that it's old news, there's still a fair amount of hollering about MIT switching from Scheme and SICP to Python and continuing debate on the value of SICP. Indeed, it's not the holy bible and grauenwolf is getting a too many downvotes. He makes a number of very good points. I haven't taken time to read through the whole thread (should I?) but psnively seems to have the right idea to me, as usual.

O'Reilly Radar put up a pretty good article on the things HTML5 will enable and the resulting scramble to the finish by a lot of big players.

There was a good discussion on the Haskell reddit about making -Wall the default for GHC, I chimed in because there didn't seem to be enough discussion to suit my tastes and though I'm an idiot I'd at least learn something. Learn I did and I'm wondering if this bug is one of those referenced in response to my comment.

Other random Haskell stuff: Recommendations to learn monads after functors, monoids, etc from Conal Elliott, a curious DSL from Sir Kiselyov, a neat package of adaptive datatypes from Dons, an interesting article on benchmarking EC2 with GHC compile times (which would be more relevant if I was trying to put off buying a computer or looking into working remotely) and some Haskell responding to Factor that I wish I could read.

Three last things: I found this cool programming problems blog that offers small, fun puzzles like Project Euler. It's called Programming Praxis. There's a really neat paper that's over my head called Types are Calling Conventions which makes a little sense but I wish it made more. And lastly, some thinking on the productivity boost of Object Oriented Languages that harkened back to some things Wren Thorton wrote and so on. Later!

All Over Everywhere

posted on 2009-04-02 20:31:30

This week has ended up being pretty nice, if off the wall. Teresa and I were getting locked into an apartment over at the Aventine at Ashford. I'm also beginning to dig into Financial Aid applications for 2009-2010 and preparing for all the schoolwork I've got to do in April. Oh, and before I beat you with them I might as well warn you that this is another linkpost.

I'm planning on doing some hacking with a friend this weekend and was looking at data structures on Wikipedia, primarily Radix Trees and Tries(Prefix Trees).

Looking at which languages had libraries already, I found that Haskell's ByteString-Trie was written by a fellow named wren ng thorton. I chased a few links and stumbled on wren's livejournal where I read my favorite thing since the Minimal Social Compact. I may not be smart enough to follow every thread in there but I'm smart enough to know that his thoughts resonate and I wish wren the best of success. I really enjoyed Objects are a Big Pile of Fail too but for different reasons.

Speaking of Haskell, Conal Elliott's blog hosted a really good discussion on what portability means in terms of semantics, GHC 6.10.2 was released and the Haskell-Platform Mailing List put out a call for volunteers to help Duncan and Dons et al help get it out the door. You can say a lot of things about that language but you can't say it doesn't have momentum. Mmmm.

That other language I'm fond of has had some fun developments recently. It's not a huge deal necessarily but there's an interesting article by Slava Pestov on implementing a SmallTalk front end to Factor's VM. That's good fun.

Yesterday was eventful. I fixed some drywall and got a book in the mail. I'm rather excited about it. Its called The Elements of Computing Systems and between the book and companion web site (see: study plan), you'll build a computer from top to bottom out of NAND gates. A minimal Operating System implemented in a High Level Language, implemented on a VM, implemented on an Assembler, implemented on Machine Code, implemented on a specific Computer Architecture, implemented from Chips and Gates on whatever substrate proves suitable. Beneath that, of course, is Physics.

Also, it's been a long time since I was regularly checking Anandtech but when Anand keeps kicking out awesome articles about SSDs and the development of breakthrough graphics products I've gotta keep checking in for more. Keep it up, Anand! He's also managed to turn me into an OCZ Vertex fanboy.

Last but not least, it's important that somebody tell the Music Industry (and the Content Industry as a whole, actually) to bug off but I'm not sure that Charlie Nesson would be my first choice for the job. That said, it's important that somebody is trying to do it and I at least appreciate his goal of turning Copyright into a matter which people actually think about. We'll see what happens.

Endless Blather

posted on 2009-03-26 02:55:34

This post has everything.

It seems like a lot has happened in the past day or two. I'm all wrapped up preparing for a test tomorrow but there are other interesting things afoot. Teresa turned 20 today and there's going to be a party in her honor on Sunday. Kernel 2.6.29 has been released, it turns out cpufrequtils was never really doing anything and Skate 2 finally got a patch enabling custom soundtracks. EA Blackbox, even though you're two months late I'll take back some of those mean things I said. Speaking of games, someone finally wrote a Fei Long Guide for SFIV. It should hold some good lessons but I think I've got a lot of it down by this point.

I've got the webserver setup to play around with weblocks, leftparen and happstack. Hopefully one day I'll actually spend some time on that. It would be nice if weblocks was asdf-installable. I don't know. Maybe I'll just prototype GUIs in Chicken Scheme, Common Lisp and Python. QT seems to be the cross-platform GUI toolkit of choice. It's the only one with recent bindings for all three languages.

Oh, before I forget, if you're interested in the best general write-up on SSDs I've yet seen you should read this article from Anandtech. Generally I prefer the stuff at Arstechnica but I've yet to see anyone with an article this thorough and excellent on SSDs. Well done, guys. Speaking of which, OCZ Vertex 120GB are under $400. OCZ, you've earned my faith by this one. I'll choose you guys when I have cash to blow via pricegrabber.

There are endless good recipes on the Pioneer Woman's website. I had an abundance of Chicken, I check under Entrees->Chicken and find Braised Chicken and Parmesan Crusted Chicken. I've tried the Parmesan Crusted Chicken and the Braised Chicken. The Parmesan Crusted Chicken was pretty fantastic. Braised Chicken was tasty but I didn't like it as much.

The arguments about concurrent and parallel programming are ongoing. GHC is planning a new release for Autumn. I really hope the Haskell Platform is off the ground by then. Also, if you use Xmonad there's a good guide to Urgency Hooks here. Open Source development is still being thoughtfully explored. See, The Free as in Beer Economy and Freesouls.

The International Lisp Conference '09 has been going on and different people have said different things about it. Andy Wingo seems to have some decent writeups. Sadly, some of the things he say make me think of what Paul Snively said in his Road To Lisp survey (which I realize is likely quite dated), "My own thinking is that Lisp is the cockroach of programming languages: it'll be the only one left after the apocalypse. Not bad for a dead language." Maybe in a few decades I can hope I don't suffer the bias of echo chambers. Maybe not.

Last but not least I'll just note that I'm really enjoying Elbow tonight while doing math. Really enjoying it.

Elbow - Weather To Fly
Found at skreemr.com

Normal Thoughts, Nerd Thoughts

posted on 2009-02-01 00:18:46

I'm going to try to keep this short. Top 5 things that have been stuck in my head the last 2 days.

1: Actually, 1 hasn't been stuck in my head it's a few interesting news bits from this morning. One being an interesting interview and look at Middle East policy with Obama, the other being Jessica Alba calling out Bill O'Reilly on WWII neutrality. I normally wouldn't post the latter sort of junk but I found it pretty funny for one reason or another.

2: Amon Tobin is awesome. Literally, awesome. My favorite two albums of his are Supermodified and Permutation but I can't choose between those two. Seriously though, just listen to Nightlife off of Permutation or Slowly off of Supermodified. Listen to those for me. Please. Tell me they're not masterfully composed or beautiful. It's all sample-based. He's staggering.

3: I'm going to be moving by the end of may. I need to save up for a down payment on an apartment (with Teresa) somewhere nearby and public transit accessible. I may also change internet service providers. If I do that, does it make sense to buy hosting from someone (I'd definitely choose a Linode 360 in Atlanta at $20/month)? I'd still keep a server at home for, uh..."file transfer operations", media serving and SSH access or some such. I just don't want to have to run redlinernotes.com off of it for bandwidth and downtime reasons.

**Computer Nerd warning: I think what follows may be the most concise explanation of what really interests me in Computer Science that I've written, namely item 5. Item 4 is prerequisites, sort of. If you want to understand some of the reasons I'm into computing and the questions that interest me you could do worse than read what follows. Note that I think Computer Science is generally one of the most interesting fields that exists because it lets you study anything: Games, AI (Psychology/Philosophy/Ontology/Nature of intelligence), Theory of Computation (Mathematical Foundations of Logic), User Interface Design/HCI (Psychology/Aesthetics/Usability), Programming Languages (Linguistics). etc...but what follows are my personal reasons, not general ones.**

4: I posted this reddit thread yesterday but the topics debated are so interesting to me I'm going to post it again. Consequently, I've spent this morning peeking at things like this, and a lot of the work Jonathan Shapiro has been doing over the last few years, particularly BitC and Coyotos. I came into programming last year excited about my understanding that to support the trend towards parallelism we had to rework something significant on at least one of the following levels {Computer Architecture, Operating Systems, Programming Languages}.

I also understood that the field had a lot of lovely innovations which (debatably) never conquered the mainstream such as Lisp, Unix on one side, Plan 9 on the other, RISC architectures, etc. One always has to struggle with Worse is Better. Note that I did say debatably, Lisp/Scheme increasingly influence recent languages, Unix is slowly working towards the consumer market through OS X and Linux and has always been strong in Industry, Plan 9...well...[pdf warning]Rob Pike has some interesting words[\pdf], and Intel's x86 chips apparently hardware translate the CISC ISA down to some sort of RISC-like micro-ops.

The point is the solutions which were elegant or "technologically superior" did not tend to be the ones favored by the market for various reasons. Note that I am not saying we all should be using Lisp Machines. These technologies were beaten in the market for good reasons but that doesn't mean they were a direction we shouldn't pursue. Consequently, I am beginning to understand that because the foundations of this industry which has taken over the world since 1970 are in many ways fundamentally unsound that we should harbor a desire to eventually rework those foundations. Namely by the insertion of abstractions to aid the modern programmer in issues of parallelism and secure and reliable code.

5: I guess the question that really gets me is, "Where should all this abstraction be?". That is, what are the right layers in which to have the abstractions we settle upon? I think a number of things suggest that the Computer Architecture and Operating System layers are not the correct ones and that the abstractions should wind up in our Programming Languages. Backwards compatibility and the price-performance competition with existing industry being the principle obstacles to Architecture and Operating Systems. Of course, once you've figured out where the abstraction should be you have to move on to "How do we create these abstractions and put them in their place?" or the question of implementation which is for all intents and purposes much harder. This has taken way too long to write and I'm pretty spent at the moment. Hopefully, I'll get a chance to flesh out these ideas later.

**/end nerdery**

PS: It's begun. Mike Miller was right. I'm doomed to be a Computer Historian...

ArchLinux64 on the X200: A Field Report

posted on 2008-12-10 19:39:06

As I mentioned before, I have been hankering for a nice, shiny new ultraportable for almost a year and Christmas came early in 2008. I settled on a Lenovo Thinkpad X200 (formerly IBM) for a number of reasons.

1) It has a dock. I really wanted something with a dock since I'll be commuting with this puppy everyday for a while.

2) It weighs under 4 lbs, under 5 in the laptop bag with a power cord, and gets over 6 hours of battery life under most use scenarios, sometimes as much as 9 hours.

3) It's relatively affordable compared to similar ultraportables and I'm a big Thinkpad fan. This model also avoids touchpads which I dislike and ships without an optical drive which is a plus. After all, how often do you really use your optical drive? Save on weight. Save on power. There's a DVD/RW in the dock for when you're home anyway.

I've had it since Monday and the results are in. It's a lovely, lovely little machine and any complaints I have would be directed at software rather than hardware. That's the way it should be. I had it shipped with Windows Vista Basic because there was no option to have it shipped without an OS or with Linux and having it shipped with XP meant adding the cost of XP to the purchase price. You effectively purchase Vista and XP. Ridiculous. Therefore, the first order of business was to get Vista scrubbed off and XP SP2 installed. Now, it may seem ridiculous to worry about running XP instead of Vista but I'll cut it short and just call it a personal choice rather than defend the decision. I believe there are performance and compatibility reasons to do so as well. Google around and decide for yourself.

I have an XP Pro disc but if you try to install from it the installer blue screens. There were two separate problems in my case which both needed addressing. The first being that my disc was XP SP0 and XP SP2 is required to recognize some of the hardware. The second being that even XP SP2 needs a driver added to recognize the Intel Storage Controller unless you want to fiddle with BIOS settings for the controller before and after the install. I decided the best path was to Slipstream Service Pack 2 and the requisite drivers onto my XP install disc. Slipstreaming is inserting new updates, service packs or fixes into an old installer for a given piece of software. The program I used to do it was n-lite. Microsoft kindly offers a free download of SP2 and Lenovo, of course, offers a download for the Intel Storage Controller Driver. I should note that you still need an original XP disc for n-lite to copy down to the hard drive and modify before you burn yourself the updated (slipstreamed) version. When slipstreaming the Intel Drivers make sure to select textmode drivers instead of PNP and select the Intel ICH9M-E/M SATA AHCI Controller as the device to support. That about does it for Windows. Afterwards it's just the normal grab all the drivers from Lenovo runaround.

Linux has proven to be a bit more interesting. I used gparted on a LiveCD to shrink Windows' NTFS partition to 30GB of the 160GB drive in the laptop. Then I fired up the latest ArchLinux64 CD to install that. Afterwards I found that neither the ethernet card nor the wireless card in the laptop was recognized by the old kernel version. My solution was to grab my trusty USB Flash Drive and another PC, head to mirrors.unixheads.org (my Arch repo mirror of choice) and follow the links down to the most recent x86_64 kernel package. I downloaded the package onto the Flash Drive and then installed it with pacman -U, hooked it to a wire and grabbed the iwlwifi-5000-ucode package and added iwlagn to the modules array in /etc/rc.conf to enable wireless. Goodbye, networking problems.

I had stated that I'd be making a dual RedLinux v.014 release in the near future on i686 and x86_64. Apparently I didn't do my homework though as I found that the flashplugin and virtualbox-ose packages are only available on i686. Granted, flashplugin for x86_64 is in testing as Adobe finally released a 64-bit alpha for Linux recently. They've been dragging their feet on 64-bit Linux support for years...so tentatively go Adobe. That said, it could be a while before that moves from testing to extra. Apparently there might be legal issues. While perusing the mailing lists to learn more I stumbled upon some big transitions in the ArchLinux camp. There are lots of reasons this will likely end up an exciting and good thing but I'll be keeping a close eye on it. As for virtualbox-ose, I just traded it for the virtualbox_bin aur package. In the process I lost a little software freedom but I gained some features. I then asked pacman to go download and install about 70 or 80 packages (2gb worth) set up a few config files and called it a day.

The next morning however, I found a few things amiss. The most serious issue for me at the moment is that when docked on the Ultrabase, Linux failes to pump audio out through the dock's headphone port making the use of external speakers a pain. There's a bug filed in Launchpad but I can't find anything in alsa's bugtracker because you need an account to browse it. That could surely do with a bit more openness. At any rate, I'm not sure how soon to expect a fix on that as it's surely not affecting many people so I'm keeping my eyes peeled for workarounds. There is nothing on the ALSA mailing lists either.

After that, my main concern was getting suspend working. Yes, I can hear your groans but it's not that bad. I promise. The issue was a some sort of concurrency related nastiness in the current xf86-video-intel driver that was causing problems on resume. A nice workaround script was posted here to get it to work properly by disabling one of the cores during the suspend operation. A new XServer with improved Xrandr (display hotplugging) and xf86-video-intel driver will release with Kernel 2.6.28 in January which will also conveniently fix the issue of dealing with the external monitor connected to the Ultrabase. It presently only detects it when booted up on the base and the resolution options are less than perfect. The new drivers will indeed be nice. I also got to learn a bit about pm-utils and cpufrequtils throughout all this. Both of which you should install to get the most out of your battery life. Oh, and powertop. Glorious powertop. Hell, check out all of lesswatts.org while you're at it.

That's most of what I've been up to for tuning at this point. Next is probably just a little xmodmap and /etc/sudoers magic to get a few of these functions keys doing what I want. Then I'll probably just wait on alsa, kernel and xorg/xf86-video-intel updates. I'll also probably end up using lxrandr to play with the Xrandr settings when the new release happens. The other fun thing I learned in all of this is just how well loved Thinkpads are and a few signs of their support among linux users through things like the Ubuntu X200 Owner's Thread and the linux-thinkpad mailing list with their discussion on maximizing battery life.

For now, I'm very happy with the new machine and probably will continue to tweak settings for a while. Turning knobs is fun after all. I also got a 1TB external drive for backup with the laptop and a Scorpius M10 mechanical keyswitch keyboard for use with the dock. The keyboard is lovely except for some spacebar sticking so I'm filling out a form to get that replaced. Ah, the joys of computing.

Wandering Flame

posted on 2008-12-07 22:41:28

It's official. I'm not dead. I mean, 4 weeks without posting? I'm pretty sure that's a personal record. A variety of things have been going on, mostly positive. I spent Thanksgiving meeting the parents of my girlfriend (you know, Teresa?) in Virginia. We had volunteered to cook while we were up which went smoothly, to my relief. One thing we cooked was particularly excellent, the Pioneer Woman's Cinnamon Rolls. They really are as good as she says. I also have finally found a Fried Chicken recipe that I'm happy with which is a plus as I'm hosting 30 Rock viewing parties on Thursdays and they make a good\simple meal.

I've been wrestling with financial aid a lot lately. I'm excited about going back to school in the Spring but figuring out money always seems to be a bear. That seems to be true out of school too though. Most of the financial aid paperwork is done though, I've accepted some federal aid and I'm waiting on some private loans. Oh, the debtors joy. Also, I've got my schedule worked out and it's Tuesday-Thursday only so I'll be able to spend the rest of my time learning and hopefully pick up a part time job! Observe:

Technical Writing - TCOM 2010
TR; 10am - 11:15am; Atrium Building J-213; Jonathan Arnett
Prog and Problem Solving II - CSE 1302
TR; 1pm - 2:15pm; Atrium Building J-217; Jon Preston
Same Class - Lab
T; 2:30pm - 4:15pm; Atrium Building J-201L; John Vande Ven
Global Issues - POLS 2401
TR; 4:30pm - 5:45pm; Atrium Building J-101; Jason Seitz
Discrete Mathematics - MATH 2345
TR; 6pm - 7:15pm; D-Classroom 235; Jennifer Vandenbussche

Of course, I have to look and recall all the lost credits from Oglethorpe. Why am I taking Global Issues again? Oh, right. Transfer fail. Moving on.

Speaking of...a Lenovo X200 is on it's way to me and should arrive tomorrow. Damn you, online package tracking! My Thinkpad A31 just wouldn't cut it for commuting to SPSU. I tried that in Fall 2007. 45 minutes of battery life and temperamental wireless doesn't make for a good student laptop. I've also been working on RedLinux a bit lately and should be making a dual 686 and x86_64 release of RedLinux version 0.14 sometime next week. I'm also hoping to read some Lessig/Benkler or maybe one of the Open Sources books soon. I'd be wise to work through some of Spivak's Calculus or Head First Java before starting back at SPSU. We'll see. That's all for now.

Belated Blogging

posted on 2008-11-03 22:50:51

A lot has been happening lately and I guess I've been too wrapped up in it to write anything down here. I've been readmitted to SPSU for the Spring 09 semester, have filed the FAFSA and am currently looking into financial aid options. I'll have more on that soon but I am planning on going. Better to be there and learning than out of school doing Help Desk work and not learning enough about programming. That said, I'm totally out of funds about now and a part-time Help Desk position would be wonderful for the foreseeable future (i.e. post starting at SPSU). Or a contract position until school starts.

Due to the aforementioned brokeness I won't be grabbing LittleBigPlanet which a few people have asked me about. I am impressed with some of the things people have churned out with it though including a working 1,600 part calculator and a recreation of Gradius. Cute.

Will also got back in touch with me which I was quite happy about and I made some changes at his suggestion to my little hangman program. It's down to 115 lines of code and is pretty polished at this point. The only way to go forward would be to add new features but I'll put that aside until I've finished PCL. I also may have a quick weekend project to write a BASH script for RedLinux in the near future thanks to some of the great resources at the Linux Documentation Project. I've got some ideas for a future RedLinux release but I'll likely put that off until December or so.

What else has been going on lately? Well, OOPSLA and Lisp50 happened fairly recently and I couldn't make it but I've enjoyed reading about it thanks to articles on Lispy's blog and some words from Luke Gorrie. I'm still pretty jealous of Luke Gorrie as he always seems to be playing with neat ideas and technologies and generally hangs out with the "cool kids" a lot. He was at OOPSLA and Lisp50 and then managed to be hanging out with Alan Kay, Ian Piumarta and co at VPRI when Slava Pestov came through to talk about Factor. What a jerk! (jk lukego) There's a great video of Slava's Factor talk which he delivered at Google as well. It would be neat if some of the Lisp50 talks made it online but somehow I don't expect to see that happen. I've also been keeping an eye on the btrfs and xorg mailing lists but that's not too relevant really. BTRFS for 2.6.29!

I've been doing a little bit of reading on Lisp Machines of late and hope to run one in a VM when/if I get an X200. I'd also love to run a copy of Linux 0.01 in QEMU or VirtualBox and maybe ReactOS as well. Nothing like a small, well-understood system right? A nice external keyboard wouldn't hurt either as mine has gotten a bit beaten down over the years and is a PS/2 keyboard so it won't play with the X200. Reddit has some suggestions and I'm rather leaning towards a Das Keyboard but one of the mechanical-switching Cherry units would be fine too. Paul Stamatiou has some interesting suggestions about back to school stuff but I'll mostly stick to his thoughts on study habits and motivation. I think I've got the rest sorted out. His thoughts on living the cloud life and using newsgroups should be useful though.

That's all for now. I'm off to skateboard and shower while there's still some good sunshine out before hunkering down with more lisp. Did I mention a new version of SBCL came out? Don't forget to vote tomorrow. Keep an eye on things with the help of Peter Seibel and Randall Munroe! Fivethirtyeight.com won't hurt either. ;-)

Lusting for a Laptop: Lenovo the Liberator?

posted on 2008-10-24 06:02:36

Trust your Technolust

I promised to go into more detail about this yesterday and I meant it. I called my good friend Kris earlier today and filled him on my plans. Hardware purchasing plans, that is, assuming I go back to school. Kris and I are in agreement that purchasing and/or assembling new hardware is one of the most exciting and fun things in the world. It's good old technolust at work. Part of why it's exciting for me is that I only make computer purchases every 4 or 5 years and for the most part I manage to not care about hardware outside that time period.

Now, I have gotten a $300 laptop off eBay and an LCD in the past two years but that's not what I'm talking about. My personal computer (the desktop) which I hand-built back in the summer before my Freshman year of college is what I'm talking about. Any self-respecting nerd has a primary computer which stands above the rest. That's what I'm talking about. Anytime you think of replacing that you have the freedom to dream. My needs and desires have changed a lot between now and then though.

Then I wanted a powerful computer that could play games and do anything else I wanted. As much as was possible with the $1,500 or so dollars I had available anyway. That largely meant a desktop. These days I want something lightweight with excellent battery life. Something portable. Something which is great for running Linux and playing with code but future proof as well that could replace my aging desktop at home. Now, as I've mentioned before the desktop appears to be in great shape and is plenty powerful enough but it certainly isn't mobile and you never know when hardware might start failing. The laptop I have now is alright but...well, the wireless only works on unsecured networks in Linux and the battery life tops out at around 45 minutes. Some of that could be worked around but it's less than ideal for the commuting programmer student I'll hopefully be come January.

I've been aware of this desire for about a year now. The desire to rid myself of the desktop (or at least relegate it to server duties) and get some better mobile hardware. So I've been keeping my eyes on the laptop market. In that time only 8 machines have caught my eye and only 1 is really a reasonable option. The 8 machines I considered were the System76 Darter Ultra, the ZaReason UltraLap SR, the Dell XPS M1330, the Lenovo X200, the Lenovo X300, the Lenovo X301, the Dell Latitude E4200 and the Dell Latitude E4300. What I needed was a laptop which had A) weight under 4 lbs and battery life in excess of 5 hours, B) an Solid State Drive option, C) LED Backlighting (again at least optionally), C) good Linux support (in-kernel graphics, sound and wireless drivers, preferably working suspend/resume), D) a docking option and E) preferably some sort of next-gen AV out option whether HDMI or DisplayPort.

At first, I forgot I'd need a dock. The Darter, the UltraLap and the XPS M1330 were quick considerations because they have Ubuntu pre-installed and the hardware works brilliantly. They're also quite affordable. The Darter lacks an SSD option but the warrantied isn't voided by buying an aftermarket SSD and installing it and it's otherwise excellent and very cheap. The UltraLap is a bit heavy and short on the battery life but otherwise good. None of them have a docking option though and none of them have HDMI or DisplayPort out.

Of the remainder, only the Latitudes and the X200 have docking stations. The X300 and X301 have many positive qualities, meet every other requirement (except maybe the HDMI/DisplayPort) and at least the X300 is reasonably affordable compared to the Latitudes. The closer I got to really needing to make a decision though the more I realized the docking station was a real deal breaker. If this thing is going to replace my desktop at home I want to be able to walk in the door, drop it on the dock and get to work with the keyboard, mouse, LCD setup at my desk, no questions asked.

The Latitudes, for their part, just came out and (consequently) are just too damn expensive. They also don't have any kind of option to ship without an optical drive which (let's be honest) I (and probably you) would only use to install the Operating System (if you do that) and load a few applications. There's a USB CD-ROM in the Oglethorpe computer lab I can use for that. The X200 does have such an option though and it is the X200 I will happily get assuming I'm accepted to SPSU and get some student loans taken out. Besides this tiny little 12 incher weighs 3.5 lbs with the largest battery you can get for it and people have used it unplugged in excess of 8 hours! It's not quite as thing as the Macbook Air but it's close and almost as lightweight (with the extended battery).

Sexy, Sexy Laptop

The last issue to work out was whether or not to get a SSD included or upgrade it later. There are 2 reasons for that. One being that the SSD option bumps the price up by $830 on the X200. Pretty drastic, right? Additionally, all the kinks aren't quite worked out of SSD drives yet. There are several people I'm aware of that have been very happy with SSD-based laptops for 6-months to a year now (Jeff Atwood and Stephen O'Grady, I'm looking at ya'll) but a Linux filesystems expert whose opinion I trust, Val Henson, has made some stern comments on the matter. Even Linus Torvalds is happy with his but at the X200's $800+ dollar price point I can wait and upgrade later when the hardware is better and the prices are cheaper. For now, I've at least found out the X200 uses a Samsung drive which OCZ sells rebranded on pricegrabber.com.

That's it for tonight. Hardware is always exciting and I hope I get to start hacking on an X200 before New Year's. That said, I've got to get some sleep tonight so that I can get back to hacking tomorrow. I made a list of code projects today among other things and there's plenty to do come morning.

Open Content, Mass Storage

posted on 2008-09-16 17:53:42

I think it's generally agreed upon that free video lectures are cool. I'm not saying that everyone wants to watch them but the fact that it's possible to download M.I.T. and Berkeley lectures, course readings and assignments most people seem to view as positive perhaps because many of us will never attend those schools.

There is tons of content out there and it's often difficult to find it all. There are a few sources I've found that help in sorting through everything but my sources tend to lead towards what suits my studies (computer science) best. That would be Peteris Krumins blog and Lecturefox. There are plenty of Google Techtalks and Authors@Google videos that are good as well. Beyond that, I occasionally find one off blog posts that may link to content I wasn't aware of. If anyone knows of any ACM conferences similar to the Reflections conference at UIUC where videos are released please post in the comments.

Unfortunately, most to all of these sources have a curious notion of "sharing" or online distribution. There are one or two problems that all the content they've posted online [under the egalitarian notion of global learning] suffers from. The first problem being that it's streaming content which is difficult to download (generally .flv or .rm format). The second problem being that if there is a download option for the content it's through a non-cross platform or DRM-encumbered client (such as iTunes).

Thankfully, Mplayer exists. Mplayer is my video player/encoder of choice (though VLC is quite good, too). And wouldn't you know it? It provides support for watching, ripping and converting those frustrating rm streams in addition to everything else. Flash videos are easy enough to rip through existing Firefox Extensions.

To make things even more exciting, there's no reason anyone can't mirror all the educational content out there. Except for legality of course, I can't speak to those details and I expect most of this content is under separate licenses. I do wonder if the Creative Commons No Derivative Works clause includes transcoding though. I suspect it doesn't based on the definition of derivative work. But to return to my original point about mirroring, storage is cheap now. Even NAS setups though they still run a good deal more than regular storage. But c'mon, it's a fileserver in a box. You knew that though, right? When you can get a 320GB PS3 or Notebook drive for $100, a 500GB external for $100 and a 1TB internal drive for $140 you know life is good. Not that I'm not excited about the day when the same will be possible with SSDs but don't worry, that day is coming.

Also, to the folks who filmed the Lively Kernel Talk from last night as well as those filming technical talks generally: If most of what the presenter/speaker is discussing concerns what's happening on the computer screen, you should be filming the computer screen. It's a handy rule.

Now, if you're not a Computer nerd or Software Freedom Advocate you may wonder why any of this would bother anyone. After all, you can still stream the videos with RealPlayer or watch them via Youtube in any event, right? Not quite, though I'll admit my problem is mostly with the egalitarian notions of education that I perceived (or imagined) to underpin this whole OpenCourseware initiative. If your stated goal is to make a set of educational resources available to as much of the world as possible via the internet then you're effectively after every demographic. There's not a section of the market you can afford to alienate.

In many parts of the world, I expect it's a real pain to find the time to sit in front of a computer and stream a file. Particularly in places where internet connections are scarce and are not broadband where they are available. Particularly if the file is a one or two hour lecture that you might want to rewind or pause at various points. If a guy can't watch the file in (connected) India, how is it free learning throughout the connected world? Additionally, if someone wants to watch video lectures when it suits their schedule (say at the gym or on the train) why would you prevent them from doing so unless they had a specific brand of portable video player?

If you're trying to promote free educational content then the first step you can take to responsibly pursue your goal is to choose the most widely viewable formats and lend your content to the widest possible types of use (including offline use but perhaps excluding commercial profit). Poor choices have been made in both respects. Flash Player historically wasn't available for x86_64 based Linux platforms though that has been recently remedied and iTunes U isn't available on Linux at all. More seriously, RM and FLV videos are difficult to download and use portably. Conversion to another format tends to be necessary as well.

Somewhat relatedly, I'd like to suggest that the masses of Open Content out there could use a good marketing push. Open Courseware is as underused as music, images and video in the Creative Commons. Someone really needs to create a service which finds Open Content and recommends or reviews it based upon the more familiar proprietary content in Music, Film and TV that consumers are fans of. Just giving it away isn't enough.

Just for Fun

posted on 2008-09-10 20:05:53

There's so much I've been meaning to post about lately and so much that's been going on. It's very hard to keep up with it all. This will consequently seem a bit scattered but it's largely divided into Gifts, Linux Stuff (which continues to bring me perpetual joy), programming language stuff and hardware stuff.

Redlinux: I've been working on my own ArchLinux Derivative over the past few months and mentioned it a bit here. I'm hoping to get an ISO for an installable LiveCD of it online by the end of September with a sort of beginner's guide and homepage for it set up here. There won't be a forum or anything initially. Just e-mail me for feedback/help. We'll see how that goes. I'm calling it Redlinux. Also, I put all the default *rc files and other important config files (including new user documentation and the changelog) in a new folder on the site. It's at http://redlinernotes.com/docs/redlinux/. Redlinux is currently at version v.07. The initial online release will incur an automatic version bump to the nearest .x0 rounding up.

Logos: I'm looking to get a sort of logo for the site. I'm not sure where to go with this. I also need a separate logo for Redlinux. Any ideas are welcome. I have one for a site logo. It's a Unix Shebang combined with a lowercase Lambda. Like so: #!λ. I think it's pretty cool but it'd take some work to make it prettier. The Inconsolata font would be a good start. I don't think they have a lowercase lambda symbol though. :-(, Sad Panda. I'm thinking we call it the *Lambdabang*. Eh, eh?

Gifts: I've been thinking about money and my actual needs and wants a good deal lately. Part of that comes from having to constantly figure out finances due to being young and broke in a struggling economy. The other part is me thinking about the few material things I enjoy and which I'd like to prioritize. Good ideas for gifts for me that I hadn't previously considered are Internet Hosting (and you know I'll want pretty serious control over the box. Maybe linode or lylix.), a subscription to LWN (Linux Weekly News) which I've been enjoying a lot lately (the back issues are free) and various books from the amazon wishlist, as always. Cooking supplies might also be good but I'm probably best off picking those myself. Homemade good food. It's expensive, but fun!

Hardware: I've been thinking about buying a new computer for about a year to a year and a half now. I recently moved into the "strongly considering it/planning it" phase and started saving. This box would probably end up replacing my aging homemade beast of a "main desktop" which would in all likelihood become my server box. I decided fairly early on I wanted the new system to be a laptop because I'd really like to be able to go portable at any time and not be at a loss for processin power. Plus, that'll make it easy for me to move around lifestyle and home-wise which seems reasonable at the moment. To be honest, my needs are essentially met by my current equipment and the extra processing power wouldn't go to use too much as I don't game anymore. The Thinkpad A31 (present laptop) hates secure wireless networks for some reason and I wasn't able to wrestle it into submission. A larger concern would be hardware dying in the Desktop. It's still going strong but we're passing the 4-year mark and you can never be too sure. Besides, I'd love to catch some of the new emerging tech like Multicore processors, new wireless standards (Wi-Max and draft-n, I'm looking at you), and Solid State Drives! I'd also love to be able to get something based on AMD's upcoming Fusion processors but that's still a year out and I'm not sure I'll wait that long. I like the direction they've gone with the Athlon series and feel that they're more motivated than Intel to innovate. Always have. They're still not as fantastic about supporting Open Source as Intel though and that's beginning to become a deal breaker for me. Especially considering that their Shrike mobile platform may use broadcom wifi or something equally messy where Linux is concerned. I know I want something 12 or 13", preferably 13, with a minimum of 4 hours of battery life, a dual-core processor and a 60GB SSD. Ideally, it'll be Shrike-based (that's waiting a year), have HDMI or Displayport out with good Linux support and draft-n or Wi-Max. Vendorwise, I'm torn between IBM/Lenovo and Dell. I've had good experiences with Thinkpads (IBM, now Lenovo) and like them but they're not the best Open Source company. Dell has been making a real push in that direction of late and have some very competitive looking offerings which I could even buy with Ubuntu pre-installed. My final three is presently a tie between the Lenovo X300, the Dell XPS M1330 and the Dell Latitude E4300. I'll be coming back to re-evaluate when I've got about $1,500 stashed away. :-)

Languages: In the near future, I'd like to get a post up revising some of my former opinions on Programming Languages. Particularly of the Scheme family. Some of my earlier ramblings now seem quite misguided. Plus I've been playing around with Common Lisp more and though I'm not quite a fan of the funcall syntax I'm starting to grok some of the reasoning for multiple namespaces. My experiences with PLaneT vs. ASDF-Install bear that out. *shivers* Collisions are ugly.

Linux Tip: Ever been frustrated trying to transfer directories with spaces in them via scp? I have. There are one or two things that seem like they should work but don't. I've been too lazy to look up how to do it until today. Here's how:
scp -r "user@host:/path/to/directory\ withspace/" .
Simple, right? Duh.

I was going to mention how Linux Kernel Hackers make me happy and throw a few quotes from the mailing lists on here but I think this is more than enough for now. Later, folks.

Encounters with an XO

posted on 2008-04-15 03:28:56

So, I recently received my OLPC XO. After playing with it a bit I'm pleased with it but I don't think that has terribly much to do with the device itself. I didn't really buy it to support One Laptop Per Child though I think the idea of a small, comprehensible system would go a long way towards engendering a new generation of hackers the way something like the Commodore 64 or Amiga did. OLPC: Way more hardcore than your middle school's Laptop Program. It is a goal I can identify with and support but I did this because I think it's a neat piece of hardware produced by passionate people. It may not be the next Lisp Machine but it's pretty cool nonetheless.



I was ecstatic when I got the thing. Naturally, I fiddled with the initial setup a bit but quickly wanted to move on to other things, namely emacs and lisp since I'm working through SICP at the moment. It was trivial to use yum to install emacs-nox and also quite straightforward to set up quack. What surprised me was how easy it was to compile Gambit on the XO as seen on Bill Clementson's blog.



Once that was done two things really started to eat at me. 1) I wanted to try getting a Debian-based install running on the XO. 2) I wanted a different Window Manager. I just am not comfortable with Sugar for some reason and I definitely wanted a browser with tabs. Looking into getting Debian going on the XO made me realize that getting a developer key was my first priority and I'd advise anyone with an XO to do it. Then you can play with the Forth prompts at boot, etc.



As for Window Managers, I've always had a bit of a fetish for them. Of late, I've been meaning to try out a tiling window manager and I got my choices down to ratpoison (which has the most bad ass supported hardware page ever), dwm, and Xmonad. For a variety of reasons, I'm itching to try Xmonad on one of my boxes soon but that will have to get in line behind setting git up on my blog server. At any rate, Xmonad is pretty awesome and it runs on the XO. I'm not sure how much of it is Haskell Voodoo and how much of it would be beginner-friendly but I'm sure that a full-featured 1200-line Window Manager has something to teach. I'll be keeping my eye on the upcoming book. More on all that later.

I read somewhere on laptop.org that they'll rebase a later build on FC9. I hope it's started before F10 hits and I hope that by F10 the 'Good Haskell Support' ticket gets completed. Long story short, I ran olpc-update debian-big on the XO and found that it's not really what I'm looking for. I'll probably later get Xubuntu Hardy on a Flash Drive and then replace the Window Manager with Xmonad but until then Sugar will be fine.

So, aside from my inane banter, is the XO any good? Well, good for what? The stock configuration is good for a limited set of uses but I imagine it'd be great for kids or if, like Luke Gorrie, you're hacking Forth.



An oft overlooked ability of the XO is it's SD expansion slot. If I was looking to do serious programming on it I'd slap the biggest SD card I could in there and hit the road. As long as what you're doing doesn't eat processor and RAM like crazy and you can port your tools over, it's a great travel box. Your hands will get used to the keyboard...eventually.

Weak Ties & Loose Ends

posted on 2008-03-24 13:29:26

I had a lovely weekend. Good conversations tend to do that. I wasn't actually productive but maybe my brain was just digesting all that talk during my leisure. Also, my OLPC XO finally arrived. I've had some fun with it though there are things to get used to. I'm trying to get it set up to work with my needs a bit better which essentially means getting Gambit-C and emacs-nox installed. I'm also throwing XFCE on it for a more conventional work environment. Also, I can confirm that The National's album Boxer was the best album of 2007 that I've heard. It's phenomenal. I'll post more on all that later.

I really feel like I should read something tasty about Ontologies and Knowledge Representations or maybe Peer Production. I don't know. I need to empty my head out. Finally, here's a tasty Neruda poem to start off the week but it's behind a cut because I don't normally post poems this long.

Spontaneous Monday Linkpost

posted on 2008-03-03 17:52:17

Bookshelf Jealousy

I need to try OpenBox and build a trim install from the ground up again. Maybe with Gentoo this time? Or should I stick to Arch of Foresight?

I continue to hear good things about Barack Obama. Staggering amounts of good things. It's not that Marc Andreesen is saying this. It's that everyone who's had contact with the guy is saying this. Also, he's big on civil liberties. Maybe from lecturing on Constitutional Law at University of Chicago. Hopefully that means he'll handle these fiascos a little better than the current administration. It wouldn't be too hard.

I really want to hear a good comparison of bzr and git and I'm not convinced I've heard one yet. It seems to be very "Linus made Git!" vs "Yeah but mere mortals can use Bzr!". Please guys can we elevate the sophistication in this debate?

Luis Villa comes up with some great ideas and this is one of them. Also, I may finally have to try greasemonkey because adding pictures to my posts continually sounds like a better and better idea. Well, at least some of my posts. While we're on Luis though, I take RSS feed reading seriously but I don't get near 800 feeds a day. I'd be interested in hearing what he settles on.

I'm wondering if I should start contributing to Ubuntu's Weekly Newsletter. It'd be a chance to do some volunteer work for a community I do care about and I have been thinking that down the road I might like to do some freelance writing so it wouldn't be a bad way to get a feel. What can I say? Ben inspired me.

I'm glad people are thinking about the future. This article from worldchanging appears particularly promising. Anyone have any formal responses to this? I'm going to work on mine along with an update of the Secondhand Standards essay.

Also, I'm not personally a Nine Inch Nails fan but it is pretty cool that they've released their latest album as CC'd work and I kind of hope Radiohead does that with their next album...

Personally, I share sogrady's taste in laptops and while I'm not in the market right now I am wildly optimistic about grabbing one of these in a year or so off craigslist or something.

I'm trying to really get into emacs. I want to settle on an editor and really learn it. Since I'm learning Scheme for the next year or so Emacs seems like an insanely reasonable place to start. Making it pretty seems like a good idea though.

Finally, this guy is totally awesome and I hope I can come up with a project as cool as this after my self-education.

Dead Players

posted on 2008-01-22 17:12:10

The long weekend was really nice. It was good to get the time off and I’m excited about this week. I even talked to Teresa a little about potentially going back to school and maybe becoming a professor down the road. We’ll see. Unfortunately, my beloved MP3 player decided it was going to die on me. And the thing is, without being able to listen to my music everywhere I fall apart a little. The gym’s harder and less fun. Work isn’t quite as good. Ditto for driving places. Haven’t you noticed FM radio is mostly awful? Anyway, now I have to figure out what to do about that missing piece of technology. I don’t know when I’ll do it but I’ll probably try to replace it sooner rather than later due to my predilection with mobile music. Plus payday is on Thursday.

The player I had before broke because it’s a hard drive player. It has moving parts. And you have to recognize that’s sort of an undesirable design limitation on something you take to the gym or are really mobile with. Hard Drive based players are just much more likely to fail. Flash players (which don’t have moving parts) have existed for years but they’ve only recently gotten into a storage capacity range that makes them eligible for my dollars.

That said, this throws a kink into my technology roadmap a little. Before my player’s death I was pretty well set up for this year. Sure, at some point down the line I wouldn’t mind a mobile game system (the PSP) or a new phone that I can check e-mails on (the OpenMoko) but I really don’t consider those essentials. Now, I need a new MP3 player and playing MP3s is something the PSP and OpenMoko are well-equipped to do. Nothing like consolidation of devices, right? Thing of it is, whatever I’m going to use needs to interoperate with Linux well and have a 16gb capacity or more. The MP3s stored on my current player took up about 13gb but it helps to have growing room.

The nice thing about getting the PSP would’ve been that it’s competitively priced with an MP3 player and would play games AND stream music from my PS3…but I’d have to be near a wifi access point. I could store the music on a memory stick and then I wouldn’t need to stream it wirelessly from home but 16gb memory sticks for the PSP aren’t coming out til March and even then they’ll be more expensive than the PSP itself. So, that’s out. SDHC memory (which the OpenMoko uses) also haven’t reached sizes above 12gb and the phone is prohibitively more expensive then a replacement player or the PSP.So, at this point it looks like getting another Creative Zen Vision M 30gb (which I did like before it’s untimely demise) or a SanDisk Sansa View 16gb. The Sansa is a $50 bump over the Zen’s ~$125 but there might be one cheaper on craigslist and I’m thinking I’ll go with that due to mostly positive reviews and it’s durability and size-benefits from being flash-based. Anyway, it was fun to at least consider the OpenMoko and PSP Slim. I did a sizeasy comparison of the devices and my current phone (the Nokia 2610) to see how they all matched up for room in my pocket. Wanna see?

Gadget Sizeasy Comparison

Ready for a New Year?

posted on 2007-12-29 07:20:24

I am. 2007 was more trouble than I was really looking for. I'm certain that 2008 is going to rock hard though.

Part of that is that I've been cleared to work at TVS full time starting in January. That's one thing off my mind. I'll have more details when I return from my trip to Montana on the 9th. I leave next Wednesday, if you're curious.

I've got a lot that I've been taking care of and still have to take care of before the trip. So sorry for being distant. And the blog silence. Things are picking up though. I also have a slew of interesting projects to drone on about in the New Year.

Before all that though, a Xmas Recap. Xmas was great.

Happy Xmas 07

You had this much fun too, right? I'm finally moved back into my room. Most importantly, my digital life is all pimped out.

Workbench

See? I've been working on pulling so much power from one outlet that I kill the house. Unfortunately I've only succeeded in dimming the lights. Just kidding. Well, about the trying to part anyway.

Before I get any questions I should note that the iPod is Dad's. I haven't converted yet. Additionally, the old Nokia has been replaced. The setup is great. I can switch between the laptop, desktop/server, and PS3 on the LCD. Presently I keep the speakers tied to the PS3 at all times but I'll probably buy an adapter to share them across the devices. Eventually I'll get around to doing the same for the keyboard and mouse. Fear the cable nesting that will occur.

Cable Mess and Electrical and Heating Disasters, Here I come!

Now, on to projects. Of course, I'm going to start programming first and foremost. I've decided I ought to progress in the following order: Structure and Interpretation of Computer Programs, then Concepts, Techniques, and Models of Computer Programming, and finally How to Design Programs. On the side I'll be working on Rosen's Discrete Math, Spivak's Calculus, and maybe Strang's Introduction to Linear Algebra. If I manage to work through even half of that this year that would be pretty good stuff. So far I own the following programming texts.

There should be a sign: SICP Coming Soon. Right next to the Sipser. Yep.

SICP is in the mail along with Discrete Math. I'm planning on ordering Spivak's Calculus and Strang's Linear Algebra later on.

Besides programming though you've got to have some stuff up your sleeve and I certainly do. I'm going to set this PC up for recording work and get some guitar doodles down at some point, just for fun. I also am filming virtual footage for a skate video. It makes me the biggest nerd possible but I don't mind. I've got 1 minute and 40 seconds of decent footie so far and some friends working on parts. Beyond that I'm going to work on getting Linux up and going properly on the PS3 and getting the speakers and input devices shared between all my systems as mentioned (probably with a KVM). I also will look into getting my PS3 to behave as a legitimate media server. Finally, I'm looking at getting my website server moved to a VM and run off my desktop. I've got the VM up and we'll see about performance issues and other testing soon.

I'm collecting Course Materials for SICP at the moment and have to run to take care of some of today's other nonsense but I'll be back for more soon. Peace!

XMas List

posted on 2007-11-21 19:03:20

Just for the heck of it, you know?

Hardware
It'd be pretty swell if I could get a BenQ FP222WH Flatscreen Monitor. It takes HDMI input so I wouldn't need a TV in my first apartment!
Zareason is producing some Ubuntu keyboards and I need a USB keyboard to hack on my PS3 so that would come in handy.

Content
Considering that I'm leaving school for a bit this list will mostly be books to study next semester but really anything off my Amazon wishlist will do bookwise.
The following 12 books would be my 12 books of Xmas. They're of particular importance to me. And I say buy used.

Algebra by I.M. Gelfand (Author), Alexander Shen (Author)
Functions and Graphs (Dover Books on Mathematics) by I. M. Gelfand (Author), et al.
The Method of Coordinates by I.M. Gelfand (Author), et al.
Introduction to Linear Algebra, Third Edition by Gilbert Strang (Author)
Discrete Mathematics and Its Applications by Kenneth H. Rosen (Author)
Concrete Mathematics: A Foundation for Computer Science (2nd Edition) by Ronald L. Graham (Author), et al.
Calculus by Michael Spivak (Author)
Structure and Interpretation of Computer Programs - 2nd Edition by Harold Abelson (Author), Gerald Jay Sussman (Author)
How to Design Programs: An Introduction to Programming and Computing by Matthias Felleisen (Author), et al.
Programming Erlang: Software for a Concurrent World by Joe Armstrong (Author)
Introduction to Algorithms by Thomas H. Cormen (Author), et al.
Watchmen (Absolute Edition) by Alan Moore (Author), Dave Gibbons (Illustrator)

Finally, you gotta have some useless stuff:
Like video games. Uncharted on the PS3 and Okami or Shadow of the Colussus or Rogue Galaxy on the PS2.
And wall art. I guess I should have something on at least one wall in the apartment next semester right?
Cool wall art includes disassembly maps of famous old games like Super Mario Bros and Pac-Man. Or some of the cool internet maps from the XKCD store.

Yeah. That's about all I can think of. Be careful though. Give me all that stuff and some rice and you might not hear from me for another few months. Now then, what do you guys want for Christmas (or insert holiday here)?

A Quiet Weekend at my Getaway Home

posted on 2007-11-03 03:14:02

First off, I'd just like to thank everybody who commented on my last post. There was some lively discussion and I feel like I benefitted from all that. Thanks.

So, Mom and Dad have me house sitting. That's cool with me though because they have a cozy little place and it'll give me an excuse to cook and eat real food which is always fun. I don't get to try cooking much.

In other news, this week had more going on than I would've liked but I've persevered and all told I'm doing pretty well at School, Work, etc. Now, with that out of the way...

I've been thinking about hardware and software lately, as usual. Some of this is related to the recent PS3 purchase and some of this is just...unrelated...to anything really.

On the hardware end I've been thinking a lot about display technology. See, I have this nice idea that I'll buy a monitor that I can use for my video game console(s) and my PC and I can never need to own a TV. The problem with that is that display technology is completely ridiculous. 10 years ago it was easy. With CRTs things were pretty fixed. There were a few good manufacturers and you got one of those models in the price range (size) you could afford and that was it.

Ever since the invention of the flat screen that possibility has gone out the window. Which isn't to say it's unbelievably hard to find reasonably priced (and very lightweight/sexy) flatscreens, more that there are tradeoff costs involved that I don't remember being present 10 years ago. Specifically, you pretty much have a scale with speed (response times) on one end and picture quality (color reproduction, etc) on the other end.

Regardless of what you are told on the box, you are trading some of one for the other on some level. Now some of the nicer picture quality leaning displays have pretty good response times and some of the nicer speed leaning displays have decent color reproduction but you still have that trade off.

But then there's this one other problem...you have to remember I want to use this as a TV for my game console. So it needs some form of video-in besides VGA and DVI cables. S-Video or HDMI would be preferable though Composite(RCA) or Component would probably be fine too. This pretty much narrows my choices to two displays, the BenQ FP222WH (which has HDMI) or the Dell 2007WFP (which has S-Video and Composite).

Now, my personal leaning is to the Dell 2007WFP regardless of the fact that the video quality isn't as good as the almighty HDMI. The thing is though then you have to figure out how to get that pesky audio out into your desktop speakers...and then what? A switcher appliance? Or manually unplugging and replugging every time you switch between systems? Elegance is such a tricky thing. I just can't help but feel like better solutions should exist in this space. Maybe Apple will finally make a games console and make it easy on all of us.

That said, the PS3 I do find to be pretty amazing because for all their stupid mistakes, and there are plenty, Sony has made it a pretty good and VERY open system. The only remotely closed thing they've tried to do is lock out access to the RSX (the video card) via a hypervisor.

I've never quite understood the rational behind that decision but I read this week over on dave airlie's blog that some progress is being made at getting access to it and working 3D in spite of that. He's a hacker working at Red Hat by the way for those of you who may not know. Anyway, I found a wealth of programming resources for the PS3 and look forward to playing around with those when I get a chance.

That's it for now. I'm taking the weekend off. But I'm prepping two very exciting articles for next week, one is about my generation's value judgments and the other is about shifts in the hardware market (mostly GPUs and CPUs) and upcoming architectures. Which one would you guys prefer first?

PS: Bria Rose, every time you send me a mix CD God unkills several thousand kittens and Prince makes Doves Cry. You are awesome. Now, like I've said, come home.

Digital Lifestyle Efficacy (or a Theory of Technology Purchases)

posted on 2007-10-20 19:53:50

News: I got a PS3 60gb off craigslist Thursday for $350 complete with 2 wireless controllers and 2 games (madden and fight night, since exchanged for cash; sports games not my thing). And yes it's working fine. Linux will be on it soon! For those of you screaming that I'm crazy to get a PS3, see essay below (which is actually about technology purchases generally and hopefully quite good, so fear not).

Preface: I wrote this 3 or 4 days ago to get these thoughts down that I'd never quite bothered to formally articulate. I'll probably continue to refine this over time. I actually think it's not bad. Sure, it's a bit biased at points but on the whole this isn't bad information. And I'd love any formal rebuttals to any of my points. Cross-examination is good. Thanks for proofing folks.

So, I have a closet obsession with technology. Actually, maybe that's not quite in the closet. The obsession I'm really going to talk about here I'm calling Digital Lifestyle Efficacy, mostly because I can't think of what else to call it.

//Digital Lifestyle Efficacy is probably best defined as my philosophy towards technology purchases. It is, in essence, a desire to have your technology interoperate, serve it's purpose well, not restrict the user (you), and be as multi-functional as possible. Let me elaborate a bit on this.

There are a variety of product categories for which everyone owns a piece of technology. Here are a couple:
Laptop (and/or Desktop/Workstation)
Server
Cell Phone
Portable Media Player
Video Game Console
I'm not saying that everyone owns one of each of these but that everyone owns at least one of these items. That is, just about everybody has a computer, game console, cell phone, or media player. Many people have one of each of these. Your product categories may vary, as may your mileage. (i.e. Home Theater equipment might be on your category list).

So, every now and then I think about buying a product that falls into one of those categories. Right now, my next purchase will likely be a Game Console, then I'll replace my Phone, then my Laptop. There are some interim enabler purchases I'll talk more about later as well. I can predict all that now and explain why I've made those choices by the following guiding principles and rules.

I will here try to list those principles and give an example of each, followed by some general rules to follow in selecting hardware, and the example of my present gadgetry and where it's going. These principles and rules should really be followed by everybody, as far as I can tell, save the openness one of which much more can be said/argued. They are not a reflection of personal preference except where explicitly stated.

//Principles:

Openness - This doesn't deal with consoles as much. For phones, computers, and media players it's essential though. Openness in this sense means the ability to get my data on or off as a device, the ability to migrate between service providers and\or solutions with a minimum of hassle and, preferably, the ability to modify the software running on the system in concern (and the hardware if it's a computer).(Note: This principle is what tends to knock out most Apple products for me. If not for this, everything I own would probably be an Apple product; Unfortunately, Apple doesn't believe in letting me think for myself and do what I want. Sorry, Apple + Apple Fans. No sales for you.)

Interoperability - For a device to be interoperable, it has to work with the other products I own. Bonus points if there is a common aesthetic, a sort of aesthetic interoperability, between them. [Apple wins in this category of course, though they make rare aesthetic blunders as well (see the recent iPod Nanos).] There was a time when iPod support was unavailable on Linux. Given that I run Linux on my computer, that made iPods an untenable solution for me. Were I to replace my car stereo (more than unlikely), it would have to support input from my Media Player, ideally through the ubiqitous 1/8" mini jack. Products that take advantage of open standards are generally a win here.

One-Item-per-Category\Sufficiency: You should never, EVER, under any circumstances require more than one product from any given category to deliver the full functionality you require. That is, you should never need two cell phones or two Media Players. I extend this further to try and eliminate whole categories where overlap makes this possible. For example, you won't see a TV, DVD Player, or Pager on my list because those functions are taken care of by other items on the list. My Computer or Game Console serves as my DVD player and an appropriate monitor will take care of displaying video from the Game Console in lieu of a TV. A TV tuner card will enable the PC to handle cable TV as well. Cell phone's now take care of pager functionality in the form of missed calls and caller ID. Called ID almost means you don't even need an answering machine.

//Rules:

I only have one real universal rule. The other rule is a preference. The preference is for something to be as OPEN SOURCE (not open as above) as possible without compromising the other principles. My next phone, the OpenMoko, will be fully open source and run Linux without any proprietary bits. My next console, the PS3, can dual-boot Linux and act as a server.

The rule is to buy at the optimum time in the market life cycle. This is where a little bit of extra research and knowledge tends to go a long way. Not everyone knows where to find said knowledge or what to make of it so this section may be example heavy. First though, it's crucial to note here that computers are composed of many smaller parts, both hardware and software, and that these are independent products and categories in their own right. That said, we're off.

Technology Market Lifecycles:
These vary across product categories. For example, Consoles are generally good for 3-5 years and depending on how you build them so are computers. That's critically important.

This is why I built a computer in August of 2004 that is only now beginning to show it's age.

It's not just about buying the most powerful thing available at the time, or the newest, and hoping it lasts a while. That's often a decent way to get completely screwed and many people miss out on the finer details of this. Now, to be fair, most people who care this much about their technologies (as we're talking here about computers that are hand-built or at least built from hand-selected parts) are already nerdy enough to know the finer details. All the same this a part of my knowledge that I've never really thought to get down on paper.

All the examples I can think of fall into three (admittedly broad) subcategories. One, technology that is about to face competition from a revolutionary technology. Two, technology that is about to face competition from an evolutionary technology. And Three, technology that is about to shift to a competing technology which invalidates the earlier type.

I'll try to give examples of each to make my thinking a bit more clear on this. One is occurring now in the storage market as Solid-State Storage devices are replacing traditional Magneto-Optical Media (Flash drives are replacing Hard Drives). Two occurred recently when the slew of DirectX 10 (DX10) video cards came along to replace the DirectX 9 (DX9) cards. Three occurred when Apple shifted their product line from the PowerPC processors to Intel processors. Each of these have some caveats which I'll elaborate on.

Now, just because a revolutionary technology is disrupting things doesn't mean you should switch immediately for a particular product category. For example, I had to replace my Portable Media Player this summer and even though Flash-based Media Players are getting cheaper and that shift is inevitably occurring there was one thing that kept me from getting a Flash-based solution. There wasn't one that was available in the size range I wanted (~30 GB). That compromised the sufficiency principle. Even though it became clear a decade ago that LCDs would eventually become the display of choice my desktop still uses a CRT, partly due to cost and partly because I'm waiting on an LCD that will double as a TV for the Game Console.

Where evolutionary technologies are concerned my rule of technology purchasing comes out in full force. Whenever you're considering upgrading a product (say a CPU) to an evolutionary technology, make sure there's not a revolutionary technology waiting around the corner. Pinpointing the optimum place in the Technology Lifecycle can be fairly tricky. I can give a few examples of this and figuring out when to yield to this is probably the hardest part of technology purchasing to get right. Example 1: During the summer of 2004, I put off purchasing an Athlon XP based computer because I knew the Athlon 64 architecture was right around the corner. Example 2: I messed up by skimping and getting a Socket 754 based motherboard instead of going with the Socket 939 platform which had more longevity and features like PCI-Express and SATA even though I got the Athlon 64 bit right. Never skimp on your motherboard. Example 3: I am deferring my laptop purchase until AMD releases their GPU/CPU integrated processors in 2008/2009. The upcoming CPU/GPU convergence and the shift to multi-core processors is one of the biggest upheavals in hardware in the history of computing. Possibly the biggest. There have been a number of such revolutionary shifts lately, which is unusual. In storage (Flash versus Magneto-Optical), in Processing (Multi-core and Cpu/Gpu convergence), in Wireless (Wi-Fi versus Wi-Max), in Displays (LCD vs. LED), in optical drives (DVD vs. Blu-ray vs. hd-dvd), etc.

Finally, you would've been an idiot to purchase a Powerbook right before the Macbooks came out UNLESS you A)Just didn't know or B)Wanted to do something with the PPC architecture specifically.

So, that's generally how I figure out how to buy hardware. Motherboards are about the most complicated piece of the puzzle as you've got to make sure your motherboard will support any additional component purchases you plan to make over the next couple of years.

//Me, Specifically:
Right now, I've got an old Nokia phone, a medium-aged Thinkpad A31, a PS2, and a Creative Zen Vision:M 30GB, along with my desktop and my server. I should note that my desktop is likely to soon become my server and my server is likely to soon be retired. My upcoming purchases are a PS3, followed by a Dell 2007WFP LCD, then an OpenMoko phone to replace my Nokia, and finally (around a year or two from now, roughly when I graduate) a new laptop. By that time, laptops will be more widely using Solid State Storage and LED screens as well as Wi-Max and if I'm lucky I'll be able to get a DX10-level GPU/CPU combo from AMD as well all in a nice ultraportable form-factor. Maybe it'll even come with Linux from the Factory...

Now, to share a display and speakers between the media player, game console, and laptop (and, optionally, desktop/workstation) some additional infrastructure is required. My solution is to have a docking station for the laptop that my speakers are plugged into. When I get the PS3 and the monitor the monitor will go into the docking station and the PS3 will go into the monitor. I am also likely to need to get an audio switcher so the PS3 and Laptop can share the speakers. At that point it may be reasonable to get a USB Keyboard/Mouse to switch between the laptop and the PS3. Wireless Keyboard/Mouse might be a plus.

Before you ask, I'm getting a PS3 because of my need to play certain Sony-Exclusive titles and it plays the most software I want out of the next generation. I'm getting an OpenMoko because it runs Linux and is the most open phone on the market that still does what I need. I'm getting a Dell 2007WFP because it's the only flatscreen in the size and price range I need that I would trust to display PS3 games well. And I'm getting the laptop described above because I just have better taste then you. Also, my company biases are towards Sony consoles, AMD processors, and ATI video cards. Alright, that's it. Comment below.

Unless otherwise credited all material Creative Commons License by Brit Butler