Saturday, January 06, 2007

Last Open Street Map

This is probably going to be my last contribution to OpenStreetMap, at least for a while. Dad and I went for a walk (him for the exercise, me for the mapping), and have now surpassed the up-to-datedness of Google Maps. You see, back when the military base was open the PMQs (there's no Wikipedia page for PMQs that I want, so you get gc.ca instead) had a main street running through it called "Boulevard", and the latest Google Maps reflects this. Now that Garrison Crossing has moved in and rebuilt the area, the street has been renamed to "Garrison Boulevard". Thanks to me Open Street Map has the new name, and Google Maps still has the old name.

For this update, Canterbury Drive has been completed, Keith Wilson runs from Boundary to Vedder (before it was Boundary-Kathleen), added and completed Peach Road, added the Vedder Trail from Peach to Vedder Road, added Vedder road from the trail parking lot to Keith Wilson, added Garrison Boulevard, and added and completed Birmingham. If someone could do Vedder at the bridge area and Vedder from Keith Wilson to Watson, then Vedder will be finished (it becomes Vedder Mountain Road on the north side of the bridge). With Vedder and Evans being done, the major arteries of Sardis will be completed, and it will be down to mostly residential streets. Now we just have to wait for the OpenStreetMap tile renderer to get around to doing the Chilliwack area.

Thursday, January 04, 2007

Pacific Storm in London Drugs

My brother's band came over today for a jam session, so my Dad and I went out to the malls to do some chores. Whilst in the London Drugs I noticed two boxed copies of Pacific Storm available in the computer section. The cool thing about this is that Pacific Storm was made using the LGPL 3D engine Ogre3D. This is probably the first time that I personally have seen open source software on the shelves of a major retailer (Mandriva at the UBC Bookstore is the only other case). A big congradulations go out to Lesta Studios on getting their work into major retailers, a big congradulations to Sinbad and the rest of the Ogre3D team for making Ogre3D a top notch open source graphics engine. Pacific Storm can be purchased from your local London Drugs for $40. You can check out more screenshots of Pacific Storm on the Ogre3D website. Now if we could convince them to port to Linux (Ogre3D (OpenGL) runs on Linux already)

This isn't an isolated case of quality coming from open source games. I am constantly keeping my eye on Battle for Wesnoth, which recently released version 1.2. This version introduces some new music, multiplayer features, and graphics, including new character portraits. I know that the character portraits were the main complaint of Byron, and with these new ones (and hopefully even better ones in the future), he's got far less to complain about. I think I prefer the mountain graphics from the previous releases, but these kind of artistic things are still getting ironed out.

Another game having a new release recently is Danger from the Deep, a WWII German submarine simulator. This game used to have the standard ugly programmer graphics, but in the past year the models and other graphics have gotten much better. This is a game that looks like it is really picking up speed (it's at about Klein Fahrt right now, but it's getting closer and closer to Grosse Fahrt), and you might want to give it a download and try it. The game desperately needs a manual (as much of the gameplay is difficult to figure out), but I think it could be a submarine simulator's dream.

Another game using Ogre3D is Ankh, made by Deck13 (Ogre3D site screenshots). Ankh is an adventure game, much like the LucasArts games that many of us grew up on. I don't know how much it retails for, but the game looks like it kicks ass. The primary language of the game is German, and they even got some professional voice actors to do the voices (apparently the main character is voiced by the guy who does German dubbing for Tom Cruise). The developers did a preorder campaign to see if there was enough demand for a Linux port. About a week later they announced that there was plenty of demand for Linux, and the Linux port is now underway.

If anybody thinks that Linux/open source gaming is dead, I'm sure they will be beat down to a bloody pulp this coming year. Just check out the Featured Projects page for Ogre3D.

Another Street Map

Last night my brother and father went out to see the Canucks/Stars game. Of course, I asked them to take out the GPS. I have now uploaded an almost complete Keith Wilson Road, some of Boundary Road, No 3 Road from Boundary to the Highway, Highway 1 from No 3 to 176th, 176th down to 88th ave, then over to King George Highway, then up to the King George skytrain station. They even had the thing turned on both ways so I got information for both directions for Trans-Can and King George (which have medians). I still have to get the section of Trans-Canada between No 3 Road and Vedder.
Free Image Hosting at www.ImageShack.us
In the screenshot you can see the NASA imagery being underlayed behind the map. This image is very low resolution (is this due to my zoom level when requesting the image, or due to poor resolution in the image database?), maybe around 30m/pix

Wednesday, January 03, 2007

Width of Blogger

I was doing some minor Blogger maintenance today, things like updating my template, as Google is updating a bunch of the Blogger stuff (like servers, how the backend works, etc). When I switched to the new template I noticed that it was rather narrow (who wants to scroll five pages to read a simple blog post?), so I decided to widen it a bit. The outer wrapper is now 760 pixels wide, while the text area is 510 pixels wide. This means that the whole page should still fit within a 1024x768 screen. It looks to me like the Google template won't resize if it comes across a smaller screen, and I don't know gml (Google's markup language for their templating system) enough to make variable width templates. Are there any other complaints?

Tuesday, January 02, 2007

Contributing to Open Street Map

This post will have two purposes, one being an introduction to contributing to OSM, the other to give an update on my contributions.

Open Street Map (wiki) is an effort to generate street maps of the world with an open license, similar to Wikipedia is doing for knowledge. I don't think I really need to introduce it, so I will leave it at that. To follow this tutorial, you will need an account at OSM (accounts for contributing to the map and contributing to the wiki are different accounts. This tutorial will use the map account). For editing OSM data I like using Java Open Street Map (JOSM is what most people call it), as it runs locally (and therefore a bit faster) than the other applet/ajax programs available. I'll assume that you can manage to get JOSM downloaded and running on your own (of the ones I have tried, "latest/snapshot" is generally stable). Now there are two ways that GPS units will record logs, and this seems to affect how editing happens ever so slightly. The way that most people on the OSM wiki seem to track their routes is through a timer-based recording, ie. the GPS unit will record current position every x seconds. Another method is distance displaced, ie. record position if further than x meters from last recorded position. My fathers GPS (and I can't seem to get it out of this mode) will record position if you start deviating from a straight line, ie. the unit checks your trajectory from the last position and if you are traveling in a straight line, it will not record positions. This has the effect of minimizing the number of nodes recorded, but I am uncertain about the algorithm's accuracy (and if there is "latency" in detecting turns/curves). The mode will affect how we work in JOSM, so keep this in mind. If you can save your track logs onto your computer somewhere, that is good, because they need to be converted. Go download GPSBabel to convert your tracks from the format of your gps unit to the GPX format. GPSBabel comes with a GUI frontend for Win32, but this only crashed for me. In the command line, because my GPS unit is a Magellan eXplorist, I type in
gpsbabel.exe -i magellanx -f "c:\Documents and Settings\The Dunns\Desktop\TKLG005.log" -o gpx -F "c:\....\TKLG005.gpx"
the -i is for the input format, the -o for the output format, the -f for the input filename, and the -F for the output filename. You now have a GPX file ready to import into JOSM. In JOSM, Files->Open will open the GPX file, and the view window will automatically zoom to the bounds of the log. Then you go to Connection->Download from OSM, check the OpenStreetMap data checkbox and hit OK. It will ask for your account info, which you should already have registered. If you don't want to enter your info every time, there is a place in the settings where you can enter your account info once (note that it is stored/transmitted in plaintext). When downloading from the OSM server, JOSM will request a bounding box equal to the currently viewable area. This is why you should import your trace log before downloading from OSM. JOSM is very powerful, and I will only cover the basic topics. There are tutorials and video tutorials that you can check out if you want to learn more. Hover over the buttons on the top and side, as most of them are self-explanatory.

In JOSM a node is a point on a map, a segment connects two nodes, and a way combines multiple segments to create one object. Most streets are ways with name/other labels. Everything in JOSM is stored in layers, with raw GPS data going into GPS layers, and OSM data going into the "Data Layer". You can only edit things that are in the "Data Layer", and there is only one "Data Layer" at a time! This is where GPS logging mode is important. If you are using time-based or displacement-based logging, you will want to leave your GPS logs in a GPS layer and add nodes/segments from scratch in the Data Layer. This will reduce the number of nodes that are used, and make things a lot "cleaner". In my case, because the GPS unit is already reducing the number of nodes recorded, I just right-click on the imported GPS layer in the layers dialog and "Convert to Data Layer". Now the Data Layer will contain the downloaded OSM data along with the new information that we want to add. The new data will be imported as one long way, so the first thing I do is make sure nothing is selected (by selecting some blank space), then I select the "delete" tool and click on the imported line once. This will delete the way from all those segments. Then I look over the trace and start eliminating redundancies. Sometimes I travel down a street more than once, so I have overlapping segments. I eliminate these segments by using the delete tool and clicking on segments and nodes that I want to get rid of. Note that a segment requires both of its nodes to exist, so you must delete a segment before deleting a node if it is the last node in a set of connected segments. I will also get rid of unnecessary nodes in this step (like if I know the road is straight, but the GPS added extra nodes for some reason). In the process of removing redundancies I will tweak some positions (like if you walk down the sidewalk the actual center of the road might be four meters south). Once I have eliminated redundancies then I go about connecting all connected roads (see Junctions for an example of what I'm talking about). This will generally involve adding a node to one of the roads where the intersection occurs (ie. "into segment", click the little arrow in the "Add Node" tool for a dropdown of add node modes), then deleting (ie. breaking if it's two through roads or deleting the last segment and node if it's a T-Junction, and finally connecting the node of the intersection to the broken road. Direction is important in OSM and JOSM, so mind which way the arrows point. Now that all my redundancies are eliminated and all the roads are properly connected I will start assigning "ways". As I stated earlier, a way is a grouping of segments, and are what we assign road names/types to. I will use the box selection to select the segments I want, then shift-click to refine my selection and finally click on the "Add a New Way to the Data". Now we have a way. In the properties dialog I will then set key/value pairs for the road type (most OSM users seem to be British, and they seem to call all roads "highways" so don't be confused when the proper key for a residential street is "highway"), and for the name, plus other information such as oneway or pedestrian only. When I am JOSM-ing, I usually have three pages open: Map Features, Editing Standards and Conventions, and Key:highway. They come in quite handy and I use them to determine how things should be labeled. Also helpful are Wikipedia and an online mapping site (Yahoo Maps, MapSend, Google Maps, MS Live Local, etc). Be careful when using online map sites to verify things, as they will have easter egg errors to catch copyright infringement. Once you have imported, converted, eliminated, tweaked, wayed, tagged, and keyed everything you should download once more (make sure your view window covers all your changes) to make sure there will be no conflicts when you upload, in case someone else is editing the same area. Then upload, and be content that you are contributing to the open sourcing of the world.

For New Years Eve, my dad went up to some friends house in the Okanagan. You would be correct in guessing that I got him to take the GPS with him. As a result, I have now contributed the Trans-Canada Highway from Vedder Road to Hope, the Crowsnest Highway from Hope to Keremeos, the 3A from Keremeos to Kaleden, the 97 from Kaleden to Okanagan Falls, and some of Eastside Drive (near Okanagan Falls). Expanded roads are Vedder, and Watson.

In the first screenshot you can see HW1 in blue (what is that, powder blue?), with 3, 3A, and 97 in green. You will also notice a small bit of road in Penticton (somebody did a poor job of mapping out Lakeshore Drive, and then gave up. Guess I'm not the first person in BC to contribute to OSM). The second screenshot has got Chilliwack in more detail, with Vedder in red and the walking paths in Watson Glen Park in green, plus some of the roads on the south side of Cumberland in shades of grey. One interesting thing about doing the highway system was trying to figure out what names to give different sections of pavement. The section of road from Kaleden to Okanagan Falls has the names "British Columbia Provincial Highway 97", "British Columbia Provincial Highway 3A" and "Okanagan Highway". This is where Wikipedia's BC Highways page came in handy. Well, that about wraps it up for today. Perhaps I'll get some more of the Cumberland area done tomorrow. I won't have a GPS unit in residence, but if people want to send me GPX files with a general description of where they went, I'd be happy to help out.

Friday, December 29, 2006

The Cost of Windows Vista

For the holidays I decided to leave my personal computer, Hopper, in residence, and just use the machine that is at my parents' house. One result of this is my not reading RSS feeds (basically my sole source of news) over the holidays. I know I will hear lectures of how I should use web-based RSS syndicators, but I like Liferea too much to just say goodbye to it.

As a result of not having read any of my favourite electronic haunts over the past week, I am a couple days behind on reading a particularly interesting news article. If you haven't already, I suggest reading A Cost Analysis of Windows Vista Content Protection. It's quite long, but I made it through the whole thing, and it's quite an interesting read, with many good points sprinkled throughout. Even the footnotes are good reading. Even though most people who read this blog have probably already found the article through Slashdot, I figured if more people blogged it, then more people will know about it. More specifically, I haven't found a response from a Microsoftie yet. There are the standard responses on Slashdot (Linux fanboyism), but hopefully other places like Channel 9 or other Microsoft community sites, and hopefully Microsoft bloggers will start to comment on it. I'll be keeping my eyes on the Google search for "vista_cost".

Thursday, December 28, 2006

No Rockbox On 80GB iPod Video

Well, I was doing more investigating to see how easily Rockbox would go onto my new iPod, and if iPod + Rockbox would be better than iAudio. As it turns out, from the iPod FAQ wiki page, and from the forum, last updated December 19, it looks like Rockbox is not currently running on the 80GB iPod Video (also known as the 5.5 Generation iPods). Apparently, the project has just recently gotten it working with the 30GB 5.5G, but not the 80. At this point, I figure it's time to just return the iPod. Oh well.

Wednesday, December 27, 2006

Open Street Mapping

As I mentioned in a previous blog post, my father received a Magellan GPS. Being the open source kind of guy, I have always had very strong feelings about the should-be openness of maps. I believe that the great land of Canada, especially the public land, belongs to the people and the maps of those lands should be completely open and public domain. After all, public land is called "Crown Land" in Canada, to denote that it is owned by the government and the people. I own a small portion of Vedder Road, so why should I have to pay and agree to copyright restrictions just to find out where it is? Thus, we have OpenStreetMap. Using GPS traces, and applying various properties to different location nodes, volunteers can map out street/ground level information. Personally, I think that topographical information should also be stored, but the openness of OpenStreetMap will allow export in the future, so I'm not too concerned (plus the extra dimension of information would be a huge burden on the already slow server).

I have already created an account, and have uploaded my first gpx trace. My mom had to drop my brother off at his work (Prospera Center), so I turned on the GPS unit, threw it in the back seat, and waited for her to return. You can see the resultant trace of my mom doing some errands around town. I have also downloaded the Java Open Street Map software, and am trying that out. Here's a screenshot of the same trace, after some cleaning up around my house area (the gps unit's accuracy went down from +-6m to +-30m once it came indoors and lost some satellites, so I had to clean that up).


Hopefully I'll get this stuff all figured out and do a couple traces of the Vedder Crossing area before I go back to residence (I don't get to take the GPS unit with me, so no mapping fun over the semester).

iPod or iAudio?

The major gift that I received this Christmas was an iPod Video 80GiB. 30 hours after removing the gift wrapping, the iPod remains in its shrink wrap packaging. Why haven't I opened it?

MP3 is a terrible audio format. In most listening tests it fails miserably, it only supports stereo, and most importantly, it's not open. Obviously the best audio codec (for lossy) is Vorbis, but most portable audio players don't support Vorbis right out of the box. The iPod is no exception. There are firmware alternatives such as RockBox, but I'm not a fan of potentially bricking a $400 piece of hardware. I have heard of the iRiver, and its support for Vorbis, so I thought maybe that would be a good alternative. I decided to take a look at Xiph's list of portable players. Unfortunately, the latest iRiver product, the H10, is not capable of playing Vorbis, so it looks like iRiver is dropping official support for the superior codec. Another potential candidate would have been the Neuros, whose firmware decoder was actually coded by the good people at Xiph (Tremor was written under contract and paid for by Neuros). Unfortunately, the Neuros II has been discontinued, and the Neuros III is still in the planning stages. Yet another potential candidate, was the Rio Karma (Rio is a relatively old company, having some history in the graphics card industry), but the Rio company went under and sold out to SigmaTel. So far this is looking very hopeless.

The one device that catches my eye from the list of compatible players is the Cowon iAudio X5. It can play Vorbis and FLAC, as well as other features that I would be less likely to use, such as MPEG4 video, FM radio tuning, built-in microphone recording, line-in recording, etc. The other nice thing is that it uses a simple mass storage device style communication with the computer, which means it will work with Linux (the official website even says it will work with Linux kernels 2.2 or later). I did some Googling and reading, and judging by the reviews for the 20GiB on Amazon, the jury is split, with some loving it, and others having problems with the battery after about a year, or having problems with the positioning/construction of the headphone jack. I don't know if these problems were solved with the 60GiB X5, as the reviews didn't discuss it. Another problem would be the X5's limit of 10,000 files, compared to the iPod 80GiB's limit of 20,000. I would estimate I have around 7,000 audio files right now (Rhythmbox can give me an exact number, but I'm not in front of Hopper right now), so I could hit the file limit before I hit the space limit. The final problem that I can find is the possibility that the 60GiB X5 is discontinued. The official North American Cowon distributor, Jetmall, has the 60GiB listed, but NCIX does not (though it does have the 20GiB and 30GiB available for ordering). If you are interested in learning more about Cowon products, I would suggest checking out iAudiophile.net, the fansite for Cowon products.

So after all that research, I am going to go back to looking at RockBox, and seeing what kind of features it provides, and if it is safer to use than when I had last heard about it. Oh, and in case you are wondering, converting my vorbis and flac files to mp3 is most certainly not an option.

Tuesday, December 26, 2006

Geotagging It Up

For Christmas my father received a global positioning system unit, the Magellan eXplorist 600. We are still trying to figure the thing out. For some strange reason Magellan decided not to include a comprehensive paper manual, leaving most of that duty up to a pdf file on the Internet. Even basic things like how to hook up the unit to the computer is left ambiguous. In the paper manual it says that to hook up to the computer or to charge the battery, you must hook up the data/power cable to the unit. The catch is that the connector on the back of the GPS unit is symmetrical in two axes (there are six conductor plates arranged in an almost-hexagon, with a nut in the center, while the cable has six pins with a bolt in the center), which means there are two ways to connect the cable, and the paper instruction manual does not have any description or graphics on how to hook it up. For about the first ten hours I was trying to charge the battery and get the data transfer working all while the unit was hooked up backwards. Quite a silly connector design, and quite a silly choice in not including a proper manual with the unit.

The included software (MapSend Lite) is, in my opinion, useless. Sure I've only been using it for a couple minutes, but it already looks featureless and boring. It only has an outline for major bodies of water (I'm talking about oceans and The Great Lakes. The software can't even import the overlay maps that come on the same CD (these overlay maps are intended to be loaded onto the GPS unit so that you get extra map information about your local area). I also tried getting Google Earth to work with the GPS, but that requires a $20 annual subscription to get Google Earth Plus. Right now I'm working on getting WorldWind running, and hope that will be able to import POI, waypoint, track, and other information. One nice thing about this unit is that all POI/waypoint/etc information is stored in ASCII, and realtime information is transferred over USB in NMEA format, which appears to be industry standard. Hopefully this means the unit will at least be marginally compatible with Linux.

My last topic in this post has to do with Geotagging. Geotagging Flickr photos seems to be easy, and there are many guides to doing it, but geotagging blog posts doesn't seem to be as popular. I tried looking around for guides on how to geotag posts in Blogger (blogger.com/blogspot/google), but to no avail. Ultimately, it would be nice to have tags in the proper place in the html posts that you read in a webbrowser, and also the proper tags in the proper place in the RSS/XML feed. This would require Blogger to have a special field where you can type or copy-paste your lat/long and then it will put that info into the headers properly. Even better would be a "Geotag" button that gets the NMEA info from the USB device, and does it all magically (having a webpage read data from USB is something you probably can't/shouldn't do, but it would be fun). As it is, I seem to be forced to just put the tags into the post itself, and hope that RSS programs can interpret the information correctly. Geotag follows in meta tags, so should not be visible.



If you're in Firefox, just right click the page, go to "View Page Info", and the geotag should be visible in the Meta info textbox. To generate these tags, I cheated and used http://www.addressfix.com/ to generate the tag. Geotagging usually uses deg.deg format, whereas the GPS unit is currently set to use deg.min.min format, and if I want to do real geotagging, I would have to change the settings for the gps unit.

Monday, December 25, 2006

On the First Day of Christmas...

So it's been a while since I last blogged, all the way back in June. I've had some things that I was going to blog about since then, but I just never got around to doing it. It is now Christmas day, and our dinner guests will be arriving in about ten minutes so this one will be quick, but assuredly, I have some things that I will be blogging about over the next couple days.

For now I leave you with the following screenshot of Expedia.ca:

Do take note on how the advertisement is preventing legitimate use of the website itself! It is not possible to use the calendar in this state. The softwares involved are: Windows XP, Firefox 2.0.0.1, and Flash 9. This is definitely one lesson on how not to design a webpage. Don't worry, I have already sent an email to Expedia describing the problem and linking to the screenshot.

Monday, June 26, 2006

Why I Stopped Reading Digg

Today I decided to de-list Digg from my RSS syndicator program. I'm not sure precisely when they changed things, but I noticed recently that I have been unable to directly open articles from my RSS syndicator. You can read this article on Digg (if it'll let you) for more information. Normally I read headlines and entries in my RSS reader. If I'm interested, I will click the headline link, which Liferea sends to Firefox. Links within the article (if there are any) will also open Firefox with the linked webpage. Now, with "Digg v3", when I click the headline link in Liferea, Firefox opens and Digg tells me that I have to subscribe to read the article (this does not happen on some articles, to which I have not discovered a pattern). I have found that doing a search on the Digg website for the article's keywords still allow me to read the article, but introducing the extra step has just caused me to de-list Digg from my RSS reader.

The Hypocrisy of Digg



This brings me to another issue that both annoys me and makes me laugh about the Digg community. It seems as though all the users of Digg are big into what they call "Web 2.0", or "The Semantic Web". This is supposed to be a smarter Internet where data is traded between sites for smart collaboration and data relation (using XML, SOAP, API's, etc). First of all, we are nowhere near having a Web 2.0. Sticking a little orange RSS icon that links to a backend feed does not qualify as making something Web 2.0, but my vision and what should be required to make something Web 2.0 is another post altogether, so I digress. However, I would like to point out that this new account-required Digg completely breaks all the properties of the Web 2.0 that the Digg users subscribe to. The whole point of Web 2.0 is to have open data sharing in a computer readable way to support inter-site data transfer for easier amalgamation and relation of data. In other words, "screen scraping" should no longer be required under Web 2.0. Now the Digg community is not only closed to data sharing, but it is also a members-only site! How does this fall into line with their idea of Web 2.0? Do they think that just because the RSS/Atom feed is still available that this rectifies the problem?

Ah, but this should have been expected, as this attitude has been promoted for a very long time in the Digg community, along with much of the rest of the web. I'm speaking of the use of [Macromedia] Flash to store videos, audio, text, and other media that Flash should not be used for. Various formats have been coming out that support more and more semantic data that is used to describe our media. Take for example EXIF, which stores information about a picture, such as date, aperture, f/, focal length, comments, etc. Using EXIF information I can search for all photos I have taken that have a focal length of less than 30cm, which would mean it is a macro-photography shot. I could in fact search for all photos with a focal length less than 30cm on Google Images (if Google Images supported EXIF). Another example would be the Matroska Media Format, which is primarily used for movies, but it is capable of storing multiple video streams (think angles on a DVD), multiple audio streams (think language dubs), multiple subtitle streams, embedded photos (cover albums or something else), chapters, and comments. In this case, I could search for subtitle text, in any language covered by Unicode, or look for all videos that have an audio language of FR included. Flash, on the other hand, breaks all of these things. When YouTube, Google Video, and others encode videos into Flash, they are disabling and killing off any hope of supporting Web 2.0. The semantic data is gone. The player of my choice is not capable of playing the file. There's also the fact that there is no such thing as a 64-bit Macromedia Flash player (not even Windows 64), and open source versions suck because the format is closed. I just don't understand how people who claim that they support Web 2.0 can allow the obvious breakage of data trading and openness, both on their own site, and on sites they support.

Needless to say, I have decided to remove Digg from my feed syndicator.

Adam Got a Job

Yes, I now have a summer job (and have, in fact, had it for two weeks now). I'm working at a place called the Creative Centre Society - Cheamview Clubhouse for 35 hours a week, 9-4, Mon-Fri. Basically the place is a daytime clubhouse for people with mental illnesses to go and get support. I can't say much, as I agreed to keep the clients information confidential, but it's not a "nuthouse" like some might think. They aren't violent there, and most of the patients actually seem quite normal (their biggest complaints are about arthritis and how their grandchildren live too far away). The age range is also quite varied, but again, it's not like "One Flew Over The Cuckoo's Nest" or anything. It's only a day centre for them to get together, socialize, and rehabilitate, so no one lives there and no one is "committed". If any of them turn for the worse, then they get transferred to a different place. It's a good job, where I do a variety of things (better than flipping burgers). This might put a hamper on my weekday hiking availability, but hopefully Eric and I can convince Mike to come out some weekend ;)

Wednesday, February 15, 2006

The Birth of Hopper

On December 9, 1906, Grace Brewster Murray was born. She went on to graduate from Vassar College with a Bachelor's Degree in mathematics and physics, and continued her education at Yale, earning a master's degree in math and physics, and getting her PhD in mathematics. During this time, she had married Vincent Hopper, changing her name to Grace Murray Hopper. She joined the US Navy, working on the Mark I Calculator, and was the first person to write a program for it. After the war, she was discharged, but continued to work on the Mark II and Mark III calculators. It is during her time with the Mark II that she documented the now infamous "first computer bug". In 1949, she joined the UNIVAC I team, which was bought up in the early 1950s by the Remington Rand Corporation. It was during these early years with Rand that Grace Hopper wrote the world's first compiler, the A compiler. Her ideas and philosophies were used heavily in the creation of COBOL and FORTRAN, as she believed that computer languages could use syntax closer to that of English, rather than assembly. In her later years, Grace Hopper became a spokesperson and ambassador for the United States Navy. By the time of her retirement, she was a Rear Admiral, and the oldest officer in the Navy. From there she went on to be a spokesperson for the Digital Equipment Corporation until she passed away on January 1, 1992. For her extraordinary work in the area of computer science, proving that women can work beside men in this technical field, and being the person to write the world's first compiler, I have decided to name my fourth computer "Hopper" in her honour. The main objective of this computer is to further my experience in the world of computers, compilers, and all things of the sort.

As a recap, here is the list of my previous computers:

Babbage: Pentium 3 500Mhz, first computer to use the naming system. Named after Charles Babbage, the man who devised first mechanical calculator.

Mauchly: Pentium 4 1.4GHz, second computer to use the naming system. Named after John William Mauchly, the man who worked on the first electronic computer, ENIAC.

Cerf: Pentium 90Mhz, primary function was to act as a web server (http/ftp/svn/smb/...). Retired. Named after Vint Cerf, the man who co-invented TCP/IP.

This now brings us to Hopper. Hopper is an AMD64 Sempron 2600+ (1.6GHz) on an ASUS K8V-X SE Socket 754 motherboard. With 512MB of ram and a GeForceFX 5200, I'm expecting this computer to be a serious workhorse (as opposed to playhorse). There should also be no shortage in coding space, as Hopper is adorned with a 200GB SATA Maxtor Drive. One of the important things that I wanted to get was 64-bit because I know that 64-bit programming will become more important in a very short amount of time, and it would be a while before I make my next upgrade. In order to facilitate 64-bits and get the most out of this power, I have chosen Ubuntu Breezy Badger AMD64 for my operating system, and so far it has worked out quite well. I actually purchased the parts through a combination of NCIX and ATIC about two weeks ago, picked up the parts over last week, and assembled it all Friday night (Feb 10). Since then, I have been setting it up, and retrieving my files from Babbage (the computer I had been using at school up until now). Most applications work under 64-bit (as they have been compiled for 64 bit by the good people at Canonical). The only thing I need 32-bit environments for is video codecs from Windows and Macromedia Flash. Leave it to the closed source programs to prevent me from going 100% 64-bit.

Unfortunately, I don't have any pictures of it on the web. I'll get those up when I move back into residence (I'm on spring break right now). I know I'm a little behind on breaking the news, and really behind on posting anything in my blog. I say it every time, but "hopefully I will update more frequently in the future". See you later!

Monday, December 26, 2005

Merry Christmas!

I finished my last exam at 11:00 on Wednesday, and my mom picked me up from residence the morning of Thursday. I've been home since, but haven't bothered signing on to MSN yet (my brother rules the computer at the house). Christmas was good, the family finally upgraded computer monitors (courtesy of my grandparents). The computer here at the house went from a 15" CRT, where the reds were shifted right by one pixel, up to a 19" LCD, where everything is crystal clear, and the VGA cable isn't even plugged in. Boy is it sweet. On a whim, I took a look at the installation manual (it's a Samsung SyncMaster 920T), and what did I see, but a section on how to set up Linux to use the monitor. The instructions are kind of ambiguous, and you would need to know what you're doing with X before following the instructions, but seeing Linux having a section in the installation manual is a step in the right direction. The instructions are as follows:

To execute X-Window, you need to make the X86Config file, which is a type of system setting file.
1)Press Enter at the first and second screen after executing the X86Config file.
2)The third screen is for setting your mouse.
3)Set a mouse for your computer
4)The next screen is for selecting a keyboard.
5)Set a Keyboard for your computer.
7)First of all, set a horizontal frequency for your monitor. (You can enter the frequency directly.)
8)Set a vertical frequency for your monitor. (You can enter the frequency directly.)
9)Enter the model name of your monitor. This information will not affect the actual execution of X-Window.
10)You have finished setting up your monitor. Execute X-Window after setting other requested hardware.


