Just for fun I thought I’d put up a list I found of Instant Messenger shorthand codes and emoticons.  This may be helpful to some of my older friends who are new to messaging.  Some of these are rarely seen and may have already been forgotten.

  • 4VR  –  Forever
  • AYT  –  Are You There?
  • B  – Bye
  • BBFN – Bye Bye For Now
  • BBL – Be Back Later
  • BBS – Be Back Soon
  • BCNU – Be Seeing You
  • B/F – Boyfriend
  • BRB – Be Right Back
  • BTDT – Been There Done That
  • BTW – By The Way
  • BYKT – But You Knew That
  • CU – See You
  • CYA – See Ya
  • CUL8R – See You Later
  • FTL – For The Lose
  • FTW – For The Win
  • GTG – Got To Go
  • G/F – Girlfriend
  • HHOK – Ha Ha, Only Kidding
  • HW – Homework
  • IBCNU – I’ll Be Seein’ You
  • IDK – I Don’t Know
  • IIRC – If I Recall Correctly
  • IMHO – In My Humble Opinion
  • IMO – In My Opinion
  • J/K or JK – Just Kidding
  • LJBF – Let’s Just Be Friends
  • LTNS – Long Time No See
  • LOL – Laugh Out Loud
  • LUL – Love You Lots
  • MYOB – Mind Your Own Business
  • NEWAY – Anyway
  • ROFL – Rolling On the Floor Laughing
  • TOM – Tomorrow
  • TTFN – Ta Ta For Now
  • TTYL – Talk To You Later
  • TNX or TKS – Thanks
  • W1M – Wait One Minute
  • WUZ UP – What’s Up?
  • YT – You There?
  • YT


  • : -) :-)Smiley face
  • : -( 😦 Frowny face
  • :’-( Crying
  • ; -) 😉 Winking
  • :-, Smirking
  • :-0 Yelling
  • :-/ Skeptical
  • :-\ Undecided
  • :-* Oops
  • :-& Tongue Tied
  • ~:-( Angry
  • :-B Drooling
  • %-) Braindead
  • |-O Yawning
  • |~( Steamed
  • >-< Livid
  • : -D 😀 Laughing
  • |-D Laughing bigger
  • :- | 😐 Indifferent or Grim
  • :^D Great!
  • |-P Yuck
  • : -P 😛 Tongue Out
  • :->Sarcasm
  • >:-> Devilish Remark
  • >;-> Lewd Remark
  • : -o 😮 Wow
  • :-< Very Sad
  • :-O Shock, Oh Noes!
  • :-T Trying not to laugh
  • :-X Lips are sealed
  • :-c Unhappy
  • |:{ Disappointed

Free free to comment more below! Continue Reading »


This is hardly a new topic.  There have been multiple ways to get Front Row working on your pre-Leopard, pre-IR-Receiver, no-usb-IR-Receiver Mac throughout the years.  The most notable of these would be the famous Andrew Escobar’s Front Row Enabler, which has mysteriously disappeared from the web (the link here is for a web archive version)  for some unknown reason (with some mention earlier that he did not believe the email he received from Apple (C&D?) was legitimate.  And many may believe this topic is irrelevant, since Front Row comes with Leopard and works on all macs that Leopard runs on automatically.  However, if you don’t have the cash for Leopard, or your not willing to upgrade for some other reason, then you still need a way to have fun on your non-IR Mac.

There are multiple pages on how to do parts of this around the web, and several utilities, but as I’ve done a lot of research on it, I decided to put together a more complete tutorial.  Here’s the full scoop:

What is Front Row?

Front Row is a very nice and fun media center program well known to many modern Mac users, but if you have an older mac you may never have heard of it.  It gives access to a great interface for viewing your videos, playing DVDs, seeing Apple’s movie previews, your photos, and listening to music.  Front Row 1.0 came installed on any Mac Pro Tower (Tiger), and can be installed and run fine on any 10.4 (Tiger) and possibly earlier Mac by downloading the update from Apple’s website.  But it wouldn’t run on the Mac Pro, and the update package won’t let you install it on your Tiger Mac.  Front Row 1 only runs on Macs that have a built-in IR-Receiver (or a separately purchased USB IR-Receiver).  Even though the program is made to work just fine using the keyboard, Apple must not want you to have any fun if you can’t have the whole “remote control experience”.

Making it Install and Run Anyway

Well, this didn’t seem fair to a lot of people, who questioned why only some Apple users should get software that anyone could use, for the same price as the rest of us paid, just because their computer is newer and came with a remote.  So, users set out to get around these little arbitrary restrictions Apple placed on their software.

The Easy Way:

There is a great utility to get Front Row working on your Mac: Activate Front Row.  This little program will go online, download Front Row 1.3.1, modify the package, install Front Row, then modify your I/O kext files to allow Front Row to run, effectively activating Front Row in a few easy steps.  See the Readme on the download page.  It even can change your movie preview download resolution and put a little Front Row icon on your dock.  It also allows Leopard users to uninstall the new Front Row 2.1.6 and install the older 1.3.1 in it’s place (Front Row 2 is thought to be much uglier and harder use than Front Row 1 by many users, including myself).  However, some people don’t trust this program because there is no excessive documentation on it to tell them everything it does.  As it is mainly a script running applet, the methods it uses are pretty obvious.  For the wary, or for those do-it-yourself-ers, the many steps are provided below.

The Hard Way:


If you have a Mac Pro, Front Row is probably already installed on your system, you just don’t know it.  Everyone should go to /System/Library/CoreServices and see if there’s an app there called Front Row.  If so, jump down to Getting it to Run.

If you don’t have the program, you can download the full program (masquerading as an update) from Apple’s downloads site.  Just go here, or search for “Front Row 1.3”.  Download the .dmg to your desktop.

Historical Note-

When Front Row was first being toyed with, Front Row 1.3.0 was available for download.  Andrew Escobar created the Front Row Enabler program, that would allow you to install and fix the app to run on your 10.4.9-10.4.10 system.  Then Apple released the 1.3.1 update which broke Andrew’s method.  So he released the next Enabler1.5 release, which worked until Apple came out with OS 10.4.11.  Andrew’s Enabler won’t work with 10.4.11 as it checked your OS version to be safe.  The other drawbacks to Enabler are that it didn’t work on Intel Macs, patched your system binaries directly (which was less safe and more illegal), and has been removed from the web since Andrew’s site was taken down.  Although it can still be found, it is hard to find, and I figure everyone wants to be using the latest OS update anyway.

Futuristic Note-

You can also download the whole latest Front Row 2 from the Apple Downloads page as an update, and you can follow these methods to install it to your Tiger OS.  It doesn’t require an IR-Receiver so it should work, right?  No. It crashes out on load with this Link (dyld) error: Symbol Not Found: _kUTTagClassFileNameExtension referenced from the BackRow Framework.  As far as I know no one has figured out how to make Front Row 2 work on an older operating system.  It only runs on Leopard.  Hopefully someone will get on that for all those Tiger users who want to run the newest, but uglier and clunkier version…

Once the .dmg is downloaded, it may try to install.  Go ahead and try to install it, just to see how it stops you.  Now, to get around the installation checks:

  1. Open the .dmg, drag the package to your desktop (you need to write to it)
  2. Command-click the FrontRowUpdate.pkg, select show package contents
  3. Open contents, command click the FrontRowUpdate.dist file, select open with -> other.
  4. Find textedit, select it, hit open. Now you’re looking at the package’s script to check your system
  5. Scroll down until you see or search for the text “if (!hasIR())
  6. Remove all text (all the if statement) from that to ” return false; } “, only remove the if statement. (now the function installationCheck() should just have return true inside of it)
  7. Now, scroll down to the line that says: “// must have Front Row”, remove everything from there to just before line “return true”, (leaving “return true” and removing both if statements that check to make sure you are updating an existing Front Row version).
  8. Notice all the rest of the if statements and what they do (there’s one to make sure your running 10.4.5 or later, and one for if you’re running a server, etc), you can make the installer run on anything by experimenting with taking out more if statements inside the volumeCheck() function.
  9. Save the file.
  10. Double click on the package on your desktop again, it should now allow you to install.  If it doesn’t, go back to the .dist text file and make sure you didn’t take out anything extra.  If you’re getting other install messages than the IR and OS version messages, examine the rest of the if statements to see which ones to take out.

Getting it To Run

If you’re done doing stuff yourself, you can now use Front Row Activator to activate Front Row, or if you still want to do things the hard way, you can follow the steps below.

Since Front Row requires an IR-Receiver, you need to make it believe you have one.  Andrew Escobar’s Front Row Enabler patched binary system files to make the OS register the presence of an IR-Receiver when there wasn’t one there.  Some people modify kernal extension files to register their mouse or keyboard as an IR-Receiver.  Patching binary files isn’t very safe and modifying existing extensions can be difficult if you don’t have a common setup, so the best way (and the method Activator uses) seems to be to add a new extension file.

  1. Go here and download this Apple IR Emulator called IRKeyBoardEMU.
  2. Don’t install it, just open the .dmg.
  3. Command-click on the package and select show package contents.
  4. Open contents, then d-click on Archive.pax.gz.
  5. A library folder is installed to your desktop, open it, then open StartupItems/IREmu/
  6. Copy the IRKeyboardEMU.kext file and paste it in /System/Library/Extensions/
  7. Command-click on IRKeyBoardEMU.kext, select Get Info, expand Ownership and Permissions, Owner should be root (or admin), and group should be set to wheel.
  8. Command-click on IRKeyBoardEMU.kext, select show Package Contents. The Contents folder should have the same permissions
  9. Go to Applications/Utilities, open the Terminal
  10. Type sudo touch /System/Library/Extensions
  11. Reboot

For even more info see some of these posts where I got this information:

Adding an Extension: Another Way to run Front Row on any mac.

Modifying existing extensions: Trivially Running Front Row on a Mac… or   Enable Front Row on Mac Pro

Running Front Row

After following these steps or using Activator, you should now be able to open Front Row by pressing Apple+Escape on your keyboard.  The Front Row Activator will put an icon in your dock to run Front Row.  Don’t bother downloading the Front Row dashboard widget as it won’t open this Front Row.   If you have a USB IR-Receiver, your software should include an option for running Front Row.

If you experience some problems with Front Row, make sure that your iTunes and Quicktime are fully up to date.  For example, after getting Front Row working on my G4 tower, I was able to play, but unable to actually view movie previews.  After updating to the latest iTunes version, however, the problem was solved.


Old Games

I’ve been thinking about putting together a Windows 95 machine to play and archive some of those old games I loved when I was kid.  I still have yet to find time to do that, but for my friends who might be interested, here is a list of some of the games I’ve played, with dates they came out, OS’s they were made to run on, developers and producers.

Old Game Dates:
Date Published, Name, Developer, Publisher, (Engine)
<games I played but no longer own>
[relative games I’ve not played]

o    March Windows 3.1x
o    Sept 24, Myst, Cyan Worlds, Broderbund
o    The Journeyman Project Turbo, Presto Studios, Sanctuary Woods
o    <Relentless: Twinsen’s Adventure, Adeline Software, Activision>
o     August Windows 95
o    The Journeyman Project 2: Buried in Time, Presto Studios, Sanctuary Woods
o    Lode Runner Online: Mad Monks’ Revenge, Presage, Sierra Online
o    Torin’s Passage, Sierra Online, Sierra Online
o    May 31, Lemmings Paintball, Visual Science, Psygnosis
o    <Oct 31, Lords of the Realm II, Impressions Games, Sierra Online>
o    Jan 2, Diablo, Blizzard North, Blizzard Entertainment
o    Oct 29, Riven: The Sequel to Myst, Cyan, Broderbund
o    Nov 24, Diablo: Hellfire, Synergistic Software, Sierra On-Line
o    June Windows 98
o    The Journeyman Project 3: Legacy of Time, Presto Studios, Red Orb
o    Starship Titanic, The Digital Village, Simon & Schuster Interactive
o    <Nov 30, Baldur’s Gate, BioWare, Black Isle Studios/Interplay, Infinity Engine>
o    Dec, King’s Quest: Mask of Eternity, Sierra Studios, Sierra Studios
o    Dec 31, Lords of Magic, Impressions Games, Sierra Entertainment
o    June 30, Dungeon Keeper II, Bullfrog Productions, Electronic Arts
o    Nov 19, The Longest Journey, Funcom, Funcom (Norway)
o    Sept 25, Prince of Persia 3D, Red Orb Entertainment, The Learning Company)
o    April 28, Lemmings Revolution, Take-Two Interactive, Psygnosis
o    June 29, Diablo II, Blizzard North, Blizzard Entertainment
o    Oct 6, American McGee’s Alice, Rogue Entertainments, Electronic Arts
o    Oct. Windows XP
o    May 7, Myst III: Exile, Presto Studios, Ubisoft
o   June 9, Diablo II: Lord of Destruction Expansion, Blizzard North, Blizzard Entertainment
o August 21, Arcanum: Of Steamworks and Magick Obscura, Troika Games, Sierra Entertainment, Arcanum Engine
o    June 18, Neverwinter Nights, BioWare, Infogrames/Atari, Aurora Engine
o    Dungeon Siege, Gas Powered Games, Microsoft Game Studios, custom engine
o    [Nov 11, Uru: Ages Beyond Myst, Cyan Worlds, Ubisoft]
o    Nov, Dungeon Siege: The legends of Aranna, Gas Powered Games, Microsoft Game Studios
o    Nov 30, The Prince of Persia: The Sands of Time, Ubisoft Montreal, Ubisoft
o    Sept 29, Myst IV: Revelation, Ubisoft Montreal, Ubisoft
o    Dec 2, The Prince of Persia: Warrior Within, Ubisoft Montreal, Ubisoft
o    August 16, Dungeon Siege II, Gas Powered Games, Microsoft Game Studios, custom engine based on Dungeon Siege
o    [Sept 20, Myst V: End of Ages, Cyan Worlds, Ubisoft]
o    Dec 1, The Prince of Persia: The Two Thrones, Ubisoft Montreal, Ubisoft
o    March 21, The Elder Scrolls IV: Oblivion, Bethesda Game Studios, Bethesda Softworks
o    [April 20, Dreamfall: The Longest Journey]
o    Nov. Windows Vista
o    June 5, Tomb Raider Anniversary, Crystal Dynamics, Eidos Interactive
o    April 8, Assassin’s Creed, Ubisoft Montreal, Ubisoft, Scimitar Engine
o    Sept 16, The Witcher Expanded Edition, CD Projeckt Red Studio, Atari, Aurora Engine
o    [Dec 9, Prince of Persia, Ubisoft Montreal, Ubisoft, Scimitar Engine]
o   Jan 13, Mirrors Edge, EA Digital Illusions, Electronic Arts, Unreal Engine 3

o July 3, Trine, Frozenbyte, Southpeak Interactive

An IDE for Php

Php is a good language, open and functional for server side scripting.  But, being a scripting language, it is a loosely typed and does not force you to use functions.  This makes it very easy to write bad Php code if you don’t keep certain paradigms strictly in mind while writing.  To aid good programmers in this endeavor, here are some IDE’s for Php compared.

  • NetBeans – free, available as Php only edition
  • Dev-Php – free, open source
  • Eclipse Pdt plugin – free, currently (as of this date) not compatible with Eclipse Ganymede edition.
  • Komodo – $29.95 personal, $299.95 professional
  • Php Designer – free personal, $55.00 professional
  • PhpEd – $119.00
  • PhpEdit – $89.00
  • ZendStudio – $99.00 basic, $299.00 professional

Now, I personally appreciate free software, so netbeans is my prime choice, followed by Dev-php.  I have Ganymede eclipse, so pdt won’t work for me, and I’m certainly not going to pay for something that I don’t really need.

You can also edit Php in any text editor, including vanilla notepad. But this can easily lead to bad code.  Still, there are some nice editors that do more for you (syntax checking) like notepad++ than notepad.  For a list of these, go here.

For more info on some of those above, see this page for more information.

The first thing an Infra-Red (IR) remote control needs is an IR receiver.  I needed to buy one of these for my project to use the Apple remote on my PC, so I needed to find a receiver that didn’t come with a remote.  You can find several out remote/receiver packages out there, but I didn’t want to spend the extra money on a remote I wouldn’t use (you can see how much extra it is in the bottom list).  

I did some shopping around and figured out that stand alone receiver are hard to find and often too expensive.    Below is a list of many of the standalone IR receivers and their price for purchase on the web. Also listed is their IR frequency ranges (what frequencies of infra-red signal they will pick up).

  • USB-IRT – $50.00 – 36-40kHz (usb connection)
  • HomElectronic’s TIRA 2.1 – $51.11 – 36-40kHz (usb)
  • HomElectronic’s IRA-3 – $43.81 -36-40kHz (RJ45 or Serial DB9)
  • IRMAN – 21.68Pounds – not in stock, delivery not available US
  • PCIR – 24.68Pounds – (serial connection)
  • IRTrans – 99.00Euros (usb connection)
  • TwistedMelon Manta IR1 – $19.99 – 31-60kHz (usb connection)

For Price comparison here is a list of a bunch of remotes for windows (mostly ugly things) that come with receivers (these vary widely due to differing abilities):

  • The Keyspan Remote – This is a very nice looking remote, similar to the Apple remote – $46.24
  • ATI Remote Wonder – Radio Frequency(RF), Vista Not Supported – $49.99
  • Firefly PCRemote – RF, $49.99
  • Firefly Mini – IR – $29.99
  • StreamZap – RF – $39.95
  • SoundBlaster XFI Remote – $29.99
  • Logitech Universal Harmony 659 – 89.99
  • Harmony 550 – 89.99
  • Univeral Learning Remote – IR and RF – $79.99
  • Windows Media Center IR Remote – $39.99
  • Microsoft A90-00007 – $38.99
  • Microsoft Remote Control A9N-00009 – $51.99

Some of the standalone receivers are more expensive than ones that come with a remote! While you shouldn’t worry about the freqency too much (all of them cover the Apple Remote and most common IR remotes) you may notice a huge difference in prices, availability, and suitability.  But one of them stands out – the Manta IR1 receiver.  

The reason for this is that the Manta is put out by a company called TwistedMelon for the purpose of allowing Mac users with older Macs (or Mac towers) with no built-in IR receiver to be able to use Frontrow and control their mac from the couch. Their main product seems to be their software product, Mira, an interface that allows the Apple remote to control the older macs.  The Manta receiver is therefore not only the cheapest standalone receiver I could find on the net, it’s also the best looking, the easiest to use (some of the othe receivers aren’t even usb), and has the widest receiving frequency.  It will work with pretty much any remote control out there (and it works very nicely with my Media Center Remote).  

You might also notice that buying an apple remote plus a manta receiver is still an economical option compared to many remote/receiver packages.

This is just for fun, but I think if you haven’t seen these yet, then you’re missing out.  

This dance-video clip

for the song Kalluri Vaanil from the Bollywood movie Pennin Manathai Thottu starring Prabhu Deva Sundaram quickly became extremely popular on YouTube as:

Crazy Indian Dance Video/Dancefest

Its a really good song, very moving, but the production is a little extreme. As if this wasn’t funny enough, a guy called Buffalax came up with this version with subtitles of what the song sounds like to him:

Buffalax’s Version

Now this caused various spinoffs, like this one, but the now the original song continues to be spoofed:

McCain and Palin’s Crazy Indian Dancefest

This is a web craze, an internet meme, every bit as good as rick-rolling, with over 10 million views on Buffalax’s version, 102,000 on the Crazy version and 260,000 on the original. Have fun!

Wikipedia’s explanation of sql injection attacks is quite good, but it can be a little technical for the total newbie. So I came up with this way to explain it for my less technical friends and family.

First an analogy:
Suppose you’re playing a word game, like MadLibs, and I ask you for a word or phrase to fill in this sentence:

“This _____ is delicious.”

Now, if you give me the word “cookie”, everything is fine, but if you should fill in the blank with this phrase:

“sucks. Your mother” then the sentence takes on a much nastier meaning.

In the real world:
SQL (structured query language) is a language, similar to English, that is used to control databases. Sentences like:

SELECT * [all] from cookies_table where Type=’chocolate-chip’ ;”


“DROP TABLE cookies_table;”

are provided to the database software to change the way the database looks and acts.

When creating a database for a website that has users and passwords (and potentially credit-card information), programmers need to create queries that have blanks in them (much like MadLibs). If you’re asking for the password of a user so that you can compare it to their given password, you only know what user to look for once that person has told you their user-name (after typing it into the webpage). So programmers create SQL sentences with blanks in them like this: 

“SELECT Password from table_of_names&passes where Username=’___________’ ;” 

When the username is filled in, this sentence tells the database to return the password of the username provided.


This works fine as long as the nice user types in johnny or uroscion as their user-name.  But should a bad user type in this:

“x’; DROP TABLE table_of_names&passes in the textbox, the whole sentence looks like this:

“SELECT Password from table_of_name&passes where Username=’x’; DROP TABLE table_of_name&passes’ “

This causes the database not to merely return the password of user ‘x’ (it doesn’t matter if there is an ‘x’ user or not), but to delete that whole, important table immediately after returning the value.  This is called an SQL injection attack, because SQL was injected into an existing sentence. Bad hackers use these vulnerabilities, when they find them, to wreak havoc on good peoples’ databases.

They can also use them to get information they shouldn’t have access to. If the original sentence looks like this:

 “SELECT * from table_of_names&passes where Username=’_____’ and Password=’______’ ;”

it should display only the user’s information and only if the name and password they provide match those in the database. But if the bad hacker types this into the textbox:

“anyName’ or ‘T’=’T’;”

the sentence now reads:

 “SELECT * from table_of_names&passes where Username=’anyName’ or ‘T’=’T’;” (the rest: and Password… will be ignored by the database).

This sentence says to return the user information where the username is ‘anyName’ or where True is equal to True. This will cause the database to select and return all information of all users, since true is always equal to true in every row. If the software is written poorly, it could display all of this information, rather than just the one user’s, and that information could contain everyones’ credit-card numbers, phone-numbers, etc.

So how do good hackers protect against these injection attacks? Well, the first thing to do is not write badly formed queries (sentences) like the ones above. Queries should only return the needed information and only authenticate on one input at a time and more than one row of information should never be displayed.  But since blanks will always be necessary in some form, the next thing to do is not allow users to input those special words that make up SQL sentences. This means escaping those special words (finding every special word and putting a character in front of it that makes it ignored by the database), actively scanning through the user’s input and removing any special characters or words (like ‘=’ or ‘;’), and restricting (by checking on the server, not with javascript or by restricting textbox sizes in HTML, all you programmers!) the length and amount of input the user can provide.  

So now you have a pretty complete, if non-technical, understanding of SQL injection attacks.  If you’d like to learn more, check out Wikipedia’s article on this, and the links provided there.