More Twitter, Less Blogging
July 22nd, 2008
Has anyone else noticed that they tend to blog less since becoming a Twitter addict? I sure have…
I’m planning on fixing this by first of all including my Twitter feed on the blog one way or another. And then of course, to also focus more on blogging itself.
It’s just so quick and easy to get your thoughts out using Twitter. You’re limited to 160 characters, so there’s no point or need to write a draft, then review and/or edit it before you post your +500 word rant/review/news/whatever to the world.
Also, in my case, I’ve got an iPhone, which just makes Twitter even more addictive cause you’ve always got access to it 24/7 no matter where you are.
But now I’ve also got quick and easy access to my blog here thanks to the iPhone native WordPress app. Which means I don’t have to worry about how much GPRS is gonna cost to load up my blog in Safari to post something.
I think I’m gonna start blogging more along the Twitter style, like this post I’m writing now on my iPhone using the WordPress app. So please excuse any spelling and/or grammatical errors 
WordPress for iPhone
July 22nd, 2008
I just installed the WordPress app for the iPhone. And I have to admit it’s pretty damn nice, but could use some polish and feature additions. But hey, it’s the initial release, and I’m looking forward to seeing what will become of this app in the future 
Also, nevermind the post where I announce Pwnage Tool 2.0 has gone wild, and my successfull pwning. I’ll post about that later…
Oh and by the way, I’m writing this on my iPhone
Steve Jobs Facts
June 7th, 2008
Yepp, its what it sounds like, its stevejobsfacts.com.
And with that I’m ending my six months of silence. It’s been a crazy, tiring and exhausting six months. But I’m not gonna go for months again without a word here.
Anyway, to get back on topic. Steve Jobs Facts is pretty much what it sounds like. It’s a satirical fact index about Steve Jobs. You vote on your favorite facts, and submit your own. Think of it as the bastard child of Chuck Norris Facts and bash.org with fancy sexiness sprinkled on top like fairy dust.
SJF is a project me and Dave (@sxtxixtxcxh) started last summer. Yes, I did say last summer. But due to circumstances, hiccups, and laziness, we never got the project ready for a launch. But this week we both decided to get SJF live before WWDC even if it killed us (not really, but sounds better than “if we fail, we suck!”, or “you suck” like Dave said it… lol).
The project is still very much beta/alpha though. We didn’t implement user registrations till 2 hours after we launched the site. Right now its very simple, but very usable at the same time.
We’ll be adding more features over the next few days, and some code cleanup behind the scenes to make things runs slightly faster and smoother. Not that anyone will notice the speed improvements though unless we get slashdotted or something *keeps fingers crossed and makes cute puppy eyes* 
00110010 00110000 00110000 00111000
January 1st, 2008
01001000 01100001 01110000 01110000 01111001 00100000 01001110 01100101 01110111 00100000 01011001 01100101 01100001 01110010 00100001 00001101 00001010 00001101 00001010 01001001 01100110 00100000 01111001 01101111 01110101 00100111 01110010 01100101 00100000 01110111 01101111 01101110 01100100 01100101 01110010 01101001 01101110 01100111 00100000 01110111 01110100 01100110 00100111 01110011 00100000 01110100 01101000 01100101 00100000 01100100 01100101 01100001 01101100 00100000 01110111 01101001 01110100 01101000 00100000 01110100 01101000 01101001 01110011 00100000 01100010 01101001 01101110 01100001 01110010 01111001 00100000 01110011 01101000 01101001 01110100 00101100 00100000 01110100 01101111 01100100 01100001 01111001 00100000 01101001 01110011 00100000 01001010 01100001 01101110 00100000 00110001 01110011 01110100 00101100 00100000 01101111 01110010 00100000 00110000 00110001 00101111 00110000 00110001 00100000 00111010 00101001 00001101 00001010 00001101 00001010 00101110 00101110 00101110 01100001 01101110 01100100 00100000 01111001 01100101 01110011 00101100 00100000 01001001 00100000 01110111 01100001 01110011 00100000 01100110 01100101 01100101 01101100 01101001 01101110 01100111 00100000 01110001 01110101 01101001 01110100 01100101 00100000 01100010 01101111 01110010 01100101 01100100 00100000 01110111 01101000 01100101 01101110 00100000 01101001 00100000 01110000 01101111 01110011 01110100 01100101 01100100 00100000 01110100 01101000 01101001 01110011 00100000 01011110 01011111 01011110.
LiteMySQL — A quick and simple MySQL class for PHP5
December 13th, 2007
Today I released a small and quick side-project called LiteMySQL. It’s basically a PHP5 class which is designed to automate the boring repetitive tasks of opening and managing database connections, looping through the query result resource to get an array and so on.
I created this for a small project I’m working on which basically needs database access on less than a handful of pages. And so I’d have a ready to use MySQL solution other small projects in the future.
And sorry for the lack of information on the project page as of now, but I gotta finish off the original project which motivated me to create LiteMySQL. Once done I’ll update the project page with relevant information
Example Usage:
# general usage
$sql = new litemysql('host', 'username', 'password', 'database', 'table');
$rows = $sql->find_all();
# conditions
# - the following three uses of the find
# function all produce identical results
$result = $sql->find(3);
$result = $sql->find(array('id' => 3));
$result = $sql->find('`id` = 3');
# insert a single row
$sql->insert(
array(
'title' => 'hello world',
'body' => 'my first blog post :D',
'author' => 'John Doe'
)
);
Intuitive WebKit based IM client coming to Windows
December 6th, 2007
Last night I was contacted by one of the developers from a new multi-protocol IM client called Digsby.
If you’re an avid reader of my blog (for reasons that are beyond me… lol), you probably already know why they contacted me. They asked to bundle my Modern Bubbling message style I created for Adium along with a few other of they’re favorites.
Here’s where things start to get interesting. Modern Bubbling wont need to be ported to they’re client, as they’re using the WebKit HTML rendering engine to power their message view.
Incase you’re not an avid geek, WebKit is Apple’s rendering engine developed for Safari a few years back. WebKit was originally based on KDE’s KHTML engine. It’s the rendering engine that powers Safari, Mail, Dashboard, Adium’s message styles, and much more on Mac OS X.
So thanks to the open-source, cross-platform wonder that is WebKit, and some hard work from the development team, Digsby will support all current Adium message styles without any modifications.
Digsby’s goal is to create an intuitive IM client for Windows. They’re seemingly huge fans of Adium, and how well its UI is designed. And not to offend anybody, but personally I have to say no IM client for Windows which I’ve tried so far comes close to being as good and as much of a pleasure to use as Adium is on Mac OS X. And this seems to be the very problem the Digsby team seem determined to fix.
I’m eagerly awaiting to get my hands on the first beta to see if I wont have to be in pain anymore when using an IM client on Windows.
Head over to www.digsby.com and signup for the beta mailing list.
Shamelessly reposted from Fraeon.info
December 5th, 2007
Safari doesn’t always like bz2 compressed DMG files
December 3rd, 2007
I noticed something weird this morning about the recent SimpleDock project I released last night. The DMG is compressed using bz2 rather than the default zlib compression used by default when creating compressed disk images.
Turns out Safari gets confused and guesses wrong a lot of the time with bz2 compressed disk images, and renames the downloaded file to file.dmg.bz2 when the server doesn’t give a DMG specific MIME type. The end result is that you have to remove the .bz2 extension at the end or the file will be unusable. For that you actually have to know of this issue tho, which not all end-users do.
This problem is easily fixed however if you use Apache by simply adding the following to your .htaccess file:
AddType application/x-apple-diskimage .dmg
With this fixed, i still decided to upload a new copy of SimpleDock which is compressed with zlib instead of bz2, simply cause the size difference was 14.23 KB, and Safari doesn’t have any problems with zlib compressed disk images regardless of MIME types. And also cause I wanted to make a minor change to the uninstall info file
The only strange thing though is that the SimpleDock download worked fine last night when i tested it, but this morning when I was testing some other stuff, I noticed it didn’t work properly anymore.
But oh well, it’s all fixed and working now, and I don’t feel like doing any P.I. work today… lol
SimpleDock 1.0 — a Leopard Dock modification
December 3rd, 2007
Do you not like the new default dock style of Leopard? Do you think the 3D style attracts to much attention and distracts your eye-line by not really fitting into any and almost all wallpapers? Do you find the white line around the flat style insanely annoying and ugly?
Myself I answered yes to all of these questions, which was what got me started on SimpleDock a few weeks ago.
From the beginning it was just supposed to replace the flat dock style, but along the way I came across Rev. Mitchz‘ Dark Glass mod for the 3D style which I fell in love with. So thanks to Mitchz’ permission, I included Dark Glass in SimpleDock
Finally tonight I decided to finish and release this project instead of getting a few hours of more than needed sleep. I’d had SimpleDock collecting dust for the past 10-14 days.
I’ve created an Installer and Uninstaller to make the process as smooth as possible for everyone.
Enjoy
Download SimpleDock
What Leopard’s folder icons should have looked like
December 2nd, 2007
I don’t know about your story, but my story of the first time I the new Leopard folder icons goes something like this; “Wait, what? Is this a joke? am I dreaming? WTF?!”.
In the end though when Leopard shipped, these new (from a lot aspects uglier) icons kinda grew on me and I didn’t really mind them that much after about a week. The old Aqua folders unfortunately look horrible as well in Leopard next to the rest of the UI.
Today I stumbled upon Jonas Rask’s latest work, Maji.
Jonas has done an amazing job with Maji (formally known as “QuickLook”) , and i’ve fallen in love with the icon set. It’s the icons Leopard should have shipped with in my opinion.
My only wish for Maji is that Jonas makes more icons for the set, and if I could have a wish, hard drive icons inspired/based on those found in the Agua icon set.
You can download Maji from here. Also check out CandyBar if you haven’t already, makes your life easy when it comes to installing replacement system icons.
Modern Bubbling: +40,000 Downloads
November 13th, 2007
I noticed today that my Modern Bubbling message style for Adium had passed 40,000 downloads (40,419 as of now). To say the least, I’m really happy and excited about how well Modern Bubbling has been received by the Adium community
I’d also like to say that an update for Modern Bubbling is probably overdue *whistles innocently*. I’ve just been really strung on time pretty much the whole year till recently. So I’ve been getting on top of things the last few weeks, and I’ll soon be getting around to seeing what I can do with Modern Bubbling.
Also, I’m at least planning to create an open-source PHP script for testing message styles without having to use Adium itself. If I get that far soon tho, I can’t say.
Leopard: Spaces Puzzle
November 7th, 2007
What happens when you’re a Leopard user and still awake at 2-3am writing code at the brim of sanity with your eyes almost closed from tiredness? You will shortly find yourself violating the pride of some Leopard features intended for usefulness by turning them into an old classic game.
What I started with:
It only took a few minutes to solve, but it was still fun
And yes, incase you’re wondering, I actually do use 9 spaces *whistles innocently* 
Leopard: Pimpin’ Safari with InputManagers
November 2nd, 2007
We all heard the rumors that InputManagers were completely removed from Leopard. But thankfully as Allan Odgaard of Macromates points out in his blog, that’s not (quite) the situation.
To sum up, InputManagers still work, but not from the User’s Library folder. Only InputManager’s located in /Library/InputManagers/ are loaded if they belong to the root user and wheel group. Also if ~/Library/InputManagers/ exists it seems that all InputManagers are ignored, but not in all cases.
My own personal favorites when it comes to pimpin’ Safari are Inquisitor, SafariStand and Saft. Inquisitor and SafariStand are completely free to download and use, Saft you have to pay for tho (which I’ve been meaning to get around to for a few months now). All of these three Safari extensions are available and work under Leopard now.
Inquisitor has been updated to automatically install directly into /Library/InputManagers/. If it doesn’t load after install, check if ~/Library/InputManagers/ exists in your home folder and trash it if it does.
SafariStand has a Leopard specific release, which for better or worse drops support for the InputManager’s loading technique, and instead relies solely on SIMBL. Previous versions could be used as an InputManager directly, or loaded via SIMBL. Personally I hope that InputManager support returns soon.
With Safari 3, SafariStand can replace one of the two features I like the most from Saft. Automatically restore all open windows and tabs from previous session. SafariStand has long had a restore feature, but (at least if i remember right) it popped up a window first about it rather than just opening everything again. Safari 3 though added a few feature under the History menu called “Restore All Windows From Last Session”, and SafariStand can automatically invoke that function upon launch.
Saft seems to have gone a somewhat strange way to accomplish Leopard compatibility tho. I was gonna give the demo another try since i did a clean install of Leopard, the traces of the previous expired demo were all gone. However, Saft is now packaged as an application you copy to /Applications/. Then you launch Saft.app rather than Safari.app. The Saft application is basically a launcher for Safari which injects the necessary code into Safari to work.
Personally I find Saft’s new approach quite annoying. Ok, so its not a major deal launching Saft instead. But the thing is, that I shouldn’t have to. InputManager still work, SIMBL still works, there are options. But in all fairness, Saft is probably the most complex of the three extensions I’m covering here, and my guess would be that this was the fastest solution to get Saft back up and running for their customers who have upgraded to Leopard. I’m hoping for a future release which works like a normal InputManager, or in worst case, uses SIMBL.
UPDATE: With the release of Saft 10.0.1 it can now be used as an InputManager, or a launcher.
I’d just like to clear up that I don’t hate SIMBL. I just find it unnecessary to use one InputManager to load one that you actually want, while the one you actually want could be loaded directly. Not optimal efficiency, and I unfortunately happen to have a bit of an obsession about efficiency. *whistles innocently*
Leopard: Single-Layer Install DVD: How To…
October 31st, 2007
The time has finally come when DVD5 (Single-Layer) discs aren’t even big enough to hold your favorite operating system. Which is all well, just more “candy” to drool over, unless you’re in a somewhat similar situation like me.
I’m currently using a 15-inch MacBook Pro (2.4GHz) which I bought in august. My previous machine was a 15-inch PowerBook from May 2004 with a 1.5GHz G4 processor. Leopard installed fine on my new machine you might imagine. My PowerBook though, has some issues with its optical drive, specially when it comes to Dual-Layer DVD discs.
The evening I got my copy of Leopard, I obviously was in all haste to install it on the MacBook Pro. Once done I also wanted to upgrade the PowerBook cause my parents use it every now and then. Okay, I lie. I really just wanted to geek out with leopard on a PowerPC machine too, thats not a crime right?
To make my life hard though, I’d forgotten about the optical disc problems with the PowerBook. And without any external optical drive, or firewire hard drives at home, my options quickly became limited to burning a Single-Layer DVD disc with only the essential stuff needed to actually install Leopard on it.
This turned out being a bit harder than I originally thought tho. After a few failed attempts, I got it working.
Keep in mind that I’m not an expert on OSX internals or how to custom make bootable discs. Some of the stuff mentioned bellow might not be deadly necessary to make a bootable stripped down Leopard install disc. Its simply what worked for me. Just so you know before you classify me an idiot incase I’m doing something unnecessary
Also I’m trying to keep it simple so non-geeks find this how-to useful too.
Overview.
What we’ll be doing here, is simply stripping out non-vital data from the Leopard installation disc. This means you’ll end up with a disc without software like the Xcode developer tools, printer drivers and language translations. They are not required to install a working copy of OS X. Once you’ve completed the installation, you can install the removed software from a disk image of the installation disc (more on that later).
Step 1: Create a read/write Disk Image from the Install DVD.
First of all, you’re gonna need at least 12-13 GB of free space somewhere. Then you’ll obviously need to insert your install DVD into your computer. Or if you’re like me and paranoid about optical media. You’ve probably already created a DMG from the install disc for safe keeping on a backup drive. In that case you’ll need to mount the DMG.
Next launch Disk Utility (found in the Utilities folder inside the Applications folder). In the source list to the left in Disk Utility, you’ll see a disc called “Mac OS X Install DVD”, select it.