Of course, there is the X86Config file, which is in /etc/X11/, but it is apparent they want you to run the x86config program, in which case, it should have been lowercase letters. It as also obvious they are using the old XFree86 project instead of the newer x.org. They obviously have some work to do, but it joys me to see they have a Linux section on installing the monitor, right after the listing for Windows NT, and Macintosh isn't even on the page. I checked out the box, but there is no Tux on it, unlike the Lexar USB thumb/stick/jump drives, which actually have a Tux symbol on the store packaging for all consumers to see.

Tuesday, December 20, 2005

Mongolian BBQ

Yesterday (Monday) a bunch of the guys who lived on 4th Nootka last year met up and went out for lunch at Great Wall Mongolian BBQ, on Broadway West. Steve, who has been on exchange for the past semester in Quebec, was in town for two days before going home for the holidays, so we tried to get as many people as possible together for lunch. Most of us met at the UBC bus loop and headed in via the 99-B, getting off at the Safeway on MacDonald, then heading back West one block. It wasn't the best decorated restaurant (not bad on the outside, but so-so on the inside), but the food was pretty good. The whole thing is done in an interesting buffet style, where you grab a bowl, put in frozen strips of chicken/lamb/beef/pork, layer on some vegetables and noodles, and apply your own combination of sauces from twelve choices. When you are satisfied with your concoction, you put the bowl in a queue and the chef will fry the contents of your bowl. Each bowl is done separately to prevent mixing, and you can see the setup in the pictures below. While you wait for your bowl to be cooked, you go sit down and the waitress will bring your bowl to you, hopefully remembering whose was whose. We ended up staying there for about two hours, just reminiscing on everything we had done last year. It was quite a good time, and for $11 for all you can eat, it was a pretty good deal. Pictures are, as always, on my webserver.

