Tech Stuff
Solved! ndbcluster ALTER TABLE yields “ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction”
0This is mostly a reminder to myself… but maybe someone else will find it useful as well.
I migrated some databases to ndbcluster (some of the tables were fairly decent sized… 9GB for 1 table spanning 220M records), and was running into a problem where an ALTER TABLE to change the storage engine was spewing out some cryptic error message like so:
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
Cryptic mainly because it was coming from MyISAM, which doesn’t have record locking. Long story short is it’s not a setting in your my.cnf file for mysqld, rather a setting in your config.ini for ndbd. The TransactionDeadlockDetectionTimeout setting defaults to 1200 (1.2 seconds), I ended up raising it to 24 hours just for purposes of migrating existing tables to ndbcluster (the setting of 86400000 ms is 24 hours).
Being relatively new to MySQL Cluster, it was also a good opportunity to practice making a config change and doing a rolling restart of the ndbd nodes to have no downtime.
Cacti Slow On Mac OS X (specifically RRDtool)
2So this has been driving me mad since I installed Mac OS X 10.7… Any time Cacti tried to output a graph, it would output, but it was painfully slow (like 30 seconds)… prior to installing 10.7, it was a fraction of a second.
Anyway… long story short is apparently RRDtool pulls the list of fonts from the system, and since it was running as the _www user, it was unable to write a the font cache to disk to make future font access fast.
Logging in as root and running the “fc-list” command to get a list of installed fonts fixed the problem. The first time it ran it took 30 seconds (imagine that! heh), and subsequent times it was instant. And Cacti graphs are back to being instant. Hopefully this helps someone…
Agnostic Servers
9Seagate is still not producing the hard drives I want for new servers in sufficient quantity, but they do seem to be actually producing them now. I’ve seen places where I can get 30 of them lately… but I need 72.
I’m assuming I’ll be able to get them relatively soon and have started to think about how I want to lay the servers out architecturally.
As far as hardware goes, gigabit ethernet just really isn’t that fast these days… Real world use has being able to pass about 80MB/sec (theoretical maximum is about 110MB/sec). When you have a cluster of servers passing massive amounts of data amongst themselves, 80MB/sec just doesn’t cut it. Which is why the servers have Infinband QDR (40Gbit interconnects), so they should be able to pass 3.5GB/sec (ish) between themselves.
For software/services, I’m thinking maybe 12 identical servers that are more or less service agnostic… with each server being a web server, MySQL Cluster data node and a MySQL Cluster SQL node. Then each server could probably be setup to handle 10,000 concurrent HTTP connections as well as 10,000 DB connections (1 per HTTP connection). With 12 servers, you could have the capacity of 120k concurrent web connections, 120k DB connections capable of doing millions of SQL queries/sec. If you need more capacity with anything, you could just bring online additional agnostic servers.
This of course is just in theory… who knows how it will test out in actual use, but it does seem like something worth testing at least.
Router Firmware Upload From Mac Via Xmodem
5I had a switch that “lost” it’s operating system and was stuck in a reboot loop. Long story short is I needed to upload the OS via a direct serial connection to fix it. I didn’t have a Windows machine available, so I used my Mac and a Keyspan USA-19 (USB -> DB9) thingie (heh). This is mostly a note for myself in case I need to ever do it again, and I forget.
Things that did not work…
- ZTerm let me get to the console just fine, but uploading the firmware with XModem failed for some reason (and you only found out it failed after a 3.5 hour upload time).
- Keyspan device on Windows via Parallels (from all the Googling I did, apparently it’s just an known issue with that piece of hardware and Parallels and the drivers will not recognize it).
- Virtual serial port in Windows/Parallels via a app called SerialClient (it was very difficult to find this app since the site that made it doesn’t exist anymore… people running Parallels said this worked for them, but it was many years ago… so maybe it was an older version of Mac OS X. Either way, I couldn’t get the app to “connect”.).
What DID work (thank God because I was running out of options)…
- Download/compile/install lrzsz via ./configure;make;make install.
- From Terminal: screen /dev/tty.Keyserial1 57600
- Hit CONTROL+A
- Type: :exec !! lsx -b -X ~/firmware_image.ros
It was infinitely faster than ZTerm (about 15 minutes vs. 3.5 hours), but more importantly it actually WORKED.
Starting To Think About Server Upgrades
11Amazing that it’s been half a decade now since we got the new blade servers that we are running on (got them in June of 2006).
Sadly, 12GB in a server just isn’t what it used to be and the database servers are really starting to feel strained as they beg for more memory. Handling ~25GB of databases on servers with 12GB is just no bueno. I thought of upgrading the RAM in the blades, but the maximum RAM the BIOS supports is 16GB, and all the DIMM slots are in-use… so it more or less would mean tossing all the existing RAM and buying 160GB of new RAM. In the end spending that much money to gain 4GB per server isn’t really worth it (especially since 16GB wouldn’t really be enough either).
I started to do a little research on what would be some good options for upgrades… I think I want to stay away from blades simply because we did have the daughter card in the chassis fail once which took down all 10 blades (the daughter card controls the power buttons). Buying 2 complete sets of blades/chassis is overkill just so you have stuff still up if one complete chassis goes down. The “must haves” on my list are hot swappable drives with hardware RAID, hot swappable redundant power supply, some sort of 10Gbit/sec (or higher) connectivity for communicating between servers. On top of it all, the servers need to be generally “dense” (I don’t want to take an entire rack of space).
PowerEdge C6100
The Dell C6100 actually looked really nice at first glace…
Pros
- Super dense (4 servers in a 2U package)
- Redundant power supplies (hot swap)
- 24 (!!) hot swap drives
- Supports 10GbE or even QDR Infiniband (40Gbit/sec
Cons
- Age – the server itself came out about 18 months ago without any refresh. That means you have hard drive options and CPU options that are a year and a half old
- Price – OMG… a single unit loaded up with 4 nodes, drives, RAM, Infiniband, etc. works out to $54,709 (before tax).
The age factor really becomes an issue when it comes to the disk drives… you can get 15k rpm drives in a 2.5″ form factor, but Dell only offers 146GB models (there are 300GB models now). The CPU isn’t really too bad… Dell’s fastest offering is the Xeon X5670… 2.93Ghz, 6 core @95 watts (wattage is important because of so much stuff crammed in there). There is a slightly faster 95 watt, 6 core processor these days… the Xeon X5675… the same thing basically, just 3.06Ghz. 0.13Ghz speed difference isn’t a huge deal… but the hard drive difference is a big deal.
I started to think… well maybe I could just order it stripped down and then I could just replace the CPU/hard drives with better stuff. Doing that, you still end up spending about $60,000 because you end up with 8 Xeon processors (valued at about $1,500 each that you just are going to throw away).
Then I started to think harder… Wait a minute… Dell doesn’t even make their own motherboards (at least I don’t think so)… so maybe I could find the source of these super dense motherboards and build my own systems (or just find the source of something similar… which ended up being the case).

SuperServer 2026TT-H6IBQRF
What do we have here??? The Supermicro SuperServer 2026TT-H6IBQRF is more or less the same thing… 4 servers per 2U, hot swap hard drives, same BIOS/chip/controllers… supports the same Xeon processor family (up to 95 watts)… And as a bonus, Infiniband QDR is built in (it’s a $2,596 add-on for the Dell server) as well as an LSI MegaRAID hardware RAID card (a $2,156 add-on for the Dell server).
So let’s add up the cost to build one of these things with the CPU/hard drives I actually would WANT…
- Chassis (includes 4 motherboards, 2 power supplies, hard drive carriers, etc. – $4,630.98
- Xeon X5675 3.06Ghz CPU – $1,347.84 each, so $10,782.72 for 8
- 8GB ECC/Reg DIMM – $124.26 each, so $5,964.48 for 48
- 600GB Seagate Savvio 10K.5 – $391 each, so $9,384 for 24 (also 410% more capacity, 21% faster and 20% more reliable than the 146GB options from Dell)
Add It All Up…
$30,761.88 would be the total cost (a savings of $24,138.82) and in the end you get slightly faster CPUs and *way* better hard drives. So in a single 2U package, you end up with 48 Xeon cores at 3.06Ghz, 384GB of 1333Mhz memory, 14.4TB of drive space (9.6TB usable after it’s configured as double redundant parity striping with RAID-6… which should be able to do more than 750MB/sec read/write). 8 gigabit ethernet ports and 4 Infiniband QDR (40Gbit) I/O.
Get 2 or 3 of those rigs, and you have some nasty (in a good way) servers that would be gloriously fun to run MySQL Cluster, web servers and whatever else you want.
PXE/Network Boot Linux With Mac OS X Server
1So I was in a situation where I want to upgrade the operating system on 10 blade servers that are in a data center. The problem is I really didn’t want to sit there and install the new operating systems on each one by one. The other issue is the servers don’t have CD/DVD drives in them since are blades.
I have a couple older Xserve G5s in the facility, so I figured why not use them as network boot servers for the Linux machines? By default OS X Server has a service for NetBoot (which is not the same thing and can really only be used to boot other Mac machines). But Mac OS X Server also has all the underlying services already installed to make it able to be a server for PXE booting from normal Intel BIOS.
So what network services do we need exactly (at least for how I did it)? DHCP, NFS, TFTP and optionally Web if you do an auto-install like I did.
Preface
This was written up in about 5 minutes mostly so I wouldn’t forget what I did in case I needed to do it again. Some assumptions are made like you aren’t completely new to Linux/Mac OS X administration. You can also have pxelinux boot to a operating system selection menu and some other things, but for what *I* wanted to do, I didn’t care about being able to boot into multiple operating systems/modes.
Setting Up The Server
Mac OS X Server makes it really simple to get DHCP, NFS and Web servers online since the normal Server Admin has a GUI for each.

Mac OS X has a TFTP server installed by default, but there it’s not running by default and has no GUI. You can of course enable/configure it from the shell, but just to make things simple, there is a free app you can download that will make configuring and starting the TFTP service simple (the app is just a configuration utility, so it does not need to run once you are finished, so adds no overhead). You can grab the app over here.

Files Served By TFTP
I was installing openSUSE 11.4, so that is what my example revolves around… most Linux installations should be similar, if not identical. First, make sure you have syslinux, which you probably already have since most Linux distributions install it by default.
Copy /usr/share/syslinux/pxelinux.0 to your Mac OS X TFTP Server: /private/tftpboot/pxelinux.0
Create a directory on your Mac OS X Server: /private/tftpboot/pxelinux.cfg, and then create a file named default within that folder with the following:
Obviously change the IP address to your Mac OS X Server IP address. The autoyast part is optional and only needed if you have an auto-configuration file for YaST.
Now we want to grab two files from the installation DVD/.iso so we have the “real” kernel.
Copy /boot/x86_64/loader/linux from the installation DVD to your Mac OS X TFTP Server: /private/tftpboot/osuse11-4.krnl (notice the file rename)
Copy /boot/x86_64/loader/initrd from the installation DVD to your Mac OS X TFTP Server: /private/tftpboot/osuse11-4.ird (notice the file rename here too)
Special Options For DHCP Server
There is not a GUI for adding special options to the DHCP server, but it’s easy enough to add them manually. Just edit the /etc/bootpd.plist file, and add two keys/values to it (option 150 is the IP address of your TFTP server, option 67 is the kernel file name the TFTP server is serving):

NFS Sharing Of Installation DVD
Edit your /etc/exports file, and add the following line to it:
/images/opensuse10-4 -ro
Then just copy the contents of the entire installation DVD to /images/opensuse10-4. You can of course just do a symlink or something if you want.
Cross Your Fingers…
Hopefully if all goes well, you should see something along the lines of this when you choose to network boot a machine (for purposes of this video, I did it in a virtualized environment of Parallels so I didn’t need to boot any running servers):
How Much Does AT&T/U-verse Cost?
6So I heard that AT&T is going to start putting monthly usage caps on it’s Internet users (which is me), so it got me thinking about how much I actually pay for AT&T services…
I have AT&T fiber to my house (actual fiber to the premise), so I use U-verse for TV and Internet in my house, so it’s break this down (I’m not including any on-time costs or fees/taxes)…
Television
I pay $138/month for TV (includes set top box rentals). I only watch MAYBE 8 hours of TV per month, but it’s nice to have it when you actually want to watch it. So I pay AT&T $17.25/hour to watch TV.
Cell Phone
I pay $159.99/month for 2 cell phones. Last month I used 17 minutes (which is actually more than normal). So I pay AT&T $9.41/minute for cell phone service. Oh yeah, I also paid them $125 for a MicroCell because their service is so crappy.
Internet
I pay $55/month for Internet because I can only get 18Mbit to my house (remember… I have AT&T fiber straight into my house). I’d like to pay for the $65/month plan to give me 24Mbit, but you know… it’s hard to get more bandwidth out of fiber I guess. I really wish Verizon would buy AT&T’s fiber to my house so I could get FiOS (they offer 150Mbit down/35Mbit up already and I heard they are testing 1Gbit up/down). Meanwhile I’ll be stuck at DSL speeds with my fiber. Sweet.
Mobile Internet
Now if I want a 3G connected iPad, that would be another $25/month (and I would rarely use it… so probably would be about $25/hour).
If I want tethering enabled on one of my phones, that’s another $20… even though I already pay for an unlimited data plan on that phone. lol
It would be nice if I could just pay $10/hour to use whatever I want… TV, cell phone, cell phone tethering, iPad connectivity, etc.
Maybe Steve Jobs Was Right About Flash?
4I was building a website for Digital Point Ads, and for what I wanted it to do, I figured Flash would be the way to go. So it was built, and worked fine in Flash.
The problem is that I’m an anal perfectionist and the Flash object was eating 80-90% of a computer’s CPU when being viewed… and me being me, I couldn’t just be okay with that.
…so I rebuilt it with CSS3/HTML5/jQuery. It turned out much nicer in my opinion, only uses about 1% of the resources that Flash needed and as an unintentional bonus, it works on things like iPad and phones/computers without Flash support.
I’m not anti-Flash (as I said, I *wanted* to do the site with Flash), but I AM anti-inefficient. There are still some things you can’t do with HTML5 that you can do with Flash, but those things are becoming fewer and fewer it seems.
A 3rd Party CAN Get You Banned From AdSense
0Note: This was moved from blogs.digitalpoint.com to here, because well… blogs.digitalpoint.com is no longer a sub-domain we use (user blogs were wiped when we migrated to XenForo).
I’ve heard people claim they were banned from AdSense unfairly for this, that and whatever other reason though the years… and to be honest, I just chalked it up to them doing something they shouldn’t have been and just not admitting it.
Low and behold, it *can* happen to even larger publishers (I believe we were approaching over 1,000,000,000 [yes, billion] AdSense impressions over the years). Note: I can’t confirm the exact number because, well… my AdSense account was disabled.
We get advertising inquires daily and we even go so far as directing people to AdWords and explain to them how to use Site/Placement targeting if they wish to advertise on digitalpoint.com. It’s less money for us, but in the end it’s easier and less to manage. I would guess Google has gained at least 200 NEW AdWords advertisers because of this.
Even more ironic is we actually run the largest AdSense support site to help publishers. Google’s own AdSense support site has 75,783 discussions vs. 760,145 for our AdSense help forum. We’ve even had Google AdSense representatives posting in our forum.
The Warnings
In the last month, we received 30 warnings for running AdSense ads on non-compliant websites (gambling related). These are sites that I don’t own, have no affiliation with, nor do I know who the owner is. I have no idea why someone would want to use my AdSense publisher ID on their site, but I guess that’s beside the point really. AdSense allows you to set a whitelist of your sites just so this doesn’t cause problems. We have used this whitelist for a long time (since we first heard about it), and none of these gambling related sites were on our whitelist.
Hell, I even got an email from Google *because* I use a whitelist (and STILL didn’t turn off the whitelist function)…
Your Allowed Sites settings blocked $220 in earnings last week
We noticed that you’ve been receiving ad activity on sites which aren’t included in your Allowed Sites list. If a URL displaying your AdSense ad code is not on your Allowed Sites list, ads will still be displayed, but you won’t receive any earnings for that URL.
For your reference, sites that display your ad code, but aren’t included in your Allowed Sites list generated roughly $220 from May 2 through May 8.
My Response
After seeing a zillion of these notices coming in, I responded and let them know that these are not my sites and that I use their whitelisting feature (and that none of these sites are on my whitelist).
Sarah H. from Google’s AdSense Team responded back a couple weeks later letting me know that, “If that site or URL is not in the Allowed Sites List within your account, no further action is needed and this issue won’t negatively affect your account in any way.“. Alright… no further action is needed.
Account Disabled
Fast forward a couple days and I get this email from Google letting me know my account is now disabled because of violations of program policies… specifically, AdSense publishers are not permitted to place Google ads on sites with content related to gambling or casinos. I *still* don’t own a gambling/casino related site (nor have I ever), so I’m assuming it’s related to the 30 warnings I got in the last month for someone else trying to run my publisher ID on their sites.

While I still think the majority of people who claimed to have their AdSense account unfairly terminated are probably just whiners that got caught doing something they shouldn’t be, I can say for 100% certainty now that it can (and clearly does) happen sometimes.
I guess it’s time to finally start managing advertising in-house… Just one more thing to add to the “to-do” list. /sigh
Google Ups AJAX Search API To 8 Pages
6It seems Google has quietly raised it’s limitations on how deep you can look into search results for the AJAX Search API. It’s always been 4 pages (8 results per page), so you could only see the first 32 results.
All of a sudden it was changes to 8 pages (still 8 results per page), so now you can look at the first 64 results. This is quite handy.
Thanks Google, you’re swell!
iPhoto ’09 Faces Spinning Forever
6Someone I know uses iPhoto, but the Faces part of it wasn’t working. New pictures wouldn’t get scanned for faces and the spinning icon next to the Faces label on the navigation bar would just spin forever (and apparently it’s always been stuck like that).
I Googled the issue, and came up with hundreds of people having the same problem, but no one seemed to figure out a solution.
After a lot of digging and poking around, I think I found the solution. She imported large folders into iPhoto from her old photo management application, and she had some movies in her photo folders. So this is how I fixed it…
- Quit iPhoto first.
- Then get into the guts of your iPhoto Library (right-click the iPhoto Library file in your Pictures folder and do “Show Package Contents”).
- Go to the Originals folder in there and get your movies out of there.
- Delete the face.db and face_blob.db files.
- Load iPhoto up and it will start scanning all your faces and with any luck actually get through them all and be kosher going forward.
Warning… this will delete all your face tags you had previously (so don’t do it if you tagged a bunch of people manually and don’t want to lose that).
How To Get Twitter Followers
10
Well actually, I’m not exactly sure how because I have Twitter followers since I don’t have a Twitter account, but apparently I have have a couple Twitter accounts…
http://twitter.com/digitalpoint/ – 1,127 followers
http://twitter.com/shawnhogan/ – 63 followers
Stupid, but funny. lol
vBulletin 3.8.3 Upgrade…
236Okay, gonna go ahead and upgrade the Digital Point Forums to vBulletin 3.8.3… Since so many of you are freaks and are on it 24/7, I made this post to keep you up to date on what’s going on (I’ll update it periodically throughout the process). You can also use this blog post as the new temporary forum for all your discussion needs while I do the upgrade. hah

- 3:26 am – Reading and posting seems to work… I suppose that’s good enough for now (still working on the other stuff, but don’t need to force everyone off to do it).
- 3:24 am – Skimming over various areas of the forum to see if things (mostly) work. I could let you guys in before the templates are fully updated possibly.
- 3:22 am – New moderator permissions set
- 3:17 am – Static CSS files located on single server in web cluster and spread around properly (I hate this about vBulletin BTW… gimme a hook location to do it please!)
- 3:09 am – Core upgrade done.
- 3:07 am – Recoded some of the upgrade scripts so they aren’t making that change to the reputation table. Will deal with issue this later instead.
- 3:00 am – Stupid reputation table was altered in 3.8.0 to not allow negative userids so it can accommodate 4 billion users instead of “only” 2 billion. Stupid. I used negative userids internally for some stuff. /thinking what to do about this…
- 2:55 am – First problem… reputation table alterations not going well. Going digging in raw database…
- 2:50 am – Running “ALTER TABLE pmtext” on DB servers. That’s a big one… going to get another beer.
- 2:49 am – Up to version 3.8.0 alpha 1
- 2:43 am – It’s almost 3am. If you are a cute girl reading this, please post your picture in the comments, k thanks.
- 2:41 am – I forgot we have to go through all versions to get to the newest… lol… going through 3.7.0 beta 4 at the moment.
- 2:40 am – Userlist rebuilding
- 2:36 am – Watching DB servers alter thread table for tagging support… (this is really boring)
- 2:34 am – Watching DB servers alter thread table for prefix support… /bored
- 2:30 am – New PHP files in place and synced across web server cluster
- 2:29 am – DB backup done
- 2:27 am – Thinking I might not have enough beer for this…
- 2:25 am – DB backup still running (it’s huge… many, many, many gigs)
- 2:18 am – Got beer and craisens
- 2:17 am – Backing up DB
- 2:13 am – Making this post
Sony Blu-Ray BDP-CX7000ES 400 Disc Changer
5So I’ve been waiting for this thing for awhile now, and it looks like Sony is finally going to be releasing it (even $400 cheaper than previously rumored). Yum, yum…
400 discs, serial control, Ethernet port for pulling meta data via Internet, etc… looks nice to me.

Models et al
11I gotta say, iMovie HD is really nice for hacking together quick videos with pretty decent quality. I threw together this video for a friend real quick for NVR Strings. Oh darn, I get to look at girls in bikinis while editing video. Sad day for me.
The original video I output was full 1920×1080 high def, but here’s the YouTube version…
Spam Blocker Works!
12Okay, so I decided not to blog for 2+ years to see if the spam blocker thing I made would work, and sure enough it did… After 2+ years, not a single spam comment got through… I’d say that was pretty good, eh?
On a better note, I have 2 years of life to write about now… stay tuned…
Maybe <strike>No</strike> Less Spam?
57The comment spam on my blog here was getting to the point of just being silly… around 4,000 spam comments per day (breaks down to about one every 15 seconds 24/7).
I decided to try and do something about it so I don’t have to weed through them manually (the time consumption on this task is one of the biggest reasons I don’t post as often as I used to).
So let’s see how it works… if you see me posting more often, then you know it worked.
My Face Is So Popular It’s Red
13I don’t recall how I came across this image, but I was rather surprised to see it randomly (considering it’s me)…
Some sort of heat map where people look at an image, and decide what’s the most interesting part of it by clicking somewhere on it…
So people thought my face was interesting I guess… either that or they knew their click would register a red dot and were just trying to cover my face up.
The original image was taken from this blog (over here).
So How Close Can Google Maps Really Get?
34Want to see some crazy stuff? In some areas of the world, you can zoom in to an absurd level. Pretty close to being able to actually identify an individual.
Let’s take this scene for example… some people in Africa with their herd of camels and cows, gathered around a well. I mean come on… you can see footprints, and some dude who must have known his picture was being taken, because he’s looking right at the camera.

Almost looks fake huh? Well you can see it for yourself here:
http://maps.google.com/maps?f…m=1&iwloc=addr
So like maybe Google could use some of their satellites and computing power to find Osama bin Laden and collect whatever huge reward there is for him… just a suggestion for anyone listening…
Apple Gave Me A Bunch of iPhones
13Well sorta anyway… since Apple officially announced their iPhone, Apple stock has gone up $11.14 per share. I bought 100 shares a long time ago (it’s since split twice, so now I have 400 shares). The value of my shares has gone up $4,456 since yesterday morning. More than paying the $500-600 price tag for one if I wanted one.
It does look like a pretty pimp phone, and includes pretty much everything you could ever want (Wi-Fi, movies, music, GPS, QWERTY keyboard, etc, etc.)
Too bad they will only work with Cingular and their over-priced data plans. But whatever… free is still free (sorta… heh)
Send Media To Your Xbox 360 From Your Mac With Connect360
3I’m not much of a gamer, but I did buy an Xbox 360 last summer. Anyway, I finally found the best use for it… “beaming” your media from your Mac to it (music, photos and movies). The only annoying thing is all the music you buy from the iTunes Music Store doesn’t work since it’s DRMed with Apple’s Fairplay stuff. And since that’s the only place I get music anymore, none of the new stuff I have will work. Oh well… still cool none-the-less…

Solar Power Panels
18
Well, I decided a long time ago that it would be neat to put a big solar voltaic system at my new place and try to generate 100% of the electricity needed for the house (and servers and everything else I use since I work from home).
So I ended up going with a system that will be able to generate 42.8kW of power (35.7kW will be the “practical” rating for it), which consists of 252 panels (each panel can general 170 watts of power). The idea is to generate more electricity than you need during the day (running the SDG&E meter backwards), then draw on it at night.
I hope the system has some sort of SNMP probing ability… would be cool to pull up a graph of power output over time.
Blackberry 8100 Pearl (part 2)
3Okay, this is what I threw out there in my first post.
So I just wanted to clarify a few things after using it for a week or so…
As mentioned above, you *can* sync stuff with PocketMac, but it’s buggy as hell and certainly doesn’t have the usual Apple polished feel to it. Currently it only works with a USB cable, but they are supposed to be coming out with a Bluetooth version soon (I hope they fix the bugs while they are at it).
It turns out it *does* mount in the file system with a USB cable, but only if you have a MicroSD card installed (I threw a 2GB chip into mine for extra storage space).
Bluetooth file transfers *do* work it turns out, but it’s a bit of a kludge. You can’t just browse the device file system like you can with other phones… you can send and receive individual files though.
It’s a cool ass phone… especially considering you can get it for $50 instead of the normal $400-500 (see previous post).
5V ≠12V
4A couple weeks ago my network router at home finally died (it was a Linksys WRT54G), but I certainly got my money out of it (I got it when it first came out which was probably 4 or 5 years ago). Every light on it flashed, which couldn’t be good… so I replaced it.
Long story short is I bought another one (same model) and just swapped it out with the new one (using the old power supply). Well it was doing some weirdness every 24 hours or so where the power light would flash and it would loose Internet connectivity (all other lights were fine) and if you unplugged it and plugged it back in, you were golden again. Everything I looked at online was saying a flashing power light meant the firmware was screwed up (I didn’t change anything with it). Finally I decided to look closer at the power supply… even though it was the same model, the new version runs on 12 volts and the old one ran on 5 volts.
So I guess you can run a 12 volt piece of equipment on a 5 volt power supply and it will work (for awhile anyway).
BlackBerry 8100 Pearl
12
Okay, so I finally found a new cell phone that I like (enough) to get a new one…
The good:
- It’s the same size as my RAZR (same thickness, 0.5″ taller and 0.25″ skinnier)
- Fast internet (speed test put it at 205kbit/sec for me)
- Use it as an Internet gateway for your computer (great for traveling)
- Quad-band GSM (use pretty much anywhere in the world)
- User interface is really nice
- Pseudo QUERTY keyboard
- Nice camera… good quality, decent resolution
- Gmail and Google Maps applications are pretty nice (better than web based access to the services).
- Support for MicroSD cards, so you can slap another 2GB of memory in it (it comes with 64MB internally).
The bad:
- $400 (although with a new contract you can get it for $50 [see below])
- No GPS
- Camera does not shoot video
- Doesn’t work great with Macs (you can sync address book, calendar, email, etc. with a 3rd party program, but the program is really buggy and only works over a USB cable and not Bluetooth [yet]). It also doesn’t mount in the file system on a Mac, so you can’t copy files to it. Bluetooth file transfer from a Mac doesn’t work either. It’s ultimately a phone, so once you get crap on there, it’s good, and it does work flawlessly as an Internet gateway (via bluetooth), which is the most important part.
- I wish you could create folders for your list of applications.
If they could just make it work better with Macs (like if iSync supported it via Bluetooth and if Bluetooth file transfers worked), my only real complaint would be the lack of an internal GPS.
Where to get one for $50 (thanks to Julien for this):
World of Warcraft Via P2P
3It looks like Blizzard is one of the growing number of companies that have realized that peer-to-peer file sharing technology has some great uses. I just noticed they distribute World of Warcraft (full DVD and updates) via P2P technology. Cheaper because it uses the end user’s upstream bandwidth.

Neat!
Can A Laptop Be TOO Nice?
5So I finally broke down and got a new laptop (mine old one was like 6 years old). The one I opted for was the faster 15″ MacBook Pro (2.33Ghz Intel Core 2 Duo, 2GB RAM, 256MB video RAM, etc.)
All in all, a pretty sweet machine (and I can run things like SuSE Linux [or any other x86 operating system] on it at the same time as I run OS X [without emulation]), but here’s the problem… I turned it on, created the admin account and now I find myself using my old laptop instead of the new one because the new one is just *too* nice. Like I don’t want to get any fingerprints on it or something (I don’t know why exactly). haha
Hopefully it will pass soon… otherwise I have an expensive piece of art that no one is allowed to touch.
I (Might) Have No Email Address
20I’m curious what people would think about someone (talking about me) simply not having an email address in this day and age…
I’m not talking about pretending to not have an email address, but ACTUALLY not having one. Like if you sent me email at my old address it would bounce back with an “unknown user” error.
I get literally thousands of emails per day (mostly spam slipping through the spam filters), of which 3 or 4 actually require some sort of response. The 2,000+ other emails each day become so overwhelming that I check my email once per week these days (it would get to my eyes faster if you snail mail me a hand-written letter), and even when I do check it, 99.99% spam means as I’m clearing it out, inevitably I may throw out some non-spam if it’s not immediately recognizable. So I’m starting to think… so I really need email? All my friends have my instant message ID, and they all know about my email situation, so really… do I need email anymore?
Google Browser Sync
4For anyone using Firefox, this is a great plug-in (made by Google). It will sync your cookies, passwords, bookmarks, history and window tabs (you can pick and choose just certain things if you want) to your Google account.
What that means is you can use Firefox on a different computer, and all your stuff will show up. I mostly wanted bookmarks, but it’s handy to have the other stuff too.
http://www.google.com/tools/firefox/browsersync/
Monitor Everything
5Okay, is anyone tired of my server admin tips yet? Yes? Too bad.
Monitor everything… Put as much info at your finger tips as easily as possible. Put that info in a place where you will always be looking at it for some reason. For example, I made a vBulletin plug-in that monitors 4 memcached servers (including a latency test it runs) as well as 10 blade servers. This shows every time I’m in the admin of the forum (which is a lot), so I can’t help but to not see it.
I wrote a little daemon that runs on my servers that can quickly report back whatever info I want (time, disk RAID status, server load, MySQL replication status, etc.)
The more info you have in one place (especially when you run a bunch of servers), the easier it is to see anything wrong. For example, I had an issue with a web server serving requests slow one day… it ultimately ended up not being a problem with the web server, but the memcached server it was using. The latency test was showing ~2,000 ms latency (2 seconds) vs. the normal 0.5 ms (1/2000 of a second).
And be proactive about monitoring stuff… don’t wait until something bad happens to start doing it! Then it’s too late.

Can I go to bed now?
Magsafe Airline Power Adapter
9
Okay, normally Apple products are extremely polished and well thought-out. But this airline power adapter they came out with today is just plain stupid.
I bought one today when I ordered one of Apple’s new MacBook Pro laptops at the same time. Well I just noticed some fine-print on it…
- Using the MagSafe Airline Power Adapter provides power for your computer but does not charge the battery.
- The MagSafe Airline Power Adapter is not compatible with automobile power ports.
Well isn’t that lovely… there is no technical reason why they couldn’t have made both of those things happen, that’s just plain stupid IMO.
http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore?productLearnMore=MA598Z/A
strace
0Yay, more server admin fun!
Here’s a useful *nix command that will let you determine what system calls a program uses… For example, I wanted to double check that libevent calls within memcached were using epoll() and select() or poll() calls (epoll scales better) on my SuSE Linux machines…
...clipped...
epoll_ctl(5, EPOLL_CTL_ADD, 3, {EPOLLIN, {u32=5313904, u64=5313904}}) = 0
epoll_ctl(5, EPOLL_CTL_ADD, 4, {EPOLLIN, {u32=5313920, u64=5313920}}) = 0
epoll_ctl(5, EPOLL_CTL_ADD, 7, {EPOLLIN, {u32=5313968, u64=5313968}}) = 0
epoll_wait(5, {}, 1024, 1000) = 0
Sure enough!
Use Server-Side Caching When Possible (memcached)
9Purely out of necessity, I’ve become a system administrator/architect for digitalpoint.com servers… and a few people have been asking me for general admin tips to make things stable and scalable, so here’s a good one for you…
Use memcached… no really, use it.
memcached is a distributed memory caching system that allows multiple servers to access the same shared memory (you can use it just for single local server too of course). You can cache pretty much anything… SQL query results (especially ones that can’t hit indexes), dynamically generated web pages, dynamic RSS feeds, etc.
If you compile the memcache() functions/class directly into PHP, you have a an easy (yet powerful) way to incorporate it.
For example, let’s say I have some existing code that makes a call to some sort of API (I use memcached for the keyword suggestion tool in this way)… you can add a couple lines of code to cache the results.
[code=php]$data = @file_get_contents ("http://some_api_call_url?keywords=$keywords");[/code]
could become this:
[code=php]$memcache = new Memcache;
$memcache->addServer('192.168.1.1');
$memcache->addServer('192.168.1.2');
if (!$data = $memcache->get($keywords)) {
$data = @file_get_contents ("http://some_api_call_url?keywords=$keywords");
$memcache->set($keywords, $data, false, 86400); // 24 hour cache
}
$memcache->close();[/code]
Now we are only hitting the API for the same keywords once every 24 hours… that setup utilizes 2 memcached servers working as a single entity for pooling and failover.
I use memcache for all sorts of things (this blog’s pages are cached for 60 seconds as another example because WordPress sucks, and protects against a massive influx of traffic [front-page digg for example]).
Here’s some things I personally use it for…
- Caching this blog’s pages (for 60 seconds)
- Caching Keyword Suggestion Tool queries (for 7 days)
- Caching AdSense Sandbox queries (for 24 hours)
- Temporary counters in Keyword Tracker (using decrement() for displaying remaining keywords on a “Check All”)
- Recent forum topics that show on all the webmaster tools
- vBulletin forum datastore
Any high-traffic site that is dynamically generated (especially if it includes SQL queries) could benefit from it… you could manage which memcache items need to be updated when you insert/update to the database, or an easy way to do it is just check the cache for the pages that potentially have high traffic… if they aren’t in the cache, put them in the cache with a certain expiration date. Then the page is dynamically generated no more often than the cache expiration time (in the case of this blog, the pages are generated no more than once every 60 seconds).
P.S. - Make sure you block outside access to your memcached port since there’s no authentication used!
Google Crawl Rate
10Here’s something cool that Google has added to Google Sitemaps for site owners…
Let’s you see how much Google’s spider crawls your site in the last 90 days, and even gives you the option to instruct Googlebot to increase or decrease their crawl activity on your site.
Here’s the stats for the Digital Point forum… Google crawling an average of 52,000+ pages per day (without putting it on “increase activity”)… Getting close to a page per second 24/7.