Next select File > New > Disk image from disk2s3 (Mac OS X Install DVD)…
Disk Utility will now ask you where you wanna save the image. Browse to somewhere where you have at least 8 GB of free space. Select “read/write” as the image format. Name the new disk image “Leopard RW.dmg” and click Save.

Then go make yourself a cup of coffee or do something else to kill about 20-30 minutes.
Step 2: Remove non-vital content from the read/write DMG Image.
Once you’ve created the new DMG, mount it. Now you have a mounted exact copy of the same volume on your original install DVD. Only here you can delete stuff.
Open the mounted volume and start with trashing the “Optional Installs” and “Instructions” folders. Next press cmd+shift+G or select “Go to Folder…” from the Go menu in Finder. In the dialog that pops up type “System” and click Go.
Now you’ll have the hidden System folder from the install disc open. Open the “Installation” folder and then the “Packages” folder. Now we need to trash some of these installation packages which are taking up a lot of space, but are not vital for Leopard to install. The plan is to simply remove all printer drivers, and all language translations.
Here’s the complete list of packages you need to trash:
- BrazilianPortuguese.pkg
- BrotherPrinterDrivers.pkg
- CanonPrinterDrivers.pkg
- Danish.pkg
- Dutch.pkg
- EpsonPrinterDrivers.pkg
- Finnish.pkg
- French.pkg
- FujiXeroxPrinterDrivers.pkg
- German.pkg
- GutenprintPrinterDrivers.pkg
- HewlettPackardPrinterDrivers.pkg
- Italian.pkg
- Japanese.pkg
- Korean.pkg
- LexmarkPrinterDrivers.pkg
- Norwegian.pkg
- Polish.pkg
- Portuguese.pkg
- RicohPrinterDrivers.pkg
- Russian.pkg
- SamsungPrinterDrivers.pkg
- SimplifiedChinese.pkg
- Spanish.pkg
- Swedish.pkg
- TraditionalChinese.pkg
- XeroxPrinterDrivers.pkg
Once you’ve trashed all these files, its time to empty the trash to remove the files permanently from the disk image.
Step 3: Creating the final 4.38 GB Disk Image and burn it to a Single-Layer DVD.
Now we need to create a new disk image with the correct size. Sure, the first disk image we created only has just about 4 GB of data on it, but its volume size is still 7.5 GB. Which means you still need a dual layer disc to burn it.
Unmount the modified disk image you just stripped down. Then we need to create a new 4.36 GB disk image with Disk Utility. I know, 4.38 GB is the limit of Single-Layer DVD discs, I just prefer to aim right below the limit, just incase.
In Disk Utility select File > New > Blank Disk Image. The image format should default to read/write which is what we need. Change the size to 4.36 GB. If you’re using Leopard make sure that Partitions is set to “Single partition - Apple Partition Map”. Save it somewhere you’ve obviously got at least 4.36 GB of free space and name the image “Leopard Stripped.dmg”.
Then go for another, but shorter, coffee break.
Once done, mount the new empty disk image if it isn’t already mounted. In Disk Utility select the mounted volume of the new disk image and click the Restore tab. Drag the “Leopard RW.dmg” image into the Source box, and drag the mounted volume of the “Leopard Stripped.dmg” image into the Destination box. Mark the Erase destination checkbox.