Saturday, December 17, 2005

Here Comes The Sun

Harrison

Chorus

Little darling
It's been a long cold lonely winter
Little darling
It seems like years since it's been here

Chorus

Little darling
The smiles returning to the faces
Little darling
It seems like years since it's been here

Chorus

Bridge

Little darling
I see the ice is slowly melting
Little darling
It seems like years since it's been clear

Chorus

--------

Last night I had my Math 221 exam, and had planned on watching a movie after I got back to give me a chance to unwind. The person I was going to watch the movie with was busy, so we decided to delay the screening until tonight, and I climbed into bed early (around 11:00). I decided I would get up early this morning to try out a little experiment. Getting up at 5:30 in the morning, I went through my standard routine, then got my camera set up to do some time lapse photography of the Sun rising in the South-East. I set up my tripod in front of my window facing the approximate direction that I have noted the Sun coming up over the past couple days, and made sure my battery was charged and my flash memory empty. Starting at around 6:45 this morning, I pressed the shutter button on my camera every 10 seconds until the Sun rose. A website on the Internet said the Sun would rise at 8:02 this morning, but due to local terrain and buildings, the Sun didn't show its merry face until around 8:27. My intention was to start when it was still pitch dark outside, but the sky started to lighten sooner than I thought it would, so I kind of missed my starting time. All the pictures were taken on my Nikon CoolPix 5900, with the autofocus light assist turned on, though I should've turned it off to make my life easier, as the light was bouncing off my window (and, after reviewing the pictures, was probably throwing the focus off). I also clocked the resolution down to 3 megapixels (2048x1536) and medium JPEG compression. Wite balance, matrix metering, colour, contrast, image sharpening, iso sensitivity, and saturation control were all either default or auto. I turned the focus area and noise reduction off, as I knew that dark shots would have a lot of natural grain and such. The battery held up quite well, taking 611 pictures over a period of 1 hour and 45 minutes, with the lcd monitor on the whole time. I then took all the pictures, put them on my computer, and used MPlayer/MEncoder to encode a DivX video with resolution 1024x768 at 15 frames per second. The specific command line code, for the curious:
mencoder mf://*.jpg -mf w=2048:h=1536:type=jpg:fps=15 -vf scale=1024:768 -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=2400 -oac copy -o sunrise_small.avi
I haven't been able to encode a full resolution 2048x1536 video, as the codec seems to give a Segmentation Fault at that resolution (I don't blame it), and I can't get other codecs to handle it either. The video turned out quite small, due to very little apparent motion, at only 12.4MB. You can grab it here.

