Saturday, September 06, 2008

Waiting for God to turn off the internet...

...but while i'm waiting, i'll say hello - it's been a while since i updated this blog last. hiya doing? hope you and all your important people are doing well

now to today's business. i'm writing this post from Google Chrome, which i must admit, looks pretty good, especially for a beta product. however, it's spellchecker doesn't recognize the words "spellchecker", "plugins" or "google" (specifically in lowercase). and i don't know how it will do with plugins like Flash. and even though it's still early days - why can't i customize where the install goes to? huh?

dude, web design isn't for the fainthearted. seriously. i've been working on a redesign of the TOS Funerals website, and it's not exactly been a walk in the park getting the design to work cross-browser. i swear Internet Explorer has some beef with me. first, the content area isn't set off properly as it is in other browsers (even in IE 7 standards mode!), and i've been unable to fix that so far. something else i got fixed was the fact that IE kept drawing a border around my horizontal rule. i had to do two-step hacking: add extra markup and styling. grrrrrrrrrrrr! i've some idea how to go about it now, but i still think it bears mentioning since i haven't actually fixed it: forcing a page to be at least as high is the browser window so the footer "sticks" to the bottom of the window, irrespective of how much content is actually in the page. my own solution saw the footer somewhere in the middle of a long page in IE (again). many thanks to the guys in #css on Freenode for steering me aright - this dude is much obliged. the testsuite for the new design is available at http://www.tosfunerals.com/newsite/testsuite.html (creating this post revealed that Chrome's text selection drag and drop always moves text, irrespective of whether or not you hold down the Control key...sigh!)

Sunday, August 10, 2008

Grouse with Facebook

morning. been a while since i last visited. well, i went to Ife and was offline almost all the time i was there. have you noticed that if you make a mistake signing in to Facebook, you hit Escape/stop the page, then try signing in again without refreshing, you can't sign in anymore? why are the Facebook developers using Ajax for the login page? wouldn't a simple submit form have sufficed? and if the Ajax was completely necessary (for instance, some webmail providers encrypt the password at the client's end before the login form even leaves the client), it shouldn't put the page in a state that the page is unusable if the user cancels it. not good, in my opinion.

Tuesday, July 29, 2008

O/RM and templating

i have a problem. i'm sending text messages to people based on data in a table. but people being who they are, they want to change the message structure at will. and the structure is currently hardcoded. so if i want to make the structure dynamic, i need a template system. i also need to map specific table fields to those template variables, then make the template changeable at runtime. that requires O/RM, so i can map table fields (relational) to objects i create in my code, and all the SQL is generated on my behalf by the O/RM engine. so far, i'm going with ActiveRecord and NVelocity from the Castle Project. i've used NVelocity, so i hope i'll get the same level of success from ActiveRecord (so many dependencies though :)

IQ tests are warped

Warning: shameless plug coming up! i added the IQ test application in Facebook. later on, the Advanced IQ test was recommended, so i added it and took the test. when i completed it, i found out of 15 questions, i only answered 13 and only got 6 right. yet when my IQ was calculated, it was rated over 100 (no, i am not telling you my computed IQ), which is not bad. in fact, it was higher than what was calculated using the regular test. hence my think they are warped. oh, 70 is idiot territory, so i guess i'm okay

Saturday, July 26, 2008

Avatar is over!

finally, i've watched all the episodes of Avatar: The Last Airbender. i have to say that all in all, the series was good. yes, there were some parts that really could have been cut out (like Season 3 Episode 17, The Ember Island Players) or modified, in my opinion, but then that's just my two cents.

stepping into Subversion

i've been joined by two other developers at work, so i needed to give them access to the code i'd written. i saw it as a great opportunity to try out version control, so i gave one of them the task of learning Subversion. he hadn't gone very far with actual implementation, and then my boss put him on something else, so i thought to myself, "what the heck" and started reading about subversion myself tonight. i installed the Collab.Net Subversion server, then TortoiseSVN and began scanning through the book (what? you expect me to actually read it? maybe on your time, not mine. it's past 2am here, for crying out loud).

i set up a repository, checked out, added a new file, tried to commit, then boom! authorization error! now the subversion book didn't say anything about this. so i downloaded HydraIRC, connected to Freenode, and joined #svn and ##csharp and asked. after some time with no answer, i went googling and found that a default repository allows anonymous reads and no writes, especially if you're connecting using svnserve. later on, someone gave me the same answer i got while googling. also got some useful tips, from the channels and the TortoiseSVN manual. in short, if you're going to use Subversion using the svn:// protocol (using svnserve, that is), you're going to need to configure your repository correctly. since it's in the TortoiseSVN manual, i'll refer you Windows users to it. please read Chapter 3, Section 2: Svnserve Based Server. everyone else, please look here for a few tips on configuring your repository for read/write access.

Saturday, July 19, 2008

i didn't go with .NET configuration files...and would like your input

i've been working on an application that needs to get some configuration parameters at runtime. at first, i thought of using configuration files, but then i realized that i would need to create another application that would be used to change the config. usually, an application config file is "tied" to the specific executable that it is created for, so - not being comfortable with XML in .NET - and having a tight schedule, i looked into other options. one was the registry and another was a custom config file. right now, i'm using SQLite as my storage medium, with the advantage that i can use the relational model if i need it. obviously, it has some drawbacks, but so far, i've got used to it. let me know what you think - assuming you do think anything.

Rant: why is Opera taking a long time to open Blogger - with no activity whatsoever? it's happened twice already...

Friday, July 18, 2008

The past week in review

hiya. been almost a week since my last post here. ah well. just wanted to bring you up to date with what's going on here, "here" being my life. grrrr. my neighbours decided today to have a party (an all-nighter by the sound of it), meaning there's going to be quite a bit of noise around.

in case i didn't mention it, i was in school last week. saw a couple of the guys, stayed over at Biyi's place while i was there. he seems to be getting along with his final year project and other stuff in his life. i'm happy for him. anyway, while there, i got some anime and have started watching Black Lagoon and Katekyo Hitman Reborn. i've also started Monochrome Factor and almost completed Hayate The Combat Butler. however, the anime series that currently has occupied my time is Code Geass. i started on Saturday and have almost completed season 1. i don't think i'd want someone like Lelouch as my opponent. my current fantasy revolves around a showdown battle of wits between Light Yagami (of Death Note) and Lelouch Lamperouge. sadly, this just reminds me of just how far behind i am with anime. Bleach, Eyeshield 21 and D.Gray-Man are all examples of abandoned anime projects. maybe you now understand one of the reasons i hate my job.

Wednesday: some local government people came around the building where i work and started complaining about the environment. so i don't bore you, they locked me and some other people in the compound. i had to jump over the gate to get out. i heard they later opened the gate - which is good, since almost everyone left in is female. every time i look at my right arm i remember - because i got scratched getting out. fro crying out, it's over 10 years i last did something like that!

Tuesday: i found that Visual Studio's debugger is superior to SharpDevelop's in one respect: if you're debugging applications within the environment, SharpDevelop's only catches uncaught exceptions. So if you're using System.Timers.Timer.Elapsed (for example), you'll never catch any exceptions. Visual Studio's, however, has no such compunctions, and will show exceptions even though the Elapsed event handler suppresses all exceptions. i can tell you that that's what saved my bacon on the current project i'm handling.

Monday: this project is my first experience with Oracle (even though i've had the express edition for almost a year), and if there's one thing i've learnt: always use 4-digit date literals in Oracle, especially if (like me) you're from a MySQL (or other database) background! i spent the whole weekend plus the greater part of Monday wondering what bug in Oracle i uncovered, only to find it wasn't a bug, just an Oracle quirk.

i've a custom class in my application that stores database connection parameters (previously in individual variables) - server, port, username, password and whatnot. since i'm moving to deploying the application solely on SQL Server 2005 Express (maybe PostgreSQL when i have the time to learn it) for now (no thanks to the many quirks of Sybase), i'm now simply hosting a SqlConnectionStringBuilder in the class. you really can't beat KISS.

while i'm still a newbie at regular expressions, i can definitely say they're great when they're used rightly. if i had to write custom code to validate phone numbers, i'd probably have a minimum of 20 lines of code, plus new if clauses (or similar) to write if the networks change. thanks to regexes, i can validate Nigerian GSM numbers - with or without country code - with about 3-4 lines - including creating the System.Text.RegularExpressions.Regex objects i want to use. and if i need a new case, i'll just have to change the pattern string. a pity more Nigerian developers don't seem to know about regexes - unless i'm wrong.

i need sleep! 'nuff said.

Saturday, July 12, 2008

Working with malware

hi. it's been a long time since i was last here. one month, eh? that's pretty bad. anyway, the point of this post is that i was recently in school, and came across some malware - one of which isn't picked up by any antivirus program i know as at now. this worms spread via USB storage (flash drives, external hard disks and so on). each copies itself to a clean device and also creates an autorun.inf entry in the device if it does not already exist (i can't tell what happens if it already exists). the one detected by AVG 8 Free has an executable named asp.net, and the one that isn't detected as at now has an executable named EXPLORER.EXE.

