Will Wright’s latest software toy is out, and while I would be excited over such an ambitious project, I have also been underwhelmed by SimCity 4 and other games of that type in the past several years. There’s also a protest afoot against the game’s copy protection, so it has just over one star on Amazon.com. On a mailing list at work I explained that instead of rushing out to buy the new game, I’m taking a wait-and-see approach:
My interpretation is that it is an intriguing idea, but rather than building an interesting and educational toy, EA smashed it into an over-hyped high-priced bauble aimed at mass-market appeal. You can download the creature creator for free, but instead of being constrained by say, the amount of metabolism your creature would require or how fast it could reproduce given all it attributes, the only trade-off I could find was that if you spend more “money” you can buy more “features” . . .
My approach for now is to boycott the initial sales to see if they come around on the DRM, and wait to hear what other folks think of it, as well as maybe a price drop.
This week I upgraded the guts in my desktop. For the video card I jumped up to an ASUS EN9600GT silent graphics card. It is pretty “bleeding edge” as far as Linux goes, and it is a double-wide card with a massive heatsink where others would have a fan. I like to reduce the white noise.
Unfortunately, it is too new for the currently-supported Ubuntu drivers. I used Ubuntu’s NvidiaManual docs to manually upgrade to the 173.14.12 drivers from NVidia’s site, and then things were happier. Except video playback. Files and DVDs seem to work okay, but the colors are off, notably, people get rendered with blue or purple flesh. (more…)
When people ask me what I do I answer either “computer stuff” or “Unix systems administration” and when asked what that means I answer that I keep the servers up and running. If you happen to be curious about my technical background you can review an old copy of my resumé online.
SAGE members and survey participants now have access to the 2007 System Administrator’s Salary Survey at http://www.sage.org/salsurv/. It is nice to check in an see how well one’s compensation aligns with that of one’s peers. I like the summary:
“A technically challenging profession that pays its entry people as much as US$50,000/year is an interesting one. System administration appears to be a fine way to make a living. Experience, education, and enhanced skillsets seem to be the growth path of choice.”
My current employer is known for its generous compensation, and the current survey is an affirmation of that. More importantly I’m enjoying my experience of my present employer and with any luck may actually hold this job for a few years.
I still hope to eventually return to Chicago to work. The San Francisco Bay Area has the highest average salaries, though Chicago averages not much less. The catch is that most Chicago jobs are in the financial services industry, and that is a less enjoyable work environment than the Silicon Valley culture.
The other day I was working on a shell script to be run on several hundred machines at the same time. Since the script was going to download a file from a central server, and I did not want to overwhelm the central server with hundreds of simultaneous requests, I decided that I wanted to add a random wait time. But how do you conjure a random number within a specific range in a shell script?
Updated: Due to much feedback, I now know of three ways to do this . . .
1) On BSD systems, you can use jot(1): sleep `jot -r 1 1 900`
2) If you are scripting with bash, you can use $RANDOM: sleep `echo $RANDOM%900 | bc`
3) For portability, you can resort to my first solution: # Sleep up to fifteen minutes
sleep `echo $$%900 | bc`
$$ is the process ID (PID), or “random seed” which on most systems is a value between 1 and 65,535. Fifteen minutes is 900 seconds. % is modulo, which is like division but it gives you the remainder. Thus, $$ % 900 will give you a result between 0 and 899. With bash, $RANDOM provides the same utility, except it is a different value whenever you reference it.
Updated yet again . . . says a friend:
nah it’s using `echo .. | bc` that bugs me, 2 fork+execs, let your shell do the math, it knows how
so $(( $$ % 900 )) should work in bsd sh
For efficiency, you could rewrite the latter two solutions:
2.1) sleep $(( $RANDOM % 900 ))
3.1) sleep $(( $$ % 900 ))
The revised solution will work in sh-derived shells: sh, bash, ksh. My original “portable” solution will also work if you’re scripting in csh or tcsh.
I was trying to hack up a little search box to access the local Google search appliance. I know you can search with a query like “foo site:example.com/docs” but I wanted to pass site: in as a form parameter. Here is an example of how to do that:
So, where you might use site: in the search field, you use as_sitesearch as a hidden search parameter. I figured this out by squinting at the Google Advanced Search page.
O’Reilly has some fun and insightful reading on the whole Microsoft-Yahoo! drama. The idea is that instead of chasing the competition because you have “penis envy” and spending your time and energy re-inventing what someone else already kicks ass at, you should figure out what awesome new things need to be built, and go do that instead. Yahoo! shouldn’t waste its time on search when what it is really good at is building a great media portal and user experience. Similarly, Microsoft should probably focus on building better network-enabled user software.
“So, my advice to Yahoo!: continue with your plan to outsource search to Google, just like you did before 2002, and plow those increased profits and reduced costs into your own innovation, strengthening the areas where you are #1, exploring new ideas that will make YOUR users insanely happy, and generally focusing on what makes Yahoo! great, rather than on what doesn’t.”
I kind of figure that building search is a waste of Yahoo!’s energy, and that if Microsoft wants to ditch their own failed effort and give Yahoo! a chunk of cash for its also-ran technology, well then hooray for Yahoo!
I was also reading about Sugar, which I have gotten to play with on the OLPC XO-1. It is somewhat frustrating to deal with because I really really really like having access to the file / folder metaphor for tracking my work. I do like the “history” interface to “activities” via the Journal, and the built-in collaboration, although I have not had a chance to actually “collaborate” with any one, seems like a really big win–the sort of thing that has a lot of potential not only for education but in the office environment that we adults use as well. It is too bad that collaboration via shared applications is such an under-developed idea. That strikes me as the sort of thing that ought to be within Microsoft’s grasp to run with, and a nice answer to the Google “spreadsheet in a web browser” mentality.
I wanted to know what time it was in UTC, but I forgot my local offset. (It changes twice a year!) I figured I could look in the date man page, but I came up with an “easier” solution. Simply fudge the time zone and then ask.
0-20:57 djh@noneedto ~$ env TZ=UTC date
Tue May 6 03:57:07 UTC 2008
The env bit is not needed in bash, but it makes tcsh happy.
0-11:17 djh@ratchet ~> cd public_html/toldme
0-11:17 djh@ratchet ~/public_html/toldme> svn sw http://svn.automattic.com/wordpress/tags/2.5.1/
[ . . . ]
Updated to revision 7839.
When I logged in to post this little note, it blocked me and ran the upgrade procedure, then I had to log in again, and here I am!
There’s a further note about the secret key setting:
Since 2.5 your wp-config.php file allows a new constant called SECRET_KEY which basically is meant to introduce a little permanent randomness into the cryptographic functions used for cookies in WordPress. You can visit this link we set up to get a unique secret key for your config file. (It’s unique and random on every page load.) Having this line in your config file helps secure your blog.
It leaves me to wonder: if the secret key can be randomly generated by a machine, why not go ahead and do that and then stash it in the database? There may be a good reason for that . . .
In unrelated news, I upgraded to the newer Ubuntu release at home yesterday. The only trick I have noticed so far is that it runs with Firefox 3.0, which is beta, and I lost use of my foxmarks plugin, for now. So, I’m waiting until that is supported before I upgrade my workstation.
Today was a special election for my congressional district. It was an open primary for Congress–two Democrats, two Republicans, and a Green. I voted for the Green candidate in part because he is the only one who sent any campaign literature, and because this is a safely gerrymandered Democrat district anyway.
I was the first citizen of my precinct to try the electronic ballot. To explain the touch screen, the staff boasted “it’s just like an iPhone!” I dug around in English and Chinese and explored the “large print” zoom feature, then I had to ask how one actually casts the ballot. (The user interface places commands on the bottom of the screen, but the “review screen” had a big box in the middle that said “press here to review your paper ballot” and below that the standard “review” button to review the electronic ballot . . . I kept pressing the little button, until the guy showed me that the big box in the middle is also a button.)
I was pleased at the paper trail. On my way out, I noted that the optical scanner had counted three ballots thus far, so this morning’s exit poll is running at least 25% Green.
I had a rough go of it until I found BlackNight’s post, and now my Canon i250 printer works with Ubuntu like a charm. I thought I would recap here for those who, like me, at first Googled in vain. If you paste these command into Ubuntu 7.10 (Feisty) things ought to work:
First, enter your sudo password:
sudo echo
Now, this paste just might set up everything you need:
If things turn out less-than-straightforward, definitely review BlackNight’s page for details, and if this does work out for you drop him a thank you note in the comments!
It is fun to see how people change over time, and how they stay the same. A decade ago I wrote a “Computer Literacy Narrative” for an English class:
The Internet continues to play a very big part in my life. My web site grows slowly every week. I keep my diary on-line for others to read. I write CGI applications. I’m a hard-core Unix geek, administering two of my own systems, writing my HTML and perl scripts in vi, wowwing friends with afterstep. I work for the networking group at NCSA, for the CSIL as a labsitter, and worked last summer at an ISP in Chicago called EnterAct, where I may very well return this summer.
I now use only Unix, and my old Amiga systems from time to time out of nostalgia and respect for history. I own two Unix boxen, four Amiga systems, and the old Commodore 64. While most of these are antiques, I still lend some systems out to others from time to time to facilitate their computing needs.
My fanatical Unix snobbery does mean that I know very little about Windows 95 or Mac. Because I have good computer karma, I still tend to negotiate such systems better than the average Joe, but I’m by no means a wiz. Instead I enjoy spending my time tinkering with completely open systems like FreeBSD. I am proud and inspired by the idea that there are now several very competent Operating Systems available even for normal users that are built and maintained entirely by volunteer effort. It is my goal to continue to learn and ultimately contribute to this effort as I can.
Walking down the hall at work, I hear an engineer lament.
“Click to focus? Arr!!”
And of course, I shout:
“Focus follows mouse!!”
I hear, beyond cubicle walls, a chorus of agreement.
Back at my desk, which I have recently switched from XP to Ubuntu, I note that I’m clicking to focus. Fortunately, I spent the morning tweaking mutt, which I started using again, after many years, because it deletes e-mail faster than Thunderbird does.
I like this place.
I hear muffled discussions of multiple desktops. I think I’ll figure out how to FocusFollowsMouse in this Gnome stuff real quick before I return my attention to work-work.
ObSolution: In Ubuntu / Gnome, go to System > Preferences > Windows and enable “Select windows when the mouse moves over them”
I am a big fan of Google and their myriad products, but sometimes they get on my nerves. I like having Yahoo! as an alternative. I love Flickr. I would hate to see Yahoo! swallowed up my Microsoft, leaving the biggest players on the Internet being a choice between the Google and the Microsoft.
I prefer an online world that isn’t simply black and white, but which also has a weird shade of purple to it.
I have been playing with Google Trends, which will be happy to generate a pretty graph of keyword frequency over time. A rough gauge to the relative popularity of various things. This evening, I was riffing off a post from the Royal Pingdom, regarding the relative popularity of Ubuntu and Vista, among other things.