Uncategorized
Antelope Canyon
This morning, we rode into Navajo Nation land to see Antelope Canyon. It’s one of a number of slot canyons in the area. Unlike other canyons, this one had very narrow openings at the top. This meant it was pretty dark (and cool, thankfully) even at midday.
Nate, our guide, grew up in the area and told us a lot about how the canyon formed (mostly water, a little wind). He also played some flute for us, and pointed out the best places to take photos from. Hopefully, my shots will turn out well.
One other interesting bit of trivia Nate shared was that Britney Spears shot a music video in the canyon.
Arches National Park
A couple of days ago, we left Torrey and headed for Castle Valley, UT. Our purpose there was to visit Arches National Park, especially the famous Delicate Arch.
Once we got to the park, we found not just beautiful arches, but balancing rocks as well. Some of them looked as if they were placed on top of the massive stone columns by giants. Getting to Delicate Arch was a long, steep hike. It took almost an hour to walk the 1.1 miles. We got there before sunset (when it is supposed to be the most beautiful) to avoid going back downhill in the dark.
We stayed at yet another great bed & breakfast there, the Castle Valley Inn. In addition to a main house, it has a number of cabins, all set in an apple orchard. It also has a big hot tub, which proved perfect for stargazing. We met a French couple there who are currently living in northern Virginia.
The next morning, we got to sample the apples in fresh apple juice and as spiced apples on our pancakes. We also had a nice conversation with one of our innkeepers. They turned out to be very experienced travelers, with multiple trips to South America, Europe, and Africa under their belts.
Bryce Canyon
After breakfast at the Spotted Dog Cafe, we bid farewell to Springdale, Utah (and an excellent hotel, the Desert Pearl Inn) and headed to Bryce Canyon. The biggest difference between our two canyon experiences so far was elevation. At the highest point we could drive today, we were over 8900 feet up. We spent three or four hours there, driving to different overlooks and stopping to take photos. After the tough hike yesterday, my travel companions and I opted for a much shorter one.
From Bryce, we drove to Torrey, Utah. It was a beautiful and terrifying drive. Beautiful because of the sandstone cliffs and trees. Terrifying because of the substantial number of hairpin turns, the rocks, trees (or really long fall) awaiting any misjudgment, and my pedal-to-the-metal friend that I was attempting to keep in sight.
After surviving that drive, and checking in at Skyridge Inn Bed & Breakfast, we had dinner at the Diablo Cafe. It’s the only time I’ve ever seen “free range rattler” on a menu (and no, I didn’t eat any). What we did order was very good. The dessert was excellent.
Even better than good food and great dessert, was having a hot tub outside my room to relax in and look at the stars before bed.
Zion National Park
We spent most of the day inside Zion National Park (in Springdale, Utah). The centerpiece of it is a large canyon made mostly of sandstone. Even though we’re in the middle of the desert, there is a surprising amount of greenery (pine trees, cacti, etc). It turns out that the desert can be quite beautiful.
Hiking to the Emerald Pools was very tough (we took the steeper of the two routes by accident). It wasn’t just the rocks, but the fact that a lot of them were covered in this really fine sand. That made our footing rather treacherous, but we made to all the pools there were to see.
It’s a lot easier to see the stars at night out here–so different from home with all the lights and traffic noise. Springdale has narrow roads, and traffic is light enough now that you can hear crickets more often than cars passing by.
Google Gives Us a Browser
Even though Google Chrome is open source, I wonder what will happen to Firefox (my current browser of choice). Its extensions (like FlashBlock) and other ad-blocking capabilities make browsing the web a much more pleasurable experience.
If you want to try it out, grab a copy from here.
smallestdotnet.com
Scott Hanselman came up with this site that tells you what version of .NET you’ve got and your shortest path to .NET 3.5. I’ve tried it from a couple of different Windows machines (one virtual machine, one real) and it works pretty well. When I browsed the site with my iPhone, it figured out I was running a Mac.
Especially useful is the JavaScript snippet he provides that lets you have that functionality on your own website. I’ll definitely be passing this url around the office.
Other People's E-mail
Lately, I’ve been getting e-mail at my Gmail account that are clearly intended for other people. I thought “Scott” and “Lawrence” were fairly common names individually, but the number of people who believe that slawrence [at] gmail [dot] com belongs to them has grown to the point where it’s beginning to become inconvenient.
The e-mails that concern me the most are the ones that contain people’s travel information, passwords to certain websites, and cellphone bills. Because they’re automatically e-mailed from these sites, I’m not sure what the best way is to contact these folks to have corrections made.
I welcome any suggestions readers (all 3 of you ;-)) might have on the best way to deal with this.
My iPhone Review
I picked up a white 16GB iPhone 3G on July 13. After a month of use, I can add my 2 cents to the tons of reviews already out there.
Battery Life
I have to recharge the phone every two days, running with 3G and wi-fi off, except when I need them. If I leave 3G on, I have to recharge the phone after a day. From people I’ve talked to about other 3G phones, this amount of battery life is typical.
No Keyboard? No Problem.
I’ve found that I can type with 2 thumbs reasonably quickly, even without the physical clicking of keys. I can’t type as fast as I could on my old Nokia 6820, but it’s still usable.
The iPhone as a Phone
The only functionality obviously missing is support for MMS (picture mail). It seems odd that phones AT&T gives away have a feature that the iPhone lacks, but that’s the situation. While it isn’t a feature I want desperately to use (I barely used it on the Razr), having to surf to a website to receive MMS messages someone sent you is inconvenient.
I like everything else. The recent call and voicemail features are particularly well-done.
The iPhone as a Web Browser
Browsing the web is where the iPhone really shines. At this point, there’s no other device its size that enables you to surf the web so easily. If you aren’t an AT&T wireless subscriber, this feature alone is probably one of the best reasons to buy an iPod touch.
While the iPhone doesn’t support Flash, I see this as a plus. On my work and home machines, I use Firefox 3 with Flashblock enabled on virtually every site. No worrying about ads, or video I don’t want, or the battery life penalty that would likely come with Flash support.
The iPhone as an iPod
Last week was the first time I used it much as an iPod (I was in Toronto). As cool as the click wheel was on previous iPods, multi-touch crushes it. I didn’t think navigating through a large music/video collection could get easier, but it is. Watching videos on a screen that size isn’t bad at all.
E-mail on the iPhone
So far, I like this feature. Occasionally, I’ll see a “This message has not been downloaded from the server” note, but that only happens with my Comcast e-mail account.
The Apps
I spent a lot of time playing JawBreaker when I was at Pearson International waiting for my flight home. It’s an addictive little game. Beyond that one, the apps I use most are NetNewsWire, Facebook, and Pandora.
Overall
I’m very pleased with it. I’ve only gone traveling with it once so far (to Toronto for Agile 2008), and even though I had a laptop with me, I barely used it. If I had it to do all over again, I would have left the laptop at home and simply synced the iPhone with my work e-mail. It’s that capable and excellent a device.
XML Schema Gotcha
This is probably old hat to XML experts, but it’s new to me–the default values of the minOccurs and maxOccurs attributes of <xs:element>…</xs:element> in XML schemas are both 1 (one). I had a schema definition with minOccurs=“0” and no value for maxOccurs. In order to get the behavior I assumed was the default, maxOccurs needed to be set to “unbounded”.
Loading text file contents into a string
While working on some XSD validation code today, I found that I needed to load a couple of text files into strings to unit test. I’d forgotten how I’d done this before, but I googled the answer with this search term:
file to string .netThe top result (at least as of today), gave me the answer I needed. I've reproduced it as the following function:
Update: Ed Poore let me know in a comment that the .NET Framework contains a method that does this already. System.IO.File.ReadAllText(path) does the same thing, so you can completely ignore the method above.
Hello WordPress 2.5.1
Finally upgraded to the latest version, so I figured I’d change themes too. The upgrade process turned out to be far easier than I expected. If I remembered any UNIX scripting from undergrad, I’d automate it.
Paintball
I spent part of my Sunday running through the woods shooting at friends and strangers. The place: Outdoor Adventures Paintball. The occasion was a friend’s 29th birthday. Paintball has changed quite a bit since I first tried it as a sophomore in college. There are college and professional leagues now (my alma mater apparently has quite a good team). There are corporate sponsors. They even have TV coverage on ESPN2 and the Versus network.
For novices like us, it was a great time. We teamed up against a group of what looked like undergrads from the University of Maryland. In three rounds of matches (3 games per match), we won each 2 games to 1. Usually it was by killing all of them off, but at least a couple of times we captured their flag and moved it all the way down the field. The “center flag” variant of the game (one flag midfield that a team must capture and move forward through their opponents) was our least favorite. We had a really long field for it in the second match, and our strategy didn’t work that well at first. The one thing I would differently the next time is buy more ammunition. Even though you have to pull the trigger for each shot, I ran out of ammunition before our third match was over.
Macbeth, Teller-style
I saw this production of Macbeth this afternoon with my friends Jen and Alban. We were rewarded for our wait in the freezing cold (for standing room tickets) with actual seats for the show. Thanks to Alban (I owe you big for this one), yours truly got a front row seat to the show. Directed and produced in large part by Teller (of Penn & Teller), it was anything but your typical Shakespeare production (if there is such a thing). I’m no aficionado of magic, but they pulled some incredible tricks in this show. People appeared and disappeared before our eyes. We saw fake blood which looked uncomfortably real. I knew we were in for quite a ride when the show began with a Folger Shakespeare Library staffer stabbed through the back while reading us an announcement from the stage. This doesn’t even include the excellent acting, the great fight choreography, the sound effects and percussion.
Back to the trenches
Instead of management and code, I’ll just be writing code (at least for now). Today, I started a new job at a small consulting firm in Virginia with a software lab that wants to start putting out products.
Today consisted of the environment configuration and filling out of forms typical of a first day. Most of the last half of the day was taken up by a boot camp. I found it to be a very enlightening how-to on consulting, as well as an intro to the company’s culture.
A More Perfect Union
Barack Obama spoke at length yesterday on the issue of race in general and his former pastor in particular. If you haven’t already seen and heard the speech, or read the transcript, I encourage you to do so. There is no soundbite that can do justice to the importance and brilliance of his message. If there was ever a politician who could legitimately argue that he’s a uniter and not a divider, it is Barack Obama. I only hope it helps him win in Pennsylvania.
Fixing Computer Science
I’ve been reading a lot of complaints about the current state of computer science education lately. This post makes a reasonable attempt at summarizing the different ideas around what sort of graduates these programs should produce. I’ve been in industry long enough that my CS program hadn’t switched to using Java as the initial language when I started. I agree with Brian Hurt and Chris Cummer about the value of a computer science degree.
The right courses in a CS degree amount to a toolbox of concepts that you can use to solve whatever real-world problem you’re facing. The most recent example of this happened on the job. We had an issue where some text files being downloaded for storage in a database kept causing failures in a process. Because of how the process was implemented, there was no way to pin the cause of a failure on a particular line of the file. The files in question are regularly more than a gigabyte in size, so manual inspection wasn’t an option. The minimal understanding I have of how compilers work enabled me to direct my staff to build a parser, so we could validate the input file before running the process against it. Without a CS background, it’s highly likely that I don’t come up with a solution at all (or a really bad implementation of a parser).
If I had it to do over again, I would have spent more time in my CS program getting better depth in compilers, operating systems, and other areas.
Computer science isn’t perfect, but it’s relatively young as a field compared to disciplines like law or medicine. There are probably things that should be changed, but I think the fundamentals are good.
Birthday
I turned 34 today. I suppose I’m officially in my “mid-30s” instead of my early 30s now. Other than that, it doesn’t seem different at all from any of my other post-30 birthdays.
I did pick up a new toy for my birthday–an 8GB iPod nano.
Welcome to 2008
If a single word could define my 2007, it would be “travel”. I suspect it’s the biggest reason I enjoyed the year. The places I had the chance to visit include:
- San Jose, CA
- San Francisco, CA
- Portland, OR
- Seattle, WA
- Vancouver, BC (Canada)
- Orlando, FL
- Dallas, TX
Looking back at the five things I wanted to accomplish this year, I finished two: taking two full weeks off, and forming an LLC. The latter should play a large part in what 2008 will be like for me. The three things I didn’t accomplish last year go back on the list for this year:
- Learn a new programming language/product. I ended doing nothing at all with Eiffel last year. This year, particularly with the LLC, I've been thinking about specializing in a product. When I worked for Lockheed-Martin, I specialized in the customization of Community Server. I'll either go back to that, or look at a technology from Microsoft (BizTalk, SharePoint, etc). If I learn another programming language, it will probably be something like Python.
- Re-learn the piano. I hardly played at all last year. I'm glad my ability to read music hasn't disappeared. I'm not sure what it will take to get me practicing regularly again, but I'll figure something out.
- Study the Bible more regularly. I've started using online devotionals and religious podcasts to jump-start this.
Digital Cameras, and another Adobe Lightroom Plug
This time, from a much higher-profile blogger than me–Tim Bray. The bulk of the post is actually about digital SLRs (DSLRs), more specifically, Bray’s follow-on commentary to this post by Dave Sifry. The starter kit looks decent, but the estimate of how many RAW files a 4GB Compact Flash (CF) card will hold makes me wonder if Canon’s RAW files are bigger than Nikon’s. I have a D70s I’ve been shooting with for about two years, and a 2 GB CF holds over 350 RAW files.
The only place where I might differ with Bray’s additional points is the first one on camera brands. Canon and Nikon between them own the vast majority of the film and digital camera markets. This is important because it means you’re far more likely to find used equipment of good quality in those brands than with Pentax, Sony, etc. In my own case, the reason I got the D70s was that my friend Sandro found a refurbished one for $600 at Penn Camera. Maybe 6 months before that, the same camera cost $1200 new. New lenses get pretty expensive once you get faster than about f/4, so good used ones also keep things affordable.