when i got to school, i had the 'privilege' of cleaning out two of my friends' computers. one was infected by the EXPLORER.EXE worm - which is easier to deal with if you don't have any antivirus installed - and the other was infected with the asp.net worm (if you have an antivirus that detects this, this is much easier to clean than without any antivirus, or one that doesn't detect it). let's start with the first.

EXPLORER.EXE worm in Process Monitor normally, a Windows machine has a process called explorer.exe. this process usually serves both as the shell (the program you use to launch applications) and the file manager. the executable for this is located in C:\Windows, has version information that comes from Microsoft, has the 'My Computer' icon and is about 1MB on a Windows XP machine. this worm is about 36kB, has no icon, has the same version information as the legal explorer.exe and runs from C:\Windows\system32. to get rid of this worm, you'll need a couple of applications from Windows Sysinternals, specifically Autoruns and Process Explorer (you can also download the entire suite if you want - it contains both). launch Process Explorer (an excellent task manager for Windows), accept the license agreement if you need to, and kill the EXPLORER.EXE process that doesn't have the My Computer icon and is running from C:\Windows\system32. next, launch Autoruns, allow it finish scanning, then delete the entries containing C:\Windows\system32\EXPLORER.EXE (use Ctrl-F) if you need to search). lastly, get rid of the worm executable itself. open a command prompt, and run attrib -h -r -s C:\Windows\system32\EXPLORER.EXE; del C:\Windows\system32\EXPLORER.EXE. this gets rid of the executable in its default location. your mileage will vary if Windows isn't installed on C:. EXPLORER.EXE worm in Autoruns

