Google’s Wonderful PR

Software / Technology 1 Comment »

Today, Google is releasing a beta version of its new web browser, called Chrome. Apparently this event is big news; it merited a front-page article in the Wall Street Journal.

I’ve read a few blog posts about this announcement, such as Is Google Chrome an IE/Firefox/Opera/Safari killer?, and it really seems to me the hype is overdone. From the above blog post, the browser will be:

Open source, built from scratch

Not exactly. The most important piece of a web browser is its layout / rendering engine, and as the blog post later mentions, Google is not writing one from scratch; it is using WebKit.

Revolutionary use of tabs (the tabs will be at the top of the window rather than below the address bar)

This is revolutionary? Really?

Support multiple processes so each tab runs in isolation so bugs and slow-downs only hit a single tab (creating what’s called in the comic book a “sad tab”) rather than bring the browser crashing down

Internet Explorer 8 did this first.

I see nothing wrong with Google writing their own web browser, and I wish them luck in their endeavors, but I don’t understand the uproar over this event. It seems to me the only truly new piece of their browser may be their JavaScript engine, V8; the rest is reuse-and-recycle (probably as it should be).

Update 2008-09-02 7:40 PM: After playing with Chrome for a while, a thought occurred to me — maybe Chrome’s strength isn’t in its technology but in its execution. Chrome is fast, attractive, and minimalist.

What I Learned Tonight…

IIS No Comments »
  1. Diagnosing IIS NTLM authentication failures is a real pain, until…
  2. You use Microsoft’s Authentication and Access Control Diagnostics package, which can tell you…
  3. You need to enable HTTP Keep-Alives for NTLM to work.

Strange Linksys WRT54GL Bug

Software / Technology 1 Comment »
Linksys WRT54GL Router

A few days ago, I was messing around with the settings on my Linksys WRT54GL router and moved my home network from 192.168.1.1/24 to 192.168.0.1/24. Changing my mind, I immediately moved back.

Some time later (perhaps after a DHCP lease renewal) I was unable to reach the Internet. Everything looked fine — my connection to the router was working, the router’s connection to the DSL model was working — but I could not reach any websites from my PC. I suspected my DSL connection was down and reset my DSL modem, to no avail.

Today I was preparing to call AT&T and plugged my laptop directly into the DSL modem. I fired up a web browser and, to my astonishment, everything worked!

Assuming AT&T had fixed something on their end, I reconnected my router and tried to access the Internet again. No luck. However, I now knew that the problem was with the router and not the DSL modem.

After a few dead ends (such as cloning my laptop’s MAC address), I took a close look at the results of ipconfig /all:

IPv4 Address. . . . . . . . . . . : 192.168.1.109(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.0.1

For some reason, my router was handing out an incorrect DNS server with its DHCP leases! I reset my router’s settings to the factory defaults, but that didn’t help. Instead, I forced the router to hand out 192.168.1.1 as a DNS server and voila, everything worked.

I suspect that when I moved the router to 192.168.0.1/24 and back I triggered a bug in the WRT54GL firmware where it didn’t update the DNS server correctly.

After I got everything working again, I decided to upgrade the WRT54GL’s firmware to a third-party product: DD-WRT 23 SP2. With the exception of a minor hiccup where I had to manually reset the router’s settings after flashing (something I should have done beforehand), DD-WRT is working flawlessly.

Nightly MySQL Backups

Unix No Comments »

Courtesy of Dave, here’s a script I put into crontab to perform nightly full backups of my WordPress MySQL database:

#!/bin/sh

DATE=`date +%Y-%m-%d`
BACKUPDIR=$HOME/.mysql-backup

USERNAME=XXXXX # TODO
PASSWORD=XXXXX # TODO
DATABASE=XXXXX # TODO

if [ ! -d $BACKUPDIR/$DATABASE ]; then
  mkdir $BACKUPDIR/$DATABASE
fi

mysqldump --user=$USERNAME --password=$PASSWORD $DATABASE > $BACKUPDIR/$DATABASE/$DATE.dump
bzip2 -9 $BACKUPDIR/$DATABASE/$DATE.dump

IE7 Released

Software / Technology No Comments »

Microsoft Internet Explorer 7 has been released. While I will likely remain a dedicated Firefox user, I warmly welcome the improvements that IE7 brings.

Developers: Be sure to test your applications against IE7. My product ran into a bug in our code related to IE7’s move to UTF-8 URL encoding.

Turning Idle Computer Capacity Into A Business Model

Software / Technology No Comments »

Array of computers

In order to cope with the Christmas rush, Amazon[.com] has far more computing capacity than it needs for most of the year. As much as 90% of it is idle at times. Renting out pieces of that network to other businesses, such as SmugMug, an online photo site that uses the S3 service, is a way to get extra return on Amazon’s $2 billion investment in technology. Amazon is renting out its physical infrastructure too. Last month it announced Fulfillment by Amazon, which allows other firms to use Amazon’s staff and warehouse space to send out goods and handle returned items. It also introduced WebStore by Amazon, which provides access to all of Amazon’s back-end technology, including the ability to offer third-party products.

Amazon: Lifting the bonnet The Economist 5 Oct 2006.

Google, are you paying attention? Maybe there are ways to make money from your more than 450,000 computers outside of writing your own applications.

Advanced Bash Scripting Guide

Shell Scripting, Unix No Comments »

This looks quite interesting: Advanced Bash Scripting Guide: An in-depth exploration of the art of shell scripting.

Mutt libESMTP Patch Version 4

Mutt No Comments »

After a long time without making any changes, I have finally added TLS support to my libESMTP patch for mutt. Thanks to Shaun Eack at Wolfram for providing the initial patch.

Fringe Hardware and Software Platforms

C++, Unix No Comments »
[14 sengelha@dt]% cat test.cc                                               ~/t
#include <string>

int main(void)
{
    try
    {
        throw std::string("sigh");
    }
    catch (...)
    {
        // Do nothing
    }

    return 0;
}
[15 sengelha@dt]% g++ -g -o test test.cc                                    ~/t
[16 sengelha@dt]% ./test                                                    ~/t
zsh: 24046 abort (core dumped)  ./test
[17 sengelha@dt]% gdb ./test test.core                              < 134 > ~/t
GNU gdb 4.16.1
Copyright 1996 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc64-unknown-openbsd3.5"...
Core was generated by `test'.
Program terminated with signal 6, Abort trap.
#0  0x43b7aa40 in ?? ()
(gdb) bt
#0  0x43b7aa40 in ?? ()
#1  0x102a84 in uw_init_context_1 (context=0xfffffffffffeedb0,
    outer_cfa=0xfffffffffffef130, outer_ra=0x44208088)
    at /usr/src/gnu/usr.bin/gcc/gcc/unwind-pe.h:77
#2  0x102e14 in _Unwind_RaiseException (exc=0x643d5c455b4a3a63)
    at /usr/src/gnu/usr.bin/gcc/gcc/unwind-pe.h:77
#3  0x44208090 in ?? ()
#4  0x1012c4 in main () at test.cc:3
#5  0x101054 in ___start ()
(gdb) quit
The program is running.  Quit anyway (and kill it)? (y or n) y
[18 sengelha@dt]% g++ --version                                             ~/t
g++ (GCC) 3.3.2 (propolice)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[19 sengelha@dt]% uname -a                                                  ~/t
OpenBSD dt.xxxxxxx.xxx 3.5 GENERIC#123 sparc64

Such are the perils of running the fairly uncommon hardware/software combination of OpenBSD/sparc64. *sigh*

Making “Clean” URLs With Apache And PHP

Apache No Comments »

URL “purity” is important to me, so I wanted to note the following evolt.org article: Making “clean” URLs with Apache and PHP.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in