Click the Restore button and wait a few seconds. Disk Utility will report an error of some kind. Select “Leopard Stripped.dmg” from the source list on the left and click the Eject button in the toolbar. Once ejected, click the Open button and it’ll mount again, but this time the volume label should be “Mac OS X Install DVD”. Uncheck the Erase destionation option and click the Restore button again.
Time for a third coffee break.
Once the restore process is complete, unmount “Leopard Stripped.dmg”. Then its time to burn the disc finally.
Personally i used Toast to burn my stripped down disc, but there shouldn’t be any problems burning it using Disk Utility. To burn it using Disk Utility, select “Leopard Stripped.dmg” from the source list on the left, and click the Burn toolbar button. Use any normal DVD±R disc
Step 4: Installing Leopard from the Stripped Install DVD.
Installation is pretty much exactly like normal, except you have to make sure it doesn’t attempt to install any printer drivers of language translations. Those files aren’t there anymore, and if the installer tries to install them, it’ll just commit a pretty suicide.
UPDATE: As Mike pointed out in his comment, if you are performing an upgrade install the installer requires that any previously installed language translations are updated. Which means they can not be unchecked during installation. To get around this, he recommends using Monolingual in Tiger to remove the additional languages before performing the upgrade install. If you go down this path, please let me know how it goes as I’m curious.
Also, it can take a VERY, VERY VERY long time for your machine to boot from this customized disc. My PowerBook took about 25 minutes too boot, all the while just showing the gray apple logo and spinner.
After selecting which disk to install Leopard on, you’ll have a Customize button in the lower left on the installation wizards dialog. Using the customize feature, uncheck Printer Drivers and Language Translations. Then the installation will go on without a hitch.
Step 5: Installing the software stripped from installation disc.
For this, you’ll need a mac which can read the Dual-Layer Leopard disc, just like you did in the beginning to create the disk image from the Leopard disc.
Create another disk image from the Leopard install disc like you did in the beginning. Only leave Image Format on compressed. I’d recommend you name it “Mac OS X 10.5 Leopard.dmg”. This disk image file you can keep as a backup incase you ever loose or otherwise damage your original Leopard install disc.
Then its just a matter of making the backup disk image accessible with the help of networking or an external hard drive to the newly installed Leopard machine. Simply mount the disk image, and use the Optional Installs package to install any/all of the language translations and/or printer drivers you want. You can obviously install the Xcode Developer Tools as well.
Step 6: Uhm…. Enjoy Leopard? Can that even be classified as a step?
Thats it, you should be all set. Now you can play with Apple’s latest toy
P.S. You probably noticed the screenshots I’ve used here are from Leopard. I simply don’t have a Tiger machine anymore (hehe). Also yes, I’ve installed Windows XP with Boot Camp, partially to test out the new Boot Camp 2.0 (which partitioned my internal drive a lot faster than Boot Camp 1.4), and to play some games those rare moments when I don’t have anything to do.
Leopard: Spaces Bug
October 31st, 2007
UPDATE: If you’re using Proteron’s LiteSwitch X you wont be effected by this bug. Hopefully Apple will fix this issue in the upcoming 10.5.1 update.
UPDATE 2: I just installed the 10.5.1 update, and it seems like this bug has been fixed, as far as I can tell so far, I’ll update further in a few days if I still have issues.
UPDATE 3: With quite some delay, I have to say that the issue hasn’t been fixed, just improved a bit, it happens less than half the time when switching to apps with windows on multiple desktops now, rather than the 80-90%? of the time it did before.
I’ve been running Mac OS X 10.5 Leopard now for 3-4 days and surprise surprise, I’m (mostly) loving it
One thing that’s been annoying me though, is a bug in Spaces. When you’ve got multiple windows from a single application you can get some very unwanted space switching when using cmd+tab application switching.
If you’re running Leopard, try it yourself. You’ll need three running applications, I’ll use Safari, TextEdit and Finder for this example. Also note this bug doesn’t seem to happen EVERY time, but at least most of the time the following steps are done:
- In space 1, open a Safari, a TextEdit and a Finder window.
- In space 2 open a new Safari window and switch back to space 1.
- Click on the Safari window in space 1 making it the active application.
- Using cmd+tab switch from Safari to Finder, and then back to Safari again the same way, then switch from Safari to TextEdit, and back to Safari again. Works fine.
- Now however, switch from Safari to Finder, then from Finder to TextEdit, and then from TextEdit to Safari….errr what just happened?
What happened was that you switched back to Safari, but you’ve also been automagically transported to space 2, even if you wanted to stay put in space 1.
This happens thanks to a feature of Spaces which obviously isn’t working perfectly as it should. When you switch to an application which is in another space using the dock or cmd+tab Spaces will automatically switch to that space.
So, simply put, Spaces doesn’t always properly detect which is the active window of an application, and wrongfully switches you to the wrong window on the wrong desktop.
One more thing…
…which I find annoying, but which I imagine is a feature rather than a bug, is how Spaces handles the restoration of minimized windows. Lets say you minimize a window in space 1, and then you move on to space 3 to do some other work. Then you wanna work on the minimized window in space 3 so you restore it. But this switches you back to space 1 (where you minimized the window in the first place) and restores the window there. I can see the logic behind this cause minimizing is not meant to be a way to move windows between spaces, its merely a way to get windows you don’t need right now out of the way. However, personally I’d like the window to just pop back up in whatever space I’m in right now.
So my final thoughts of Spaces is that it needs some bug fixing, and more settings in the Spaces System Preferences pane for customizing a few behaviors. Oh and a menubar pager like ye ol’ Desktop Manager which gives you an overview of all desktops would be awesome. Its the one thing i miss from Desktop Manager.




