Eric Schrock's Blog

Category: General

So in the past two days, my posts have contained a lot of code/text samples, that have to be formatted in a fixed with font and have their spacing preserved. Previously, I’ve just been using <pre></pre> tags around these samples. This work on blogs.sun.com, but I’ve found that this wreaks havoc with some RSS readers because the whitespace is not preserved. The newlines go missing, or whitespace disappears from the beginning of lines.

In an effort to be more RSS-friendly, I wrote a script that goes through and replaces spaces with &nbsp;, puts <br/> at the end of each line, and encloses the whole thing in <tt></tt> tags. The result is extremely ugly, but it seems to get the job done. I’m wondering, is this the best way to accomplish this? I’m not too familiar with RSS, so if anyone out there knows a better way that works for all varieties of RSS readers, please let me know. My googling abilities have yet to turn up anything…

There’s a nice little review of the w2100z over at AnandTech. Primarily a hardware review, it also contains loads of benchmarks between several different operating systems, including the Java Desktop System. It was nice to see Solaris 10 thrown into the mix, but it only showed up in a few benchmarks, as they were primarily geared towards the 64-bit OSes. The good news is that amd64 support will hit the streets in a month or two, so maybe we can force our way into a few more benchmarks – although the amount of amd64-specific performance tuning we’ve done is next to nil.

It was also refreshing to see Solaris presented as a desktop OS. I’m certainly not used to seeing Solaris showing up in mp3 encoding benchmarks. Hopefully this will become more common in the future – we’ve put a lot of effort into making Solaris run well on small systems and commodity hardware. Java Desktop System version 3 is now part of Solaris, and will show up in the next Solaris Express release.

One more thing:

86 years

Enough said.

What am I up to these days?

Recently, I putback my last round of major bugfixes in my “traditional” area of expertise – procfs, libproc, mdb, etc. And since I’m not attached to any of the major S10 projects, I can actually pick and choose what to work on next. I have tons of projects I’d love to start, but I can’t justify new projects so late in the release cycle. There are simply too many other things that need to be fixed first. The downside of choice is that eventually, word gets out that you have copious amounts of free time with only two months of development left in the release. I’ve basically been put up for auction, except the bidding price is always the same – though the work itself becomes the reward.

I’ve been spending quality time with our bug database, as well as entertaining offers from potential suitors. I’ve been pinch hitting on the amd64 project, helping out with greenline (SMF), and most recently signed up to help design and implement a new subsystem for ZFS. I’m also getting to play with cool things like ZFS on amd64: we’re getting it up and running on some very cool (and super-secret) hardware that I unfortunately can’t talk about. I’m learning about parts of Solaris that I never thought I’d have a chance to work with. It’s all very exciting, but I will definitely be happy when S10 ships so I can get back to some personal projects that have been evolving in the depths of my mind. Stay tuned…

So, do I hear a hundred? How about two hundred?

In a departure from all my previous blog posts, I thought I’d try my hand at a personal entry. Yesterday, the Olympic Track and Field competitions began, with the U.S. taking Silver in the Men’s shot put. What was supposed to be a sweep ended up in disaster: Cantwell never qualified at the trials, Godina fouled his first two and didn’t make it to the finals, and Nelson fouled all but his first throw. If you’re wondering how I know all of this, it’s becuase I’m a track nut. I’ve been running track and field since sophmore year of high school, and by this point know almost all the men’s world records, and a fair number of the women’s.

Back in high school, I ran everything; most notably the 110 hurdles, 300 hurdles, and triple jump. In college I was a walk-on, and focused solely on the triple jump (with a few 4×400 legs sprinkled here and there). The Olympic triple jump preliminaries start tomorrow. Despite the craziness at the U.S. Olympic trials, I’d put my money on Christian Olsson, with Jadel Gregario and Kenta Bell rounding out the top three.

Back in college, I was a fairly mediocre Division-I athlete, managing to jump 14.61 (47’11.5″) at the Ivy League championships my sophmore year. In contrast, Olsson’s best is 17.83 (58’6″) and the world record is a whopping 18.29 (60’0″). When you have a moment, try measuring out 20 yards and imagine traversing the distance in 3 steps.

For your amusement, I’ll leave you with some track pictures, courtesy of Dan Grossman, a great friend of Brown Track and Field. Some of these are certainly less flattering than others, thanks to the speedsuit and my unique facial expressions.

Harvard 2001
Sean Thomas and myself
Possibly one of my two good jumps sophmore year
Warming up at Heps 2001
Me not getting my feet out in front of me
More jumping at Yale
Indoor Heps 2002 (with bleached hair)
More indoor heps
Ridiculously cold meet at Harvard
Heps champsionships @Navy 2002
A very bad jump at Heps

By this point, I hope you’ve enjoyed my humiliation. Next post I’ll get back to some real issues, including kernel debugging and the joys of KMDB.

So begins my first blog post ever.

I have been a Solaris Kernel Engineer for 10 months now after graduating from my alma mater. Since I joined so late in the Solaris 10 development cycle, I have not had the pleasure of working on one of the larger S10 projects such as DTrace, Zones (N1 Grid Containers), FMA (Predictive Self Healing), or ZFS. But this has given me the unique opportunity to attack bits and pieces of Solaris from all directions. In particular, I have spent more than a few lonely nights with mdb, procfs, and the ptools. I’ve enjoyed growing up in this playground built by Mike Shapiro, Adam Leventhal, Roger Faulkner, and those who came before me. More recently, I have been drafted into service for the AMD64 (opteron) army, selflessly sacrificing my free time for the good of our porting effort.

From here, I will most likely continue to post about Solaris development as well as general software principles. You’ll likely see a focus on software observability, debugging, and complexity. This comes with the territory, as you can see from Bryan’s blog. It is not a coincidence that we kernel engineers share similar views and goals. It is an essential part of the philosophy that makes Solaris what it is today: a robust, reliable, manageable, serviceable, and observable operating system.

Recent Posts

April 21, 2013
February 28, 2013
August 14, 2012
July 28, 2012

Archives