In the beginning of the video, you can see Venus high and to the center. Around the 4 second mark, Mercury appears behind the bright tower in behind the trees on the left. Because I had to depress the shutter by hand and the lighting conditions were so low, some of the frames came out blurry, despite using a tripod. There were also times when I would shift my arm or press a button too hard and would move the camera, causing the wobble and shifts that happen sporadically. Around the 20 second mark, small black dots appear in individual frames that look like dirt on a traditional film strip, these are actually birds waking up at around 7:30 in the morning and flying in front of the camera. There was one cool point around 7:45 where a plane flew overhead, and the whole belly and wings of the aircraft was reflecting the Sun. I checked for this frame, but the aircraft is too small in the picture to be noteworthy. The Sun finally peeks around Promontory Estates at around 8:27, and the last frame of the video was taken at 8:30.

My method for timing was basically to count to myself (I don't have any lit clocks that show seconds, and my computer monitor would cause too many reflections on the window), so the video isn't very accurate in any sense of the term. The ultimate system would be to have some sort of computer controlled remote shutter switch, so I can write a script or use a program to fire the shutter at exact time intervals without any risk. An AC adapter would also be nice, for those extended time lapse sessions (I figure my battery had about 15 minutes of juice left before it would have quit).

Monday, December 12, 2005

Attack of the Aluminum

That could also read "Attack of the Aluminium" if you live in the UK or Australia.

Friday the 3rd was the last day of classes here at UBC, and what remains of our semester is called "Exam Period". Of course, exams only being ~2 hours long, this leads to much time on one's hands, and after a full semester of working, doing essays, toiling over labs, and trying oh so hard to get up for 8 a.m. classes, some fun must be had. Bryce, immediately following classes on Friday, had left to go home for the weekend (to get some laundry done up), while his roommate, Ryan stayed here. Seeing a prime opportunity for mischief, Casey, who is lucky enough to have a single room, decided to pull a little prank on Bryce. As it turned out, this prank would not be so little after all. Starting at 6 in the evening on Sunday, aluminum foil was obtained in large quantities, both through the form of purchase, and through the form of legitimate donations by the managers of local food services companies (the Totem Cafeteria and Pie R Squared, the pizza store in Student Union Building, being the primary ones). An underestimate (a gross oversight in this case) of required amounts led to more supplies being acquired later in the evening, from the graveyard kitchen staff of the aforementioned Totem Cafeteria. When all was said and done, the amount of aluminum foil used would appropriately be measured in miles instead of the normal feet, and the author wishes he had invested money in Alcan and Reynolds. But for what could this amount of aluminum be used for?

In Greek mythology King Midas of Phrygia is granted his wish that everything he touched would turn to gold. For one long night our resident Greek and Middle Eastern Archeology student, Casey, wished that he could have an "Aluminum Touch", enabling everything on Bryce's side of the double room to turn to aluminum, and so it did. It took until around 2 in the morning, and required the help of many people (who mostly came and went as they wished), but everything in Bryce's room ended up wrapped like some demented Christmas present, all shiny and silver in colour. All we were missing was Burl Ives singing "Silver and Gold". If you are feeling brave enough, you can download a zip file of pictures that I have prepared, that weighs almost as much as the aluminum ball that could be found in the hallway the next day. Prepare your hard drives for a full 75MB, and download this file.

The next morning, when Bryce arrived with clean underwear in hand, all he could say was "Wow." With all the effort that had been put in, with all the love and care it took to wrap all his possessions, Bryce couldn't feel angry, but instead amazed. It only took about half and hour to unwrap the room and contents, which made for an aluminum ball about two feet across. Believe me, an aluminum ball two feet across is next to impossible to "hackey sack", but it sure was fun to wrap up an early Christmas for an unsuspecting receiver.

Friday, December 09, 2005

Can't Switch Mouse Buttons

Here's a problem that someone showed me today on Windows XP. The problem: can't switch primary/secondary mouse button functions (ie. can't switch mouse from right-handed to left-handed). The background: One Dell laptop with Synaptic TouchPad and PS/2 mouse plugged in with USB adapter dongle. The person has switched the layout of their room, putting their laptop on the other side of them, so now, after several years of using the laptop, they want to change the "handedness" of the mouse. Their level of ambidextrous abilities is beyond the scope of this post, and why any right-handed person would suddenly want to switch is not my point. Going into the mouse settings, as per Microsoft's instructions shows that the "Switch primary and secondary buttons" checkbox is disabled. Of course this Google search comes up with nothing. At first I thought this could be due to conflicting software, and perhaps he had Logitech or similar software overriding Windows' functions. He said he didn't have any such software, and the generic brand name printed on his mouse, combined with the lack of any such program in the Start menu confirmed this. My next thought was that Microsoft or some other software couldn't handle having the buttons switched with the Synaptic pad turned on, ie. switching the buttons then touching the pad would be counted as secondary click. Disabling the touch pad did nothing for the ability to switch mouse buttons. Then I remembered (with some refresher from Google) about the command "rundll32.exe user32.dll,SwapMouseButton" but according to this page, that command is not a toggle, and not reversible through the same command. Seeing as how I didn't want the "client" to be left stranded in lefty mode, I didn't follow through on the command. Then I thought maybe XP was having problems with the PS/2 to USB adapter (despite the fact that I have changed handedness on Windows 3.1 with the old serial mice). Grabbing my USB mouse (Microsoft brand, no less), we unplugged his mouse, plugged in mine, tried to do the switch, then restarted and tried again. Then we logged on as system administrator in Safe Mode (thinking, maybe he didn't have permissions somewhere), and still nothing. I have no idea why he can't switch mouse buttons, after having tried all that. I narrowed it down to one final problem: "You're using Windows."

Friday, December 02, 2005

Snowy Days

Last Monday, we had the first morning frost (at least it was the first as far as I could tell). This was expected, and probably past due, considering how late in the year it is. The great surprise came Tuesday when UBC awoke to see a couple centimeters of snow on the ground. After attending classes on Tuesday I took my camera out and went for a good hour long walk. The temperature was hovering around zero, so the snow was falling lightly, while the trees would be raining down water, which caused a neat effect. It has been a week now, and the snow is still around, which is quite unusual for these parts. It has at least partially melted, reducing the roads to a muddy mess. To see the pristine beauty that was one week ago, check out the pictures.