Chrome

This evening I had the chance to download Google’s newly-released (and by “released” I mean “beta”… hey, it’s Google) web browser, Chrome, and give it a try. They weren’t kidding when they said V8, the new JavaScript virtual machine in Chrome, should raise the bar for next-generation JavaScript implementations: it’s fast. How fast?

dramaeo.png

The above results are from Mozilla’s Dromaeo JavaScript performance test suite, so there’s little worry of this test being intentionally biased in Chrome’s favor. The scores above are the averages of five test executions on each web browser, running in the same Windows XP virtual machine on the same computer. Some notes:

  • Each run of the test was performed in a fresh browser instance.
  • IE 7 was unable to complete the test suite without crashing, although I am using a special, standalone version of IE 7 so this may be particular to my installation.
  • In order to prevent IE 8 from complaining about the long JavaScript execution time, I set set the registry value MaxScriptStatements = (DWORD) 0xffffffff in the key \HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles.

So yes, Chrome does in fact have a much faster JavaScript engine than any …

Read more…

Patch for segfault in OpenBSD 4.3’s pfctl

A couple of months ago, I upgraded an old PowerPC machine from OpenBSD 4.2 to 4.3, and I discovered that the new version of pfctl in 4.3 would segfault when reading my old pf.conf file. Some brief poking around with GDB revealed the root of the problem, an uninitialized variable in the new configuration file parser.

If you’ve been bitten by this as well, here’s a patch with the minor change that solved the problem for me:

--- sbin/pfctl/parse.y  Sat Feb 23 15:31:08 2008
+++ sbin/pfctl/parse.y  Thu May 15 08:55:38 2008
@@ -3487,9 +3487,11 @@
qname          : QUEUE STRING                          {
$$.qname = $2;
+                       $$.pqname = NULL;
}
| QUEUE '(' STRING ')'                  {
$$.qname = $3;
+                       $$.pqname = NULL;
}
| QUEUE '(' STRING comma STRING ')'     {
$$.qname = $3;

To apply this patch, perform the following (assuming that you have the OpenBSD 4.3 source code tree at /usr/src on your system):

# cd /usr/src
# patch -p0 </path/to/above/patch
# cd sbin/pfctl
# make && make install

My ISP blocks outbound SMTP traffic, unfortunately, and I didn’t feel like setting up Sendmail relaying just so I could submit a sendbug report, so I couldn’t open a ticket for …

Read more…

Opera 9.50

I finally got around to trying the Linux version of Opera 9.50, the newest version of the Opera web browser. Here’s what I think of it after a couple weeks of using Opera 9.50 as my main web browser, particularly how it compares to Firefox 3.0.

opera.png

Things I like in the latest Opera:

  • Tab management, particularly the “Create Follower Tab” feature: You can make a new tab in which any links from the current tab will be automatically opened. This can be great for reading the news.
  • Site preferences: Manage cookie, JavaScript, and other preferences on a site-by-site basis from a single location.
  • The new rendering engine has better CSS compliance than Firefox, and it seems to handle poorly-designed sites with much greater grace than in previous versions of Opera.
  • Plugins such as Adobe Flash appear to be handled using a child process and IPC, making the browser resilient against Flash crashes. This can be done with Firefox too, but it requires the separate nspluginwrapper program, which isn’t installed by default on 32-bit versions of Ubuntu.

Things that I still prefer about Firefox 3.0:

  • I initially loathed it, but the Awesome Bar has really …

Read more…

UF Weather Report Widget Thingy

I’ve tired of manually pointing my browser at http://www.phys.ufl.edu/weather/ each time I want to check the conditions on campus, so I made a small widget to bring the campus weather report to my NetVibes home page:

UF Weather widget screenshot

Fellow Gators can use this widget too – just click here to add it to your NetVibes home page, or here to add it to iGoogle. Or copy the widget’s URL to manually add it to any other UWA-aware application:

http://markshroyer.com/code/uwa/uf-weather/widget.xhtml

MacGyver movie!

I’ve been waiting for this since I was a kid: MacGyver is headed for the theater! And better yet, the show’s original creator, Lee David Zlotoff, has obtained the movie rights and will be in control of the film. This is going to be amazing.

I have to assume right off the bat that Richard Dean Anderson will be reprising the role of Angus MacGyver… just don’t skimp on the mullet, ok guys?

Movable Type

I finally tired of WordPress eating up memory on my humble VPS that I’d really rather have for my email server and other things, so I tossed it (along with its requisite overkill DBMS back-end, MySQL) out the window in favor of Movable Type static publishing, with the Lighttpd web server and SQLite at the back-end. It was easy enough to scrape together my own template set, and so far I haven’t looked back… for this sort of thing, Movable Type > WordPress by a long shot.

I’m having a bit of trouble importing the old WordPress entries, however. If you got here because you found an old post of mine on a search engine, sorry; if it is any consolation whatsoever, most of that stuff was crap.

Pagination