the other one is much harder to deal with because it creates a 'non-existent' process, according to Process Explorer. in fact, the process won't even be displayed in the processes list. i had to search for it manually. going through the console to use taskkill with the process id won't work either. so we're going to do it in the reverse flow. first, run Autoruns. search for appearances of asp.net autorunning, and disable, don't delete them. that's because if the worm is still running, it will simply recreate those entries. once you've disabled the entries, you can note the locations of the worm and reboot so you can delete it from all its hiding places (for me it was C:\Windows\system32 and C:\Program Files\Common Files\Microsoft Shared\MSInfo. again, this worm is hidden and probably has a system attribute set, so you need to remove those flags first. i'd personally recommend getting a recent (and decent) virus removal tool to remove this particular nasty, as it not only infects removable drives, but also fixed drives on your computer.

well, hope this is of some use to someone. have fun!

UPDATE: After a couple of days carrying around the EXPLORER.EXE worm on my external hard drive, i found that McAfee picks it up when i connected it to a colleague's computer. as at that time, neither AVG 8 Free nor PC Tools Antivirus was detecting it as a worm.

Wednesday, June 11, 2008

Windows power schemes

you really can learn something new every day. i recently formatted my laptop a couple of times for a number of reasons - one of them being that i found that my processor was constantly operating at its maximum speed and this was running down its battery seriously. after a new install, i noticed once again that the processor had starting running at its maximum speed again without stepping. i'd just installed WiX, and thought that might be the cause - but WiX doesn't update any system components, so i dismissed the idea (also, i'd installed WiX before and the processor was still stepping then). i'd gotten tired of formatting by then, so i just decided to keep using the laptop and its internal "oven".

this morning, i decided to google power schemes. i then found that for a laptop, power schemes really do matter beyond timing for switching on/off hardware like the monitor and hard disks. get this: they also affect the way the operating system uses the processor. for instance, the difference between "Minimal Power Management" and "Max Battery" is only the timing for turning off the monitor, hard disks, and going into standby - but under the hood, the CPU is allowed to toggle its speed based on demand. there's no difference between "Home/Office Desk" and "Minimal Power Management" when the laptop is on battery. for more information, please look up this article on Orthogonal Thought.

Blogged with the Flock Browser

Sunday, June 08, 2008

finally...finished Shounen Onmyouji!

Shounen Onmyouji is an awesome series, in my opinion. the opening song, Egao no Wake is wonderful (here it goes on my phone!), the story was great and flowed very well, and the end is awesome...(mostly). i was wondering what was going to happen in episode 26 when Masahiro kills Touda before the episode goes halfway. somehow, the end is rescued, and we get a believable ending...but why is the ending hinted at? if you - like me - rarely watch the end of an anime episode, you'd never find out that Akiko & Masahiro do go out to see the fireflies. ah well. in all, great series. pity i can't say if there'll be another great season.

Blogged with the Flock Browser

My phones and purpose

as i mentioned, i recently changed phones. i got a Nokia 7500 Prism to replace my 2600. One of the headaches of changing phones is migrating numbers. my SIM was full, and almost the same number of contacts were stored on my 2600. so i looked through my 2600, checking if the number was stored on the phone or on the SIM card, and then recording it in a text file - so i could transfer all my contacts to the new phone. i spent roughly an hour and a half doing this.

i can almost hear you say: fine, but what's this got to do with purpose? please bear with me - i can be a little long-winded when i'm trying to make a point. so i did that, then i put the SIM into my new phone and started using it - but the numbers stored on my old phone were still not on the new one. i went about for a day or so without having access to newer contacts. i then looked through my contacts (after finding out i wanted to contact someone, then seeing i didn't have their contact info), and found my 7500 had a function to move contacts from the SIM to phone memory. i did that, and emptied the SIM. i then checked the 2600 and found it could copy contacts from the phone to the SIM. so i did that too, and then moved all the contacts from the SIM to the 7500. if i'd only read the manual, i'd have saved myself about an hour and a half of typng out names and numbers.

i hope you get my point. some people might have spent another one and a half hours - or more - keying in the numbers into the new phone. but i decided that there was a better way. fortunately for me, i'm not as technically challenged as some folks, so i kind of figured out where to look pretty quickly.

let's imagine the time spent migrating contacts was your life. would you want to spend your life doing unnecessary things just to find out it was all unnecessary at - or after - its end? wouldn't you want your life to count for something? some people spend their whole lives doing things that won't count. there's Someone Who knows - much better than you - what you're meant to be doing. sadly, we usually think we - or worse off, other people - know exactly what we're meant to do. the person who best knows how my 2600 should have been used is its designer. God knows best what you're meant to do with your life. don't waste your life guessing what you're meant to do. ask Him! (James 1:5,6, New Living Translation, paraphrased: If you don't know what God wants you to do, ask Him, and He'll gladly tell you...). i pray you walk this path. life isn't meant to be guesswork.

Thursday, June 05, 2008

i got me a new phone, praise God!

i have no idea how it happened, so don't ask me, but this is what happened: i rarely change phones. i'm a strong believer in KISS, so if it can send/receive calls and text messages, it's a phone. even when MTN was giving out free MMS messages, i just had a faint feeling of loss. you know, the kind you get when you "miss" someone you never really knew. so i use my phones. and i rarely replace them. each phone replacement i've got was because the old one was faulty, got stolen or missing, except for the second. i have no idea why, but my parents decided to get myself and my sister new phones then. even the first phone i got was a hand-me-down (which i eventually handed off to someone else).

anyway, after being through about 5 phones in about as many years, my faithful Nokia 2600 developed a quirk. from time to time, it would stop ringing out (even in General mode), until ringing out at all became a very rare occurrence. i merely complained about the phone and didn't try changing it (i'm sure my pocket also had a great deal to do with this :). i was really shocked one morning when Dad, a friend and i were going out, and my dad asked why i didn't pick up his call. i mentioned my phone didn't ring out (dude, forget vibrating - i rarely notice that when i'm about). he gave me some cash to buy a phone. for maybe 2 weeks or so i kept stalling over the phone, which made no sense, because phones are sold less than 30 meters from my office. yesterday, after having a very interesting day, i just got mad and went to buy the phone. i didn't see something i liked in the display case, so i went to the price list. i saw something costing exactly what my dad gave me (no, it's not that much - but it's a sizable chunk of my monthly salary). i don't know why i felt good about the phone. i requested for it, paid for it without knowing jack about it, and went to test it. when the guy who tested it was closing the box, i asked where the USB cable was. He said it wasn't included and it would cost me an additional NGN 2500. i had that much on me, but i wouldn't be able to get home without visiting the cash machine, so i decided not to buy it. after buying the phone, i began feeling guilty, but i shook off the feeling and went home. getting home, i found i really like the new phone, plus, it uses the same cable as my MP3 player, so i really feel blessed! later!

Blogged with the Flock Browser

Sunday, June 01, 2008

Blender 2.46 out!

it's coming late, but Blender 2.46 is out, and the Big Buck Bunny movie is also out. personally, i downloaded Blender about a week back, but i haven't really don anything with it, since i'm doing a lot more programming than most anything else. and with the new release returns an old problem: i can't render with YafRay (no, not Yaf(a)Ray) as a plugin in the render window without Blender crashing. ah well. so i had to figure out workarounds - render into the 3d window, use YafRay from XML, or not use YafRay at all;)

Thursday, May 22, 2008

So Man Utd finally won...

now maybe i will get some peace! blooming soccer fans! i have no idea what makes soccer so captivating. it really does dey logic. my borther - who's a Man Utd fan - didn't eat until the match was finally over. i guess he realized that whatever happened, the players still don't realize his existence. and that's my problem with Nigerian supporters of foreign teams. don't they realize that for the most part, the players don't know they exist, nor care if they are cheered on by some people they'll never meet? and yet the madness continues. men who are never alive as far as their families are concerned suddenly come alive when there's a meet between "their team" and "the enemy". ridiculous. that's why i insist that football is demonic. the Bank PHB ad about La Liga really puts it in context.

Blogged with the Flock Browser

Java vs Ruby? Ruby wins...

if for no other reason than the fact that there are much fewer books to confuse you. and here's why

Blogged with the Flock Browser

Monday, May 19, 2008

Creating a Windows service in .NET

much as i would like to, this isn't a real tutorial about creating a Windows service in .NET. there are lots of excellent tutorials in that regard. this is just to highlight some problems i had recently when i created a service. usually, the service sits in the background, waiting for "something to happen", maybe a client connects, a timeout goes off, and all that. my service is a time-based service that performs certain actions when a timer goes off.

to get my service doing some "real" work, i used the System.Timers.Timer class, which has the Elapsed event, which calls a callback method when the timer fires. here's a caveat: the callback for the Elapsed event suppresses all exceptions in .Net 2.0 and lower (i can't categorically say that the behaviour isn't the same in higher versions). forget processing unexpected exceptions in your callback - they'll get supressed. and you may end up like me: after putting in a full day at work, spending the night there, and putting in another full day, you're at the client's and the service runs but doesn't do anything.

my fix? in my callback, i start a separate thread. the thread takes responsibility for doing the processing that was in my callback, and i once again can see what exceptions occur in my processing. by the way, design your tables so none of your fields are allowed the NULL value in .Net. use sensible defaults instead of NULL, becaue you never know when you'll get a System.DBNull object that isn't automatically converted to null. later, then!

Edit: when services run - irrespective of where the executable actually is - the working directory is always C:\WINDOWS\System32. that can be a problem if you access to files residing in the same location as the executable, especially if you don't know where the service executable is (if you think that is strange, think again: you - or someone else - could create an installer that allows the user customize the location of the install). if you need to get access to the executable's location, you can do:

string basepath = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
System.IO.Path.GetDirectoryName(basepath);
this will retrieve the path in a format such as file:///C:/..., so you'll need to trim off the beginning of the string returned.

i used SharpDevelop for creating my service, as creating the service from scratch (Visual C# 2008 Express) or tusing an application template (Visual Studio 2008) gave me problems when trying to install the service using installutil. SharpDevelop integrates with FxCop, a code analysis tool developed by Microsoft. running FxCop on my executable showed me some things i'd never really noticed before, such as using string.IsNullOrEmpty(variable) instead of if ((variable == string.Empty) || (variable == null)) to check if a string was empty or null.

Blogged with the Flock Browser

Fun and nonsense in Freenode's ##csharp

from time to time i hang out in ##csharp on Freenode. the guys there are great (mostly) - they've helped me out with quite a number of problems. and it's just plain fun to hang out with them. here's a excerpt from the conversation there this morning:

[11:39] <scruz> i don't ever want to be you - link managed and unmanaged code
[11:40] *** Mathius joined
[11:40] * scruz shivers at the thought of interop_madness' pain
[11:40] <Mathius> hi
[11:40] <interop_madness> you you don't want to be on the same planet as me
[11:40] <scruz> what planet is that?
[11:41] <+smellyhippy> Mathius: ello
[11:41] *** SDragon quit (Read error: 104 (Connection reset by peer))
[11:41] *** SDr joined
[11:41] <interop_madness> dunno, but it certainly has no sun shining
[11:41] <scruz> yello Mathius
[11:41] <Mathius> O_o
[11:41] <Mathius> hey hey
[11:41] <scruz> from Earth import Sun
[11:42] <Mathius> >_>
[11:42] <scruz> Sun.shine()
[11:42] <Mathius> public sealed class Earth : INoLight
[11:42] *** gregzx joined
[11:42] <scruz> lol
[11:42] <pandzilla> haha
[11:43] <Mathius> CSC Error: You cannot look for light in an instance of type 'Earth'.

Blogged with the Flock Browser

Sunday, May 18, 2008

Multiple IEs on your WinXP machine

if you're like me, you like to use the latest software. that includes browsers. unfortunately, the latest browsers are a really bad idea if you're into web design - specifically standards-based design. because you need to workaround features not supported in older browsers. i made a really big mistake when designing a client's website - i designed it using the latest Firefox, Opera and IE7. it was okay in those browsers. imagine my shock when i viewed it in IE6 and it was fugly. and that was after deployment.

to avoid my mistake, you want to design using IE6. unfortunately, even i don't encourage you to use IE6. so how can you get IE6 for testing your web pages? well, i originally thought of using VirtualBox to create a WinXP disc image on my system - but that's a waste of about 2GB just to test web sites. so i went googling. and i came up with Multiple IEs. at first i thought it was just snake oil, especially when i ran IE6 and went to Help -> About. however, when i tested it, i got IE6's signature crappy rendering - and it was different from IE7's, so i'm quite happy advertising it. thanks to the guys over at TredoSoft!

Cleaning out my C:(loset)

i'm not sure why, but more and more, software installations tend to assume you have just one partition on your machine - that, or you absolutely don't mind it getting filled up with things you don't really know.

lost? let me explain: i'm in the habit of breaking up my harddisk into partitions. i used to leave 5GB on C: for OS files, taking into account that some software will always install some things on C: even if you tell the setup wizard to install on some other partition. that was enough about 4 years back. i upped it to 7.5GB sometime back, and finally to 10GB. now it seems even that isn't enough. i installed Visual Studio 2008 recently, and my free space on C: has plummeted down to less than 2.5GB - without enabling hibernate. i dread what would happen if i installed Adobe products - at least another 400MB would go should i install CS3 Design. yet i have over 14 GB lying fallow on a partition i reserved for installing application software. even with CCleaner installed, i can't free up any space. granted, a heavier-duty application can help with that, but i don't have much hope in that direction.

darn shame what they do to my disk space.

Friday, May 16, 2008

What happened to the Adobe-Yahoo collabo?

i just downloaded Shockwave Player 11 to install on my computer (yes, right now it seems nobody uses Shockwave anymore - Flash seems to have effectively killed Director) and i was surprised - no, shocked - to find the installer prompted me to install the Google toolbar. Google? what happened to Yahoo-integrated search in Adobe Reader? must be because i'm so tired...i'll check again when i do not feel so sleepy ;)

Blogged with the Flock Browser

Thursday, May 15, 2008

long time!

haven't been here in a long time. stuff's happening, and sometimes it seems hazy, but i'm sure i'll win. things are looking up now, so i'll be here more often. later!

Thursday, April 24, 2008

been so long!

wow! it's really been quite a while since i was here. anybody miss me? guess not, judging from how silent my phone was before now. anyhow, i'm currently back in school. to clear up any issues with my results. and find out if i made the final cut. for service, that is. however, i got in kinda late and so all processing is going to have to wait till today. on my way here, i saw a sign advertising a church's programmes and containing the word 'enlargement'. users of Google mail may tell you that one recurring theme in their spam relates to penile enlargement. considering it's been so long since i've seen the word 'enlargement' in any other context, you can imagine what reading it on that sign initially did to me. maybe i really do have a dirty mind. later!

Thursday, April 03, 2008

Microsoft is weird!

seriously. everyone who has programmed in a real programming language knows that numerically-idexed arrays begin at index 0 (sorry, Basic fanboys). however if you're using the Microsoft SQL Server 2005 driver for PHP and you use sqlsrv_fetch_array() with SQLSRV_FETCH_NUMERIC, the array is indexed starting from 1! it's quite easy to miss this - i know i did. all the same, it's great to see Microsoft being so 'benevolent'. Don't tell me: it's just a ploy to migrate Windows developers to SQL Server!

Blogged with the Flock Browser

Saturday, March 29, 2008

jus' chillin'

yo. long time, no see. man, the last one week has been - wow. Rental Magica is over - and i really do hope they begin a season 2. i really love that anime. and to think the twins almost made me not watch it! Bleach is on hiatus till April 9 - guess the anime has pretty much caught up with the manga now, and they don't want to introduce fillers at this point. yes, Dami was wrong - the producers chose to stop the anime rather than introduce fillers, or so it seems right now. what else? oh, yeah - i knew Castlevania: Aria of Sorrow was one of the coolest games ever! i saw Konami released it for mobile phones. yes, i love that game. even though i've completed it a number of times, it has awesome replay value...should i start playing it again soon? and it's cool that if you play the game cheat-free, it's very unlikely you'll get a complete soul set. for instance, the Zombie soul is one of the most annoying souls to get - and it can come in very useful in fighting a number of bosses (Manticore and Headhunter, anyone?).

as usual, i didn't prepare for the KMA test today...hope my score turns out good. it's hard to believe - even though the Bible shows precedent for it - but even in a school of ministry, there are people who'll do anything to pass. the test was over and the principal collected the sheets - but since he was tied up in preparing and presenting the video seminar, he didn't take the sheets in. there were people - remember, this is Bible school - that took back their scripts and kept writing even after everyone else had submitted. being smart? i don't like to think so. i think it's a basic lack of integrity coupled with fear of failure that makes people do things like that.

so what's my point? my point is: even if i haven't done that specifically, i have done things like that, showing my integrity can be questioned. for instance, if i flirt with a lady i have no intention of going out with, i'm not walking in integrity, because my thoughts, words and deeds don't add up. anyway, i have to go - power's off and i'm powering this EVDO card with my laptop battery...

Sunday, March 23, 2008

Software gripes

i sometimes play with 3D, though the time to do so is getting smaller and smaller recently...and anyway, i have a number of software packages installed, including Wings3D, Blender, Softimage|XSI Mod Tool, and an old version of Amapi. i've also had some experience with Autodesk 3ds max and Maya (very little this one).

the thing is: when i got a video tutorial showing how to model in Softimage|XSI and was using it with the Mod Tool, a recurring thought was: this would have been soooo much easier in Wings or Blender. i can model a mug in Wings in less than 5 minutes flat, including subdivisions. trying to reproduce the same thing in XSI would probably take me over 10 minutes. one reason may be because i'm new to XSI and have the Wings/Blender UI mostly down; another might just be because it really is easier in Wings or Blender. for instance, in the default Wings or Blender interaction mode, rotating your viewport is a matter of clicking (or dragging) your middle mouse button. the same in XSI is press O on the keyboard, then left-click for free rotation; middle or right for axis-constrained rotation (hint to Wings and Blender developers: mouse-controlled axis-constrained rotation isn't a bad idea). selecting polygons in XSI is annoying unless you're using raycasting - you need to lasso (with the risk of selecting something you don't want); in Blender, right-click, in Wings, left-click. so far, i'm trying to convince myself that XSI users aren't idiots (they really aren't).

by a similar token, while i'm now more used to the GIMP, i'd still rather use Paint.NET or Photoshop - simply because i find them easier to use. i'm loving Inkscape though, and Expression 3.3 is nice - but i haven't got the hang of it yet. my point: anyone fanatic about software simply because it's free or it cost them money needs a head check. at the end of the day, it's productivity - which is a relative of ease of use - that matters. 'nuff said.

Blogged with the Flock Browser

Wednesday, March 19, 2008

i saw you

i saw you last night, you know. i saw - and heard - you. you were at the bus stop. carrying a baby on your back. and you asked me for help. i wanted to, you know. i really did. but it was to 8 at night. and it was just Dad and i at home. i had to do the dinner. i had to return Pastor's flash disk. and i had to rush for a bus. plus i was dead tired. so i ignored your plea. not that i wanted to. because my heart ached for you. i don't know why. but i was sad. so i did what i usually do. i put on my mask. like Ichigo, i changed myself with the mask. unlike Ichigo, i didn't get any stronger. but i kept the sadness to myself. and i got through the night. i remember you now. and though i never helped you last night, i pray you find help. i pray the One who watches over the orphan helps you. and i pray if i ever see anyone like you, i will not be too caught up with life to stop and help them.

Thursday, March 06, 2008

the spam Google mail accounts attract...and bloody Hellsing

just wondering why the most common spam i get in two Google mail accounts is penile enlargement. must be pretty popular these days. on a far more interesting note, i've seen Hellsing Ultimate episode IV. as bloody and gruesome as the previous three - maybe even more so, with a scene in which Alucard pushes Rip Van Winkle's gun through her (yes, Rip is a girl...for some reason i always pegged her as a very feminine guy...) and start lapping up the blood on the floor of the ship...if you already read the manga, this won't be a spoiler for you...now where did i put that Hellsing manga again...?

Blogged with the Flock Browser

Flock 1.1 out - with webmail support

Flock 1.1 is out, and has webmail (Yahoo! Mail and GMail support!). i'm seriously loving Flock. grab your copy now!

Blogged with Flock

Thursday, February 28, 2008

my boss better not be reading this!

i did it. i wasted today. i spent almost all day playing Rat Pack on Facebook. yes, i feel like a louse. but it was fun! i don't want to do it again, though - too risky to doing anything useful!

Blogged with Flock

Monday, February 25, 2008

xkcd strikes again - this time with fruity goodness!

f**k grapefruit. by the way, if you read xkcd, check the image properties. sometimes he puts the really funny stuff in the image title.

Blogged with Flock

On Creativity (but mostly a rant about Lifehacker)

as with email, subscribing to a feed, especially a very frequently updated blog like Lifehacker is a mixed blessing. you can get lots of 'spam' when you subscribe to such a feed ('spam' meaning things you're not interested in). or you can get some really cool stuff, like this article on creativity. personally, i think Lifehacker is really cool - but there's so much there, i have to train myself to ignore things or i'll never get anything done. that said, Gina and the Lifehacker crew do a great job. but when do they actually get round to doing anything else? :D

Blogged with Flock

Saturday, February 23, 2008

As a man thinketh

Got this in my mail recently. Thanks to cable-t-y. PLS GET TO THE END of it! There are two nuns. One of them is known as Sister Mathematical (SM) and the other one is known as Sister Logical (SL). It is getting dark and they are still far away from the convent. SM: Have you noticed that a man has been following us for the past thirty-eight and a half minutes? I wonder what he wants. SL: It's logical. He wants to rape us. SM: Oh, no! At this rate he will reach us in 15 minutes at the most. What can we do? SL: The only logical thing to do of course is to walk faster. SM: It's not working SL: Of course it's not working. The man did the only logical thing. He started to walk faster too. SM: So, what shall we do? At this rate he will reach us in one minute. SL: The only logical thing we can do is split. You go that way and I'll go this way. He cannot follow us both. So the man decided to follow Sister Logical. Sister Mathematical arrives at the convent and is worried what has happened to Sister Logical. Then Sister Logical arrives. SM: Sister Logical! Thank God you are here! Tell me what happened! SL: The only logical thing happened. The man couldn't follow us both, so he followed me. SM: Yes, yes! But what happened then? SL: The only logical thing happened. I started to run as fast as I could and he started to run as fast as he could. SM: And? SL: The only logical thing happened. He reached me. SM: What did you do? SL: The only logical thing to do. I lifted my dress up. SM: Oh, Sister! What did the man do? SL: The only logical thing to do. He pulled down his pants. SM: Oh, no! What happened then? SL: Isn't it logical, Sister? A nun with her dress up can run faster than a man with his pants down............ And those of you who thought the ending would be dirty pray for forgiveness!

Blogged with Flock

Tuesday, February 19, 2008

Learning every day!

i consider myself a pretty good Windows user. i'm very conversant with quite a number of features of Windows, and have acquired a number of tricks. in fact, i had a pretty high score in the Brainbench Windows XP Fundamentals test. so i considered myself a bit of a sysadmin.

well, yesterday saw me back in school, and today saw me back in the cafe where i worked as a student (doesn't that sound good? heh). something that had always puzzled me was some computers just suddenly stopped showing the LAN properties, even to administrators. no user could access the network properties and configure them using the GUI. it had happened a couple of times and each time it happened, i would repair/format the computer. today, the same problem occurred - and the Windows XP CD was broken. so i had to try to find a way to configure the network card without formatting if possible, as there was not XP disc on hand. something made me feel strongly like there should be a commandline tool to configure a network interface on Windows. i got to Google, entered a query, and found out about netsh. using netsh, i was able to configure the network interface without a GUI. i guess i did learn something new today.

so much for being a sysadmin

Friday, February 15, 2008

bug in IDLE?

i play around with Python. i 've never done anything serious in it, but it's a very handy tool. it's saved my butt a couple of times at work, or at least saved me some nightmarish coding in C, C++, C# or Java. on most major platforms on which it runs, Python comes with IDLE, which comes with an interactive shell for quickly trying out Python scripts, as well as a 'real' editor for creating scripts.

i've used Python for about 2 projects since starting work - similar things, really...and i've noticed that when i'm writing output to a file and run the script using IDLE, more often than not, the file never gets written to the end. in the latest examples, i created a Python script to create SQL INSERT statements to quickly populate a database to test another application (i probably should actually populate the database directly from the script, but that will be a 'long thing'. besides, i already saved myself a little trouble entering the data myself ;)). anyway, the script includes a option to ask how many rows of data to create. i was expecting to see 200 lines of INSERT statements, but it stopped on the 182nd line. this isn't the first time. i ran it again and something similar happened. i had to open a console window and run the script to get all 200 lines written. i'm not sure if it's a Windows-only bug, but i'm going to report it as soon as i can

Update: i posted the problem in Freenode's #Python, and i was told that i should flush() the file. when i tried it, it worked!

Blogged with Flock

Wednesday, February 13, 2008

Saved by the connection string!

more like, saved by ConnectionStrings.com. i can't remember exactly how i got this site, but it must have been one of those days i was crawling...anyway, i was getting frustrated by trying to connect to SQL Server 2005. for some reason, i could not connect to a remote machine running SQL Server 2005. even worse, i was getting connection errors to my local instance of SQL Server 2005 Express! i got the idea of using ODBC as an interface, but i was still having issues, until i visited ConnectionStrings.com. now i have a completely different set of issues, but that's another story...

Blogged with Flock

Friday, February 08, 2008

seriously...

one of my friends described a situation: "Your life is over, and your problems just began". sometimes i feel like that on this job. i feel like i have very little free time. anyway, enough about my troubles. life goes on, doesn't it? i'm kinda stuck with over 1GB in Audacity data files, as i had to forcibly close Audacity once and had to manually search in my temp folder for the files, since the files are quite important to me. so i'm stuck as the data is in 1MB chunks, and i don't have time to listen to each part...

yes, you read right. i have to listen to each part. the trick i learned from the Audacity website was to arrange the files by date, load them into Winamp, and uisng the wave-out plugin, re-record them. it worked...but there was a problem. some of the 5-second chunks were repeated, so i have to remove duplicates from over 1.5 hours of audio. that may take up to 3 hours, time i'm not sure i have, as this weekend, even though i'm not working, is booked.

Blogged with Flock

Monday, February 04, 2008

stuff over the past few weeks

last monday, i heard a kettle whistle for the very first time. i'd heard about it, but never really believed it unitl then. so Enid Blyton wasn't lying after all. ah well.

it seems a new version of MapZone is out. still windows-only, though. i'm not sure just how well it would run using Wine, but you can give it a whirl if you're feeling bold.

Blogged with Flock

Wednesday, January 30, 2008

what's going on at Trolltech?

quite a number of developers will know Trolltech, the company behind Qt, the cross-platform framework for creating desktop applications (orignally in C++, and more recently, in Java). Qt has a long history and forms the basis of KDE.

anyway, Qt has long been a favourite of C++ developers on *nix systems. Windows developers weren't so lucky. Trolltech released a non-commercial edition of Qt, which i first learned about when Qt was in version 2.3. anyway, i never really used Qt then (even now, i just want to get started with it) but i did keep up to date with it. some open-source developers (originally behind the port of KDE to Cygwin) began an unofficial opensource native Windows. they succeeded, but they had to shut down binary builds because people (who weren't thinking of the implications of what they were doing) kept posting questions about the open-source Qt to the official Trolltech support team. and with the release of Qt 4, the team started creating (again unofficial) patches to the Qt opensource edition to make it build with compilers other than MinGW, which was the only system supported by Trolltech officially.

recently, the project has been closed. there are no new files because as the team says: "This project was closed because the goal to provide Qt/GPL on windows (inclusive msvc support) was achieved". more information can be found here. i guess that's because in the latest version of opensource Qt - even though Trolltech claims that Visual Studio support and integration is only provided with the commercial versions of Qt - you can build Qt and Qt-based applications using commandline tools with other compilers, including Visual Studio. but be careful, any commercial application you create must be completely licensed uner the GPL. as the Trolls themselves say, your product must be licensed exclusively under the GPL.

what i'm wondering is: why the change of heart? and Trolltech seems to have been bought by Nokia. so what happens to developers after this? your guess is as good as mine.

Blogged with Flock

Tuesday, January 29, 2008

my battery used to last longer!

i've noticed recently that my computer's battery isn't lasting as long as it was. i'm not quite sure why, but i think because i've installed quite a number of network applications (web server, at least 2 database servers, etc), my firewall program might just be the reason my processor (AMD Turion 64) is constantly running at top speed, instead of stepping down. so i'll do a format soon and change firewall programs, and find out how far.

Blogged with Flock

Design problems

i have to maintain a list of phone numbers. i also need to maintain the owners' details. but here's a problem: i already have access to the phone number data, but i'll fill up the owners' data as i go along. so here's the problem: how do i do this? quite a number of people have more than one phone number, so the phone number(s) cannot be the primary key. at the end of the day, each person whose data is recorded will have one or more phone numbers, but i currently have phone numbers but no associated personal data. how do i design my database so that i can fill in personal details when they come in, but i won't repeat any information and have a sufficiently extensible database design that can adapt to changing requirements?

Blogged with Flock

Friday, January 25, 2008

Enjoy your student days

leaving school and working isn't all it's jacked up to be. so many people just want to get out of school and begin their lives, but they're missing a single important thing: they're already living their lives. life started the day you were born, and continues till the day you die. somehow, we tend to miss that patently obvious fact and decide instead to wait for something or other to 'begin' our lives: "when i leave school, i'll really start living", "when i get my dream job, i'll really start living", "when we get married, we'll really start living"...please. you're alive, aren't you? life's going on all around you. assume today's the last day you'll ever live. do what you would if that were true today. then go ahead and do it everyday. each day is meant to be enjoyed to the full and maximized to the last. life is far too short not to be enjoyed; it's far too short for you not to make impact and influence your world. grow every day. hug someone you love. try to leave everyone better than you met them, and don't worry if they choose not to get better. laugh. cry. be human. for crying out loud, when did we become elastic plastic? we have fake eyelashes, fake fur coats, and we've become fake people (the fake fur and eyelashes are kinda okay - the fake people are a big no-no). make a kid laugh. tell someone you love them. there are so many things you can do, it's amazing we waste time with things that really don't bring us any fulfilment. and that's the main thing i want to say: make sure each day leaves you fulfiled. abayo!

Blogged with Flock

Tuesday, January 22, 2008

the dangers of copy and paste

copy and paste is dangerous. here's why.

a pastor was at a conference where the speaker said: 'the best years of my life were spent in the arms of a woman who was not my wife!' as the audience gasped, he continued: 'she was my mother!'. everyone clapped. the pastor decided to use the same thing back home. unfortunately he only remembered the first part, so he ended with: 'and i can't remember who she was!'

Blogged with Flock

Monday, January 21, 2008

mah first day at work

so i've been working. not quite what i'd imagined it to be. so far, it's been great. i was helping my boss with something, and i needed to use regular expressions somewhere down the line. here's the catch: i've never used regexes before. i was going to use Python to create a script to deal with the data, but then i switched to C++. for regex processing, i first employed the GRETA library, but for some reason, it didn't compile using Visual C++ 9.0, so i switched to Boost's regex. for a wonder, i didn't even need to download a pre-built jam executable - it compiled out of the box. Boost compiled, but since it was created before VC++ 9, it didn't recognize the compiler. it did build anyway, but i was getting puzzling errors about the regex library file missing. apparently, i didn't read what i should have - it assumed i build it with VC++ 8.0, and was looking for a library file with the version number embedded in the name - but my build didn't have a version number in the name. it basically amounted to showing the printer to the computer, but not actually plugging it in. ah well. at least i finally got it to work.

Blogged with Flock

my first day on the job so far...

i want to kill something. i want to rip flesh apart. i want to hit something and watch blood fly. why? i'm on the internet and using plain old Mozilla Firefox. i miss Flock! why should i login to Blogger just because i want to post on my blog? arrgh!

seriously, Flock has been cool...but i said this post was about work, not browsers. so, it's been good. so far. went somewhere with my boss and watched how business is done in Naija. ol' boy, e no easy o! met with an old friend i've not seen in over five years. maybe this is a month for old relationships...but i'll save that for later. anyway, i got to be called 'Sir' by someone older than me - which was quite embarrasing. i have to get used to it though - just not let it get to my head. if it does, maybe you'll do to me what Rooftop MCs have suggested: e la'gi mo! well, gotta go. see y'all later!

Saturday, January 19, 2008

Back from school

got back home last night. whew! don't want to do that again. get home late, that is.

Blogged with Flock

Thursday, January 17, 2008

Back in School

well, i made it back to school two days ago. seems in the last few months a number of my friends have hooked up with great girls. i say: "good riddance!" were they planning on hanging with me for the rest of their lives? guys! y'all are great, but...we really can't keep each other warm at night. and i really don't need to know some things. plus, i'm sure you want to have your own kids sometime...most of all, i'm definitely not happy, sorry, gay :D.

seriously, it's weird being back in school, even if it's only after a few weeks. guess it's not that bay's d with my guys around. Woody's around, for one. most of the guys in class have peeled out, so it's rather empty in the library. ah well. got to get some real work done.

Blogged with Flock

Wednesday, January 09, 2008

Switched!

at long last, i'm switching from Firefox to Flock, at least for the time being. and i'm liking it very much, so far. sorry, Firefox fanbois out there. the fact that i can use pretty much all my old extensions is a major plus, and i don't need themes.

Blogged with Flock

Annoyances

i'd like software developers to create their installs such that you can customize as much of the install as possible. take for instance Visual Studio 2008 Express. Even if you install VC++ 2008 Express on some other partition, the Windows SDK headers and libraries will end up on your primary partition - with no way to customize that behaviour. The same thing applies to XNA Game Studio 2.0 - it installs on your primary partition, even if you want to install it elsewhere (like i do!). i realize that system components (such as the .NET Framework) will be installed on the primary drive, but for everything else...as though that wasn't all, what are the strange looking things that got installed when i installed VC#? SQL Server Compact? huh? who wants to use that? i'll install SQL Server as and when i want, you...

Monday, January 07, 2008

stuff, and nonsense

thanks to Dade and some other folks, i'm getting to realize i've really slipped. i've got used to so many bad things i've been ignoring personal excellence. y'all, thanks!

another week gone by. and the year's a week old already. ah well. finally formatted my system, and trying to decide wheter or not to install both VC# 2005 and 2008 Express. i'm not sure i want to try out XNA programming just yet, but if i don't install now, i'll have to reinstall 2008 (it has sexier icons).

Softimage have released a new version of the XSI Mod Tool. For those who don't know what it is, it's a version of Softimage|XSI originally developed for modding games such as Half-Life 2. The latest version (6) also serves as a 3d authoring tool for XNA Game Studio Express. what i like about this version is that you can also use it for noncommercial 3D authoring because it can export to some well-known formats. i realize that this may be a bad move on Softimage's part, because they're effectively giving away XSI, but there are some restrictions on the polygon count that may be exported and so on. indie game developers and lazy modelers should get this.

Tuesday, January 01, 2008

Saturday, December 29, 2007

dude, do i still want to get married?

i've toyed about with the idea of getting married, but after this week...dude, taking care of kids is no joke. one reason i want to get married is to have kids. i mean, why not? kids are great - except all the time. this week, i was left at home thrice with my two-year-old nephew, and on the latest with hyperactive triplets about 10 years old. i was basically just chasing after them, and the "hey! i just cleaned this place up!" and "will this ever end?" feelings - among various others, including a sudden desire to strangle someone - came up quite often. still, i made it through - and i will never again (or at least i think i never will) take parenting for granted. if you just want to live your life and enjoy yourself without sacrifice, take my advice: don't bother with any serious relationship or kids. you'll be doing yourself a favour. i think i'm going to sleep it off.

Wednesday, December 26, 2007

hold the phone!

okay...that was weird. why have my older female relatives started asking if i have a girlfriend and all that related stuff? you know, greet them (or her) for me, and so on? hold the phone, all right? is there anything wrong with being a single black male? like, i'm still young (plus i have a gazillion things to do). besides, i don't think i can handle a relationship yet. Lord knows the last almost-was nearly destroyed me. i still have baggage from it (okay, so it's not that long ago - like that means anything). this isn't to imply that it's only my relatives that do this - they just happened to be the last straw, so to speak. i'd rather that nobody asked - but then it just wouldn't be human. people care about other people - even when it pisses off the other people. it's bad enough that some people can't even let me talk to a female without getting very interested. please, people! i am not interested in anyone at the moment, and i am not dating anyone - nor do i have any plans to do so soon. you need selflessness in a romantic relationship - a virtue i have found i am all-too-lacking in. honestly, i don't know how she put up with my nonsense. and no, you're not entitled to know what went on. so thanks, but don't matchmake, don't ask, just leave me the h*** alone. me and the crew have this covered, aight? don't worry - something is going down. but you gotta trust me that now's not the time. thanks. later, y'all!

The text on the TextEdit icon

Apple's MacOSX Leopard comes with a text editor, TextEdit. the icon is a picture of a ruled sheet of paper and a clutch pencil. what it says is something great, and i think everyone should see it: look here

Monday, December 24, 2007

The truth about Santa Claus: An Engineer's Perspective

sometimes you do get some good 'spam'. i subscribed for news from the developers of IBExpert, and they send me updates on the program and all what not. today, i checked my mail and get this beauty. i'm reproducing it below for everyone to enjoy.

The truth about Santa Claus: An Engineer’s Perspective

  1. No known species of reindeer can fly. But there are 300,000 species of living organisms yet to be classified, and while most of these are insects and germs, this does not COMPLETELY rule out flying reindeer which only Santa has ever seen.
  2. There are 2 billion children (persons under 18) in the world. BUT since Santa doesn't (appear) to handle the Muslim, Hindu, Jewish and Buddhist children, that reduces the workload to 15% of the total - 378 million according to Population Reference Bureau. At an average (census) rate of 3.5 children per household, that's 91.8 million homes. One presumes there's at least one good child in each.
  3. Santa has 31 hours of Christmas to work with, thanks to the different time zones and the rotation of the earth, assuming he travels east to west (which seems logical). This works out to 822.6 visits per second. This is to say that for each Christian household with good children, Santa has 1/1000th of a second to park, hop out of the sleigh, jump down the chimney, fill the stockings, distribute the remaining presents under the tree, eat whatever snacks have been left, get back up the chimney, get back into the sleigh and move on to the next house. Assuming that each of these 91.8 million stops are evenly distributed around the earth (which, of course, we know to be false but for the purposes of our calculations we will accept), we are now talking about .78 miles per household, a total trip of 75-1/2 million miles, not counting stops to do what most of us must do at least once every 31 hours, plus feeding and etc. This means that Santa's sleigh is moving at 650 miles per second, 3,000 times the speed of sound. For purposes of comparison, the fastest man- made vehicle on earth, the Ulysses space probe, moves at a poky 27.4 miles per second - a conventional reindeer can run, tops, 15 miles per hour.
  4. The payload on the sleigh adds another interesting element. Assuming that each child gets nothing more than a medium-sized lego set (2 pounds), the sleigh is carrying 321,300 tons, not counting Santa, who is invariably described as overweight. On land, conventional reindeer can pull no more than 300 pounds. Even granting that 'flying reindeer' (see point #1) could pull TEN TIMES the normal amount, we cannot do the job with eight, or even nine. We need 214,200 reindeer. This increases the payload - not even counting the weight of the sleigh - to 353,430 tons. Again, for comparison - this is four times the weight of the Queen Elizabeth.
  5. 353,000 tons traveling at 650 miles per second creates enormous air resistance - this will heat the reindeer up in the same fashion as spacecraft re-entering the earth's atmosphere. The lead pair of reindeer will absorb 14.3 QUINTILLION joules of energy. Per second. Each. In short, they will burst into flame almost instantaneously, exposing the reindeer behind them, and create deafening sonic booms in their wake. The entire reindeer team will be vaporized within 4.26 thousandths of a second. Santa, meanwhile, will be subjected to centrifugal forces 17,500 times greater than gravity. A 250-pound Santa (which seems ludicrously slim) would be pinned to the back of his sleigh by 4,315,015 pounds of force.

In conclusion: If Santa ever DID deliver presents on Christmas Eve, he's dead now.

Sunday, December 23, 2007

back home

just got back home. it's great to be home, even if christmas is overrated - as usual. still, there's something to be said for being with family. nothing like family to make you wish you didn't have any. hehehe. anyway, gotta ride, so see y'all. merry christmas (i've been taken to task for saying 'happy holidays').

Wednesday, December 19, 2007

hey everyone. how's it hanging? i was wondering - what do you do if you have a program that does almost everything you want it to do - but it fails in one or two areas? install two (or more) of them? but then that would violate Occam's Razor. for instance, i use XnView for most of my (decidedly horrible) image management. the full version is a little hefty, but i love it. it supports lots of formats (mostly view), including audio/video files (it seems to have crashed when previewing a Flash Video (.flv) file just now, though) and PDF documents (you'll need Ghostscript installed, though). and it's free for non-commercial use. i love it - but it always crashes when i use it to browse a certain folder on my computer. that folder has 667 image files (and no, i didn't make that up - it really has that many images), a few of which didn't download properly (so only part of the file displays). i'm not sure if it's because of the number of files or the corrupt files, but since it crashes regularly, i had to move the files into subfolders so XnView handled fewer files per folder. that worked, but since i use those images rather often (and have to choose a few from them everytime), i moved them all back into the same folder again and use Windows Explorer's thumbnail view instead. i was on LifeHacker and found out about FastStone image viewer, and while it doesn't have as many perks as i'm used to from XnView - it doesn't crash when browsing that folder. i may not need to use that folder so often anymore, and i'm going to format my computer soon, so it doesn't matter now - but i'm going to reinstall Windows, and will need to choose an image browser. should i install both, or have to choose between them?

it's easier to choose when the difference between the programs is relatively minor. an an example, i blogged about Linotype FontExplorer X recently. it has a lovely iTunes-style interface and it's pretty good (i've not used it much, so be wary of my opinion) - but the one thing i miss from Proxima FontExpert is the ability to temporarily activate a font until the system reboots (it works on the Mac, but it seems the feature didn't - or hasn't - made it to the PC, at least not in the beta). it does the same thing as Bitstream Font Navigator (creates a shortcut to the installed font in your Windows fonts folder). i think it was also on LifeHacker i got a link to Veign CFont Pro. while its interface leaves much to be desired (aesthetically speaking - don't knock it if it works), it does what i want it to do - activate a font temporarily until reboot. so - i should just ignore FontExplorer X and use CFont Pro, right? wrong, because CFont Pro has so far not recognized any font not in the TrueType (.ttf) format. Postscript (.afm + .ini + .pfb + .pfm) and OpenType (.otf) fonts were ignored, a major minus. checking on the features page, it's supposed to support them - so i have no idea what's happening on my machine. maybe there are some missing system components. ah well. we don't live in a perfect world.

Tuesday, December 18, 2007

weird...innit?

who invented deadlines? can i kill him? pretty please? Microsoft has recently released XNA Game Studio 2.0 (and the price tag is a hefty $0. so if you're a C# developer and would like to create homebrews for Windows or the XBOX - please, help yourself). that's not too surprising - software gets released all the time, right? not that long before that, they also released Visual Studio 2008 (i got the Express edition, and Visual C++ 9.0 Express has some cool stuff out of the box - no need to download the Windows/Platform SDK to develop native Windows applications anymore. whoopee!). what's surprising is that XNA Game Studio 2.0 - get this - integrates seamlessly with Visual Studio 2005 products (specifically for C#), but not with Visual Studio 2008 products (look here for more details). If you're an XNA Game Studio user and want the new version, don't uninstall (or go reinstall) Visual Studio 2005 (if you want, install just VC# 2005 Express), or face the consequences. while there are workarounds, you really didn't sign up for hard work. that's why you became a programmer, wasn't it?

smaller is better, or so i think

back when computer users needed training to use computers (and it really wasn't that long ago), programs generally took the approach that one program was supposed to do one thing - or a very few related things - well. so you would use a graphics program for creating graphics, a word processor to create documents, and a DTP program to lay out documents you wanted to publish. every program had its place. little wonder so many companies released application suites, such as Lotus', Microsoft's and Corel's office application suites. even a giant like Adobe wasn't left out (or why would they have Photoshop, Pagemaker, Illustrator and so on?).

all that changed as users wanted to do more with less and software vendors wanted to win the format wars (i also think that the programming joke about the universe and programmers also holds water, but for the purpose of being nice, i'll leave that out for now). as an example, a program like CorelDRAW - originally a vector illustration program - added more features like bitmap effects and DTP. so many other programs have gone the same way - Photoshop added vectors, word processors became DTP tools, and so on. despite all that, it's still good to see a program that does a few things well. my opinion is, the smaller and more specific the program's feature set is, the better. smaller programs are just easier to master. take for instance, what i use for 3D (even though i don't work in 3D often). more often than not, i do my modeling in Wings3D and then import the model into Blender. there, i do my scene setup, add materials, import textures created/edited in one or more programs and then render (more often than not, using an external renderer). it's not that Blender doesn't have modeling tools - it does - more modeling tools than Wings3D, and in fact, i started using Blender before i started using Wings3D. then why? simply because Wings3D is a much smaller program and takes much less to master than Blender (i also think modeling in Wings3D is simpler, but that's a matter of opinion).

Google Sketchup is another example. it's basically a modeling tool. the (relatively) smaller feature set is one reason it's rather popular (the $0 price tag on the free version is also another reason), but i think even the paid version is popular because it's smaller and the features can be learned in a smaller time.

so am i advocating that software vendors strip out features from their software? not particularly. i merely think that users would rather do a few things very well than a lot of things badly. for instance, while lots of documents can be laid out in a word processor, word processors are still not good enough for some things. otherwise, we would have seen the end of such programs as Pagemaker (people, let's face facts - word processors still suck at DTP) and the LaTeX variants.

in the end, productivity is the key. and i think that we're returning to the time when an application will do a few things well - or why would mashups and web services be so popular? the main obstacle to that is data interchange (the format wars aren't over, even if there are now open standards for data exchange). until the day when we can just create applications using a plugin-type architecture (load graphics, text processing, DTP and PDF output) or we use a workflow, we will be stuck with feature-rich (and therefore feature-useless) and bloated applications (if you need to put incremental search into your application, it's really big). but hey, what do i know? i'm just a college kid with horrible grades. and a horrible attitude. and i reserve the right to be wrong, since we have lost control of the apparatus.

before i leave, though, i'd best say what led me to this rant. i've taken a few cursory looks at both Scribus and Creative Docs .NET. i was looking at the second, and wondering why we needed them - then it hit me. we still want programs that do just what we want them to. failing that, we'd be happy if they'd work as advertised (no, this does not include the kind of people who want 3D programs to have the 'Create Eye-catching Animation' button. i mean people who're actually interested in doing work - if they'll get results). i think it's unfortunate though. we may just have been misinterpreted as saying we want gazillions more features. so hail the (usually) independent developer who codes that app you got so used to you can't do without.

Friday, December 14, 2007

search engine annoyances

man, i'm beginning to hate finding my blog posts in search engine results. when i had my old blog, i mentioned looking for some information about a particular subject and getting my blog post about such things as ranked first by Google. something similar happened recently. what i really want to find out is what someone other than me has to say about it. i know what i already said about it - or i can find out!

Saturday, December 08, 2007

Never give up...and various other things

here i am on this rather ordinary morning, hungry and having spent too much time (as usual) on the internet. like most of the people i know, i've dabbled into quite a number of things related to computers - web "design", 3D, programming, design and so on. it so happens that i learned about the wonderful program FontExpert from Proxima Software. i like it a lot - but you can only use it for 15 days for free. since i had the "format bug" for quite a while, i never did have problems using it, as i would use it to install/manage fonts and then format my system not too long after. but recently, i realized that i hadn't formatted my computer in a while. i hadn't designed much in a while, either - so when i needed font management, i installed FontExpert as usual. here's the catch though - i haven't formatted my computer in quite a while, over 6 months in fact. not does it seem i'm going to do so before the year runs out. unfortunately, my shareware use of FontExpert has expired, meaning that times like last night when i wanted to design a quickie for someone - i once again lamented the expiration, and merely used to the fonts installed on my machine

now don't misunderstand me - i have great fonts on my machine. but i limit the number living in my Windows fonts folder to 500 these days (47x isn't so bad) so i can maximize my computer. what i particularly love about FontExpert is its ability to temporarily activate a font - so you can use it until you restart your machine. and no, i can't easily pay for FontExpert because it's like pulling eye teeth to pay online here (the fact that a certain well-known company doesn't allow Nigerians to create accounts with it may help you understand). so i am stuck without a font manager. i'm not interested in certain font managers that create shortcuts fonts you install using them - i'm a weird one, and for any number of reasons i'd rather have a font actually living in the Windows font folder than have a shortcut to it (what if i installed it off a removable disk?).

anyway, i was looking for high-quality free fonts this morning, and once again saw that Linotype has a free font manager for Windows and Mac OS X, Font Explorer X. unfortunately, i missed the beta period for the PC version, and the program isn't available for download anymore - until it's released. seriously in need of a font manager, and without recourse to some avenues to solving my problem, i began searching for a mirrored download for Font Explorer X, especially since there were so many rave reviews. searching on Google didn't yield anything, so i looked using something else, and found a download on the second try (if i was going to tell you what i used, i would have already, so can it). now i have Font Explorer X running in memory on my machine. okay, i'll back down a bit - the download was from the Linotype site - but i didn't visit the site before i found the link.

maybe it's because i'm using the US version of Firefox, but isn't there a word like 'learnt' in English? or why is Firefox telling me i have a spelling error there? i started Breath of Fire IV, and George and Victor got interested, and started playing it too. i've since finished it once (again), but they're still playing it - even though George has more time on the clock than i do (i finished in about 52 hours), and that doesn't include all the times he got his party killed and had to restart (i think the worst that happened to me was i lost my Knight dragon trying to beat the Rider without using Celerity and had to escape that fight...oh, i also got a Game Over trying to Steal the Dragon Tear from Fou-Lu). plus, my characters are all at higher levels than his and i have more Game Points and Fishing Points than he does - even though he's using a walkthrough. what really is the moral of this (supposedly interesting but completely unnecessary) story? experience. what makes one person able to do some things better than others might just be experience. and personal experience is built from doing the thing yourself. there are few things in this life you can master without doing the dull, rote everyday, mundane thing. but experience can beat talent. which is the point of the final episodes of History's Strongest Disciple, Kenichi. and the point of this post. later then!

Tuesday, December 04, 2007

Exams have started

...so i have very little time to do this. i really need to get out of here. i'll post an update later.

Sunday, November 25, 2007

Why should Facebook shut down the group "Fuck Jesus Christ"?

i'm on Facebook, and ordinarily, would like to talk about how cool it is - i mean, i met someone i hadn't seen for over 10 years there...but now's not the time. i merely am asking why Facebook should shut down the above-named group, distasteful as the idea may seem. and no, i haven't lost my faith - i merely want to remove my emotions and tendency to bias the situation, and look at it objectively

my Nigerian friends may have no prior experience of such God-hating, but it's fairly common - which is probably why the group protesting the above-named group has less than 500000 members. statistics aside, i believe that action like forming a counter-group makes no sense. simply because that's what i think the devil wants you to do. join the group, then when they see how many you are they'll believe in Jesus or shut down the group? i wish you luck. you're just wasting your time. you're better off actually evangelizing, than protesting people's decision to express their feelings and thoughts. and the worst thing is that such hate groups thrive when they face pressure. it's the fuel for them. ignore - or bring them to real issues - and they lose steam, for the most part. besides, i don't think Jesus started a 'love Jesus' group when people wanted to kill Him. i think He just ignored the hate and kept loving them. He never met them on the devil's ground. and neither should we, because it's what love did - and continues to do.

as an addendum, i'd like to quote this 'conversation' i read on an edition of Higher Way magazine: -Want an orange? -No thanks, I don't eat oranges. They're not for me. -Why? -I dunno, just never ate one before. -Then how can you tell they're not for you? Why don't you try one an see for yourself? many of these folks who say they hate Jesus have never even met Him before. and since they pride themselves on logic and reason, the honest ones will admit bias when confronted with love. don't beat them over the head with Jesus. even He only did that to people who should have known better. and if we're the only Jesus some of these people will ever see before they get saved, i'd say things aren't exactly looking up (looking at my life, that is.

Supernatural 2007 over!

just got back about half an hour ago from the last meeting of Supernatural 2007. it was great, and 'm tired. need sleep - will do so when my dad leaves for church. my brother came with me as well. later!

Saturday, November 24, 2007

web comics i (sometimes) read

yesterday, someone i know was walking with someone else, saw me and said, "i'd like to introduce you to this crazy guy" (the crazy guy being me). anyhow, i'm assumed crazy, and so, to keep my craziness up, i need to get into the heads of crazy people. two webcomics i like are xkcd and very recently - The Usual Dosage - a webcomic that seems to be developer based. so far, The Usual Dosage has only 6 strips, but i especially love the fifth. something has to be said for the sanity of whoever invented regular expressions. it's like an IQ test question i once read, which went something like this:

able, rot, son, king
Which word below shares a common feature with all the words above?
line, sit, take, hope, night
The answer: the words in the first list and 'take' can be prefixed with 'par' to form English words. like i said when i read that: i'm smart, but not crazy. at least, not that crazy.

one more thing: you really should read The Usual Dosage from the first strip to build it up. it makes more sense that way. and one more thing (no, really): start the '1337' series on xkcd. it's a five-part series and it's hilarious. and crazy. seriously crazy - and yes, i know that sounds kinky, like 'dry ice', 'cold sweat', 'jumbo shrimp' and 'clean porn'.

Why web designers used (and continue to use) tables for layout

Yesterday, after the morning session at the second day of Supernatural 2007, i was 'recruited' to format the programme for the night session in Word (don't miss the dripping sarcasm - it's pretty much a trademark). after trying to lay out the document using tabs, i realised why web designers started using tables for layouts - let's face it, your layout options before tables were pretty much limited to using preformatted text, or long strings of spaces. and after Word nearly had me pulling out Bill Gates' hair, i decided that i'd had enough - simply use an invisible table to lay out the programme in 3 columns, and let Word maintain the spacing and neatness of the entire thing. while i was doing that, it suddenly struck me that the first primordial designer probably had the same thoughts as i did - and started us all down the evil road of table-based layouts. i guess until the day when you can tell the software exactly what you want to do, you'll just get stuck with the idiosyncrasies of whatever software you do use.

Thursday, November 22, 2007

First night @ Supernatural 2007

Supernatural 2007 kicked off today, and i quite had a great time. met a number of people i hadn't seen in quite a while - and i got to hear a great message that was timely and to the point. now, the onus is on me to do something with what i heard. later!

Sunday, November 11, 2007

Now this is crazy!

growing up, i hated my parents, loved them, was indifferent - pretty normal, you would say. however, i just read a story that horrified me silly - a 16 year-old (now 17) is facing charges for attempted murder - he hired someone to take out his parents - ostensibly because they started disciplining him. you can get more about this here, here or here.

Friday, November 09, 2007

web crawling

was crawlin' round the web, doing nothing of absolutely any value, and found this blog that i seemed to have the password to. so i'm writing in it. hope the owner doesn't find me authoring content in his blog. heh (rubbing hands together gleefully), i wonder what kind of evil i should leave here that's untraceable to me...

the cafe got a new link, and i was there stress-testing it. as far as downloading goes - it will suck, in my opinion. still, nothing like being open for business...

if i crawl the web this much, Google should employ and pay me. of course, they'd pay me what i'm worth - nothing!