Friday, July 28, 2006

Too good to be true

SoonR - In Touch Now

I'll find out.

technorati tags:,

ActiveSync is Being Replaced in Windows Vista

Windows Vista Team Blog : New Windows Mobile Device Center Update Available

I probably will be backwards compatible with ActiveSync but I wouldn't invest time or energy getting ActiveSync to work. Instead, I would rather use funambol (Sync4j) even more than Blackberry's Enterprise Server.  Both ActiveSync and BES are ignoring already open standards.  SyncML is already installed on the majority of cell phones and has been for a few years.  The only devices that don't support SyncML are the PDA type phones with Blackberry OS and Windows CE.  Screw them, I could use a server like Funambol (GPL software, by the way) and the Blackberry and WindowsCE SyncML clients to sync up all calendars for our entire organization giving us the flexibility to go with some Blackberry and some WindowsCE and some Palm OS cell phones.

Flexible Enterprise Solutions
Funambol is the world's leading implementation of standards-based PIM synchronization. Funambol software synchronizes contacts, calendars, appointments, tasks, and notes on over 75% of the wireless phones on the market today. Leveraging the OMA DS (formally known as SyncML DS) standards, Funambol software synchronizes the PIM databases on all the most popular devices in use: * PC (Outlook, Netscape, and Kolab PIM databases) * Windows Mobile device (SmartPhone, PocketPC) * RIM BlackBerry * Palm * iPod * Over 800 million commodity mobile phones


This stuff isn't just pie in the sky.  With, I can sync my Blackberry calendar to a server and I have gotten at least some of my contacts synched through the Outlook 2003 SyncML client plugin.  Now all we need is a server type component that will talk to Exchange (MAPI or WebDAV) and send all synchronizations without someone needing to leave Outlook running on their desktop.

technorati tags:, , , , ,

Local ISPs to Watch


I had a great conversation with Eric.  Dropping Time Warner and going with a company like IPhouse will change the pricing model from an all-you-can eat buffet to a pay-as-you go bandwitdh cost.  (Just wait until someone costs us an extra $5000 by downloading iso's)  I did find out that Time Warner is likely routing all of our traffic from Minneapolis through Chicago and hand off to Sprint before getting back to MPLS.

technorati tags:

I've heard some of these before » What IT Pros Hate About Users

technorati tags:,

Thursday, July 27, 2006

Javascript Presentation Slides

Javascript Boot Camp Tutorial

technorati tags:,


Tremulous is the best free software FPS game I've had the pleasure of playing, and I'm not alone in this opinion. It also has a community growing up around it, which should aid not only in growing its popularity but also in continuing improvements.Good for id Software for freeing the engine, and good for Darklegion Development for what its developers have done with it. Give it a try. You'll like it.

NewsForge | Tremulous: The best free software game ever?


Tremulous is a free, open source game that blends a team based FPS with
elements of an RTS. Players can choose from 2 unique races, aliens and
humans. Players on both teams are able to build working structures
in-game like an RTS. These structures provide many functions, the most
important being spawning. The designated builders must ensure there are
spawn structures or other players will not be able to rejoin the game
after death. Other structures provide automated base defense (to some
degree), healing functions and much more...

Player advancement is different depending on which team you are on. As
a human, players are rewarded with credits for each alien kill. These
credits may be used to purchase new weapons and upgrades from the
"Armoury". The alien team advances quite differently. Upon killing a
human foe, the alien is able to evolve into a new class. The more kills
gained the more powerful the classes available.

The overall objective behind Tremulous is to eliminate the opposing
team. This is achieved by not only killing the opposing players but
also removing their ability to respawn by destroying their spawn

technorati tags:,

Tuesday, July 25, 2006

Here's hoping AMD and ATI merger goes through

Recently, however, as the RedPhoronix blog, has chronicled, ATI had changed its Linux ways. While ATI's Linux drivers still aren't speed-demons, they're much better than they used to be, and ATI is now constantly improving them on a monthly driver release schedule.With AMD at the helm, I can envision ATI finally open-sourcing the code to its proprietary drivers. That should quickly result in much better performance for Linux users, and better performance for the Windows and Mac platforms as well.

How AMD's acquisition of ATI may help Linux

Thursday, July 20, 2006

WSUS Slow Updates

wsus - Slow Update Approval

Here is a fix for increasing the speed of Windows Update Services.  It looks like the database wasn't tuned very well.

technorati tags:,

Monday, July 17, 2006

Better System Administration -- Extreme System Administration

Use Agile Programming and Extreme Programming techniques/concepts to administer systems and networks.

Friday, July 14, 2006

SecondLife R&D

The Croquet Project

I listened to a podcast from IT conversations that showed how you could dynamically communication through a 3D environment using very strong scripting (smalltalk, I think).  You can create an object and anyone can modify the objects immediately.

Can Pound replace Lighttpd and proxy Mongrel?


  1. a reverse-proxy: it passes requests from client browsers to one or more back-end servers.

  2. a load balancer: it will distribute the requests from the client browsers among several back-end servers, while keeping session information.

  3. an SSL wrapper: Pound will decrypt HTTPS requests from client browsers and pass them as plain HTTP to the back-end servers.

  4. an HTTP/HTTPS sanitizer: Pound will verify requests for correctness and accept only well-formed ones.

  5. a fail over-server: should a back-end server fail, Pound will take note of the fact and stop passing requests to it until it recovers.

  6. a request redirector: requests may be distributed among servers according to the requested URL.

Deploying Rails with Pound in Front of Mongrel, Lighttpd, and Apache - O'Reilly Ruby

technorati tags:, ,

Wednesday, July 12, 2006

Changing Flock's Search engine

The easy part is to select google as your default search engine but that only changes the search in the upper right corner. If you right-click on a word to do a search, you will be using yahoo until you change this about:config variable.

Type about:config in the address bar and filter by 'search' and double click on the key shown below.

or just

Just a quick note: Taking screenshots on Linux (Ubuntu for me) doesn't work the same as in Windows. In Windows, you just need to do PrtScrn or Alt-PrtScrn and ctrl-v (paste) into the blog post. Under Ubuntu, I have to PrtScrn or Alt-PrtScrn and I get a dialog box to save my screenshot to the desktop. I can't then drag-and-drop the picture into the blog post but have to invoke the Flock photouploader to get the picture into the photobar and then drag it into the blog post.

technorati tags:

Monday, July 10, 2006

Slowing down SSH bots

Agreed. I was going to package a port knowking
daemon called doorman just for this, then I finally figured it wasn't
worth it. In my case, I decided to use tha facilities provided by
shorewall (an awesome firewall tool):
ACCEPT          net       $FW           tcp     22      -          - 1/min:2

ssh login attempts from an IP on the public internet are restricted to
once a minute, with a surge of 2 (basically allowing two attempts in
the first 60 seconds). The nice thing is that it doesn't run the risk
of someone DOSing me by using up all the concurrent connections or
whatever. Additionally, the script kiddies get tired of waiting and I
rarely ever get more than two attempts from the same IP. Some are real
persistent and stick it out for 10 minutes or so, but that only gets
them 11 attempts.

Re: Automatically Blocking SSH Attackes From Script Kiddies?

technorati tags:, ,

Sunday, July 9, 2006

Live Clipboard

Who will create a Live Clipboard for Rails plugin first?

Wednesday, July 5, 2006

Ways not to install Proliant ML330 G2

This is such a hack on how to get things going I don't even want to admit it but I also don't want to forget in case I need to do it again.

(Way back in the beginning, I figured out that getting the LSI Logic ATA raid controller -- megaide was going to be a pain.  So I formated the drives under the <ctrl-a> scsi bios to be independent.  I figured, I can always do a software raid later, if I need to.)

I installed some form of Debian on this box 1.5 years ago and I can't quite remember what I did.  I think I started with Debian 3.01 (sarge?) installer and ran it with the expert boot option.  Then when it tried to autodiscover the devices I would deselect the ide-cdrom device the first time through (it is the ide- that is listed last)  The next time through I would select the last module and go from there.

This time I installed Ubuntu's Breezy like a regular system but on reboot the system would tell me that it couldn't find /dev/hda1.  If you run 'cat /proc/partitions' you should see what partitions are available, mine was obviously installed on /dev/hde1.  Now 'mount /dev/hde1 /mnt' to temporarily get access to the root partition.  If you push on, you can edit the /etc/fstab file from the busybox prompt using 'sed -i.bak s/hda1/hde1/ /mnt/etc/fstab' and 'sed -i.bak s/hda1/hde1/ /mnt/boot/grub/menu.lst'

I wasn't able to boot correctly without manually editing the grub on the fly using ESC and 'e' on the line with the /dev/hda1.  After pressing enter to commit the grub change, you will need to use the 'b' option to boot.  It took a long while for grub to hand off from initrd to hde but it eventually worked (I thought that I should have modified the hd(0,0) to hd(5,0) but grub failed.  Tab completion in grub is great)

I ran 'sed -i.bak s/breezy/dapper/ /etc/apt/sources.list' after getting a decent boot.  'sudo apt-get update && sudo apt-get dist-upgrade' and sat back.  While waiting, I found from /var/log/dmesg that my cdrom was /dev/hda (go figure) and the extra 6 Gb drive I stuck on a IDE channel for "ease of booting" was /dev/hdc.  I ended up not using the /dev/hdc drive.

Now I'm going to look for an easy way to call the LAMP server installation system.  I thought it would be available as a task but I'm not finding it.

I'll post my lshw here to give others an idea of the hardware I'm using.

Tuesday, July 4, 2006

How To Test Rails Code

How to Use ZenTest with Ruby | Linux Journal

Lesson on Scaling Ruby on Rails

Here is a blog highlighting some issues when migrating from a php application to a ruby on rails application.  The old php site was able to handle 900,000 page impressions before having problems.  Their first day on Ruby on Rails was failing after 150,000 page impressions, however after tweaking (Can you call changing applications and server rols tweaking?) they eventually were left with an application that could easily handle 1,200,000 page impressions without crashing.

The old codebase roughly consisted of around 50.000 lines of PHP code (plus a closed-source CMS that’s not included in this calculation). We’ve rewritten most of it (some features were left out on purpose) in about 5.000 lines of Rails code.

The adventures of scaling, Stage 1

Update March 18: A follow-up article addressing reader comments is now available here.

Update March 20: Stage 2 is online.

Update March 27: Stage 3 is online.

Update April 03: Stage 4 is online

technorati tags:,

FastCGI verses Mongrel

So far this solution has proven much more stable (at least on FreeBSD) and was able to handle our peak traffic of 350.000 page request per day. In practice we use up to 8 Mongrel processes on each cluster node and it seems that Apache is the bottleneck and not our application servers as before. The next step for us is to introduce another web server that handles the incoming HTTP requests and has it's own Mongrel cluster.

Scaling Rails with Apache 2.2, mod_proxy_balancer and Mongrel

technorati tags:, , , ,

Getting Rails Environment Up and Running

I really liked how Planet Argon didn't run postgres as a daemon/service but as an instance application for development. They used migrations to create the table structure so that the code can be ported back into the production environment or onto another developer's laptop.

Here is the abridged steps for my own reference :) If you want detail read the full article below.

  1. initdb -D pgdata

  2. pg_ctl -D pgdata -l pgdata/psql.log start

  3. createdb argon_development

  4. psql argon_development

  5. rails -d postgresql argon

  6. cd argon

  7. ./script/generate model Argonista

  8. vi db/migrate/001_create_argonistas.rb

  9. vi config/database.yml

  10. rake db:migrate

Install Ruby, Rails, and PostgreSQL on OSX

I'm still not sure if I'll go with Postgres or MySQL but these steps should work on both. In fact with a migration file, I think you can have developers using postgres and the server could be mysql. Although the development will want to decide on a database platform before making any database specific calls.

technorati tags:, , ,

Sunday, July 2, 2006

I need this

The Perfect Rails/Debian/Lighttpd Stack...

The Perfect Lightweight Rails/Lighttpd/Debian install

I need this.
The Perfect Rails/Debian/Lighttpd Stack... Our setup starts with a minimal net-install image of Debian-3.1 Sarge. There is just the base system. Although sometimes Apache or Apache2 might be installed already. We are going to blow away Apache and only use Lighttpd to save on precious resources while getting a faster Rails server at the same time.

The Perfect Rails/Debian/Lighttpd Stack...

technorati tags:, , ,