Sunday, January 21, 2007

when software does what it should

…but that isn't what you want it to do, what do you call that? i downloaded BO2K, but my antivirus program, AVG Free 7.5, which runs automated scans every day at 8am by default (quite useful, actually) always picks it up. now that's what it's supposed to do, but that not what i want it to do. i'd rather it left the BO2K alone. i was going to use it for remote admin, until i remembered UltraVNC. still, BO2K has features such as remote process listing and whatnot, and i really would like that, rather than just have access to the remote machine's desktop and filesystem. ah, well. you can't win them all, can you?

love...why does it seem so hard?

i read an instant message between a guy and a girl, and my heart went out to the girl. here the guy was, trying to milk money out of her, and she just wanted someone to make her feel special. no, i'm not absolving her of blame, but i can understand. because i'm human. because i've felt it too. the ache. times i have passed a couple and i wish i were him. we're created to feel wanted by someone of the opposite sex. it's natural.

the problem occurs when we let the desire for relevance run uncontrolled. there are so many women who would rather not have sex, but to satisfy the man in their life, they submit themselves unwillingly to sex - psychological rape, i call it. many men empty their bank accounts just to make a woman happy. there are so many stories of people who take things from their loved ones that they wouldn't take from anyone else…people losing respect, people selling their values for a fleeting satisfaction. and it makes me sad.

i'm not immune. i put up a brave front, saying things like, "women are irritating", or "women are troublesome", or the latest: "when most women run their configuration wizards, they seem to almost always check the 'Be Troublesome' checkbox". but like everyone else, i just want to love someone and be loved by them. sometimes i just want someone to hug me and the feeling can sometimes be so intense, it scares me. and that's one problem with many people: they are scared about the depth of longing for relevance. it won't be satisfied with one or many flings. there's a deep-seated cry in each of us to love and be loved. the writer of the book of Ecclesiastes in the Bible put it well when he said that God had "…put eternity in the hearts of men."

if God put it there, then nothing in this world will ever satisfy that longing. i know. i got so mixed up that at one time in my life i had a list of almost ten women i had different levels of non-negligible attraction to. d-uh! i can't be with all of them, can i? so i stayed away, using my mind and wit as both a shield and a weapon of offense. but i tired of it. i wounded people i cared for, simply because i couldn't handle it. it hasn't stopped in a sense, but i have changed in one simple way: instead of trying to give myself excuses for not being in a romantic relationship and trying to explain away the attraction i felt for someone, i faced it. i began to believe that i am a desirable and attractive young man (i still need to learn the secret arts of cosmetics usage), and that even though i was attracted to people, i didn't have to excuse it away - or do anything about it. yes, i'm self-conscious around such people, but that's about it.
more importantly, i'm beginning to look more to my relationship with God and to myself for my sense of importance. i'm putting a value on myself. i don't need anyone to make me whole but God. and He's not doing a lousy job of it - that much i can tell you. i'm not saying my insecure days are over…but i can look at myself in the mirror and thank God for the day He created me - someone else is going to, someday very soon do the very same thing! and ladies, hands off - this dude is expensive stuff! it took a human life to buy me - so nothing less will do for the rental value! sayonara!

Saturday, January 20, 2007

Consolas font from Microsoft

i've been programming for a little while with Microsoft Visual C++ 2005 Express, but i never had so much fun reading/writing code as two days ago when i changed the editor font to Consolas. Consolas is one of a number of new fonts developed specifically with Windows Vista in mind, but Microsoft in its not-so-recently-hatched generosity is giving it away for free for developers (obviously, pretty much anyone can get at least Consolas, not to mention that the fonts also came with both the beta and release versions of Office 2007). for a monospaced font, it's really more legible than Courier. i guess if you use a version of Visual Studio the setup file would automatically set Consolas as the editor font, but it seems not to work with the Express Editions. typical, i forgot all about the installed font the next time i ran Visual C++, but something got me looking in the options (something i rarely do normally) and i set the editor font (i generally don't do this either. the closest i've come to doing it is changing the display font for SciTE from monospaced).

by now i guess i probably got you at least a mite interested, so let me stop advertising Microsoft and just give you the link to the download.

Friday, January 19, 2007

coding among thorns...

i've been developing a small app that required an embedded database. i'd used SQLite with a degree of success, but i wanted a change, especially when someone said something about the files getting easily corrupted. my next choice was embedded Firebird. since i was writing a C++ application, i decided to use the default C++ API for Firebird, IBPP.

developing this app has been a great learning experience. for instance, i found out that using std::vector as a container calls the copy constructor for stored objects. there's a class in my code that has a private copy constructor, mainly to prevent me from trying to make copies of existing objects (if each object is to be completely unique, there'd be a need for that, wouldn't there?). i wasn't sure about it, so i stored pointers to objects of that class in the std::vector. later, i duplicated the code relating to the vector and tried using actual objects. my compiler (Visual C++ 2005 Express) gave me a major error in the vector include header, of all places! heh!

my app i going along fine, and i hope to be done with it by Saturday. on the subject, Sleepcat Software was bought by Oracle. interestingly, i just found out this morning while googling for embedded databases, even though the announcement is dated February last year.

saa te, later!

Wednesday, January 17, 2007

wisdom...on much more than 3d

i've known about SomeArtist's blog on 3d modeling for some time now, but i really didn't look up his posts. he has quite a bit to talk about, but even if you're not a 3D modeler, i suggest you look up his site. his tips are applicable to more than just 3D, because he talks about thinking, not modeling per se.

so go on, have a look see.

Tuesday, January 09, 2007

woes...gone?

so, here i am, back to coding in the middle of the night (it's past 2am here). i found that compiling IBPP and linking the created object into my application only worked until i made a function call, namely to create an IBPP::Database object. then all hell broke loose. so, i did the recommended thing and added all the IBPP source files to my project, and recompiled after removing all references to my custom "library". recompiling gave me the (expected) error of complaining about wide (Unicode) characters not being compatible with regular ones. since i only got about 9 or so errors, i started editing the source file (_ibpp.cpp), and converting most references to quoted strings that gave errors to Unicode-compliant strings using the TEXT() macro. the final challenge was a call to std::string::c_str(), so after trying to create my own function to convert from ANSI to Unicode, and failing - i solved that with a cast. i'm not so sure i won't trip up in future, but i'm feeling more confident now - considering the "solution" took less than 15 minutes, and i'd been battling with the problem for over an hour. i could do with some sleep, myself. later!

Monday, January 08, 2007

Update in progress

went to classes for the first time this year. heh. nothing much happening. went over to the wxWidgets forums to gripe about my wxWidgets application linker problem. apparently, i didn't remember signing up, but i had, previously. when i logged in, i decided to look for the problem i was having before griping, and lo and behold, it seems i was using a different configuration (probably trying to build a debug application on the release version of wxWidgets i had, though i'm almost certain i always switched it...). at any rate, it seems the problem was a very common one indeed, judging by the number of people who posted separate threads for it. anyhow, i'm quite glad i'm not alone in this thingy. anyway, i always solved the problem by creating a new project, so i'm not too bothered.

this is totally unrelated, but there's going to be a live Transformers movie! and guess what? Steven Spielberg is the exec producer, with Michael Bay as director! i saw the Japan-only trailer on YouTube. arigato gozaimasu, Spielberg-san, Bay-san! later, then.

Sunday, January 07, 2007

Growing pains

yo. been quite a while, relatively. been trying to code and not being very successful at it. i don't know what happened to me. anyway, i was having problems with some stuff i was doing. compiled FOX, but since it didn't contain the code for some external libraries such as Zlib, i followed the instructions on the site and defined some macros to include them in the build. the library built fine, but the example programs gave me linker errors no end, complaining about multiply defined symbols. had to get rid of the entire library

something similar happened when i actually started working on a project using wxWidgets and IBPP. for some reason, IBPP doesn't support Unicode, or so it seems to me. i built the application (and wxWidgets) with Unicode support, and IBPP choked. the fix: build IBPP as a separate library. fortunately, even though the IBPP team recommends merely including the source into your own code, i built it (quite easily - just compile all_in_one.cpp), eliminating one problem. the other was fixed by including wxWidgets headers before IBPP's since they both declare a macro with the same identifier (_). the clincher came when i edited some code in my skeletal application, and got a wxWidgets linker error about not finding wxStringData::Free(). nowhere in the wxWidgets docs does this method exist, and not even in the library, it seems. pulling out all calls to IBPP didn't fix it - i had to plug the entire app.

i haven't coded in a long while, so maybe that it. and i don't even want to go into the problem of multiply defined symbols due to different runtime libraries. oh, i'm using Visual C++ 2005 Express Edition Service Pack 1. i really was about to give up. i kept thinking, it's the story of my life anyway. i'm not sure maybe it was due to lack of sleep, but i do feel better now, and i guess i'm ready to give it one more shot.

Monday, January 01, 2007

Happy new year!

yes, 2007 is here! and happy new year to you too! so, what are your plans for the year? don't tell me, just make them - and make sure you execute them. plans are no good unless you do something about them. despite that, however, remember that Robert Burns said something about the best laid plans of mice and men gone agly…or something like that. plans are only so good, and are limited to the planner - no human can see the future. that said, it's better to have a plan for the year than just fall through - the plans act as a measuring stick to determine just how successful you've been. well, guess i'll leave you to your planning and scheming for the year. later!

Monday, December 25, 2006

Documentation

i've always wondered why so many developers leave documentation for their applications, libraries and other things online, as in on web pages that are problematic to get offline. i do realise that developing is a labourious process, and creating documentation makes it more so, but if you really want to release your program/library/toolkit for general use, make sure there's some documentation that users can get. on my former blog, i ranted about the availability of offline documentation for Blender. it seems as though the ASP.NET AJAX team want me stuck online. dude, it's expensive for me to stay online, but if i want the documentation for ASP.NET AJAX, i need to. that just means i can't use it until they let me have an offline copy of the docs. ah, well. i just hope i don't do the same thing.

Christmas is troublesome!

so here i am in school, and it being the 25th of December, too! due to the "festive" season, i haven't left school for home because of the traffic jams between school and Lagos. i heard some people spent over 14 hours on the road. dude, that majorly sucks! i haven't left for home yet, maybe that's why i'm feeling some saaki from home. okay, maybe it isn't killing, but i feel like i will get sacrified once i get home. so i hope to get home today. and am i bored stiff in school!

i can't send a text message to my sister, even though i've been trying over the last two hours. i'm not surprised, though - the empty network has its limits. i mean, with everyone and their dog trying to communicate at this time, even a stellar network (which the empty network is not) would be hard-pressed to deliver hiccup-free services.

this year, Christmas is on a monday (arrgh!). i don't beef the season, only the mindless activity that fills so many lives just about this time. it's really dumb seeing so many people fritter away time and money without thinking. Christmas itself has lost what it should mean - not that it started out meaning that anyway. anyhow, guess, we'll see later. (i can't believe i'm doing this) merry Christmas! and God bless us, everyone!

Wednesday, December 20, 2006

erm, so what was i going to talk about again?

can't remember. or don't want to talk about it anymore. works the same both ways. anyhow, wish those who celebrate christmas a merry one. not quite sure i'll blog agin before next year, still…anyhow, see y'all!

Saturday, December 16, 2006

It's that season of the year again...

dude, lots of new versions of software is showing up just now - just in time for Christmas, heh, heh! among some of the new versions of software showing up are:

  • wxWidgets 2.8 has been released. finally, they release the documentation for the current version (how come i wasn't told that version 2.7 wasn't stable?)! grab your copy if you use it.
  • VideoLAN VLC player has hit version 0.8.6. An excellent player, you might want this handy for that day you feel like streaming that audio all over your network…as far as i can tell, it still doesn't support Real media files, but i guess maybe the maintainers might add that, what with all the activity going on at the Helix Community, some miracle might occur, though i'm not holding my breath because of licensing issues…
  • lately, software giant Microsoft has been really nice to some of us who can afford to shell out precious $$$ for software. Lots of software development tools are available from the Redmond company. Rather recently, the new XNA Game Studio Express is production-ready and waiting for the next great game developer. Got .NET? Want to create games using Visual C# Express Edition? Will travel (actually, travelling isn't necessary, but downloading is)? Will not create XBox 360 titles without a license? then get this one. 'Nuff said.
  • still talking about Microsoft, the new home page debuted two days ago. and i can find a link to free accounting software software there. eh??? a contest to win retail space in NY plus $100,000 (USD i guess) to get your business started? i smell a big, fat, rat. sorry, i smell the work of a bunch of guys who want to take over the world.
  • And for the company that wanted to give me a heart attack recently - Planetside Software. Yes, the long-awaited release of Terragen 2 Tech Preview is finally here. maybe it's me, but i'm sure i scanned the entire site yesterday and never found the download link. fortunately, i googled this morning and found the link to the download before i could give them a piece or two of my (much-needed) mind. all's well that ends in the well, i suppose. i now have a shiny new Terragen 2 Tech Preview download, and i'm retaining all the pieces of my mind too ;). well, here's the link to the download page. i wish Planetside many sales of this one (hopefully, i'll be able to afford it when it finally is production-quality).

well, gotta go. other things await my perusal. later!

Friday, December 15, 2006

Women are troublesome!

after mulling about it, i guess i'll just leave the header and this note. if you're a guy, i'm sure you'll have your own experiences with woman trouble. and this really has zilch to do with romance or any such thing. relating with them can be such a pain. arrgggh! if someone can tell me just how to live with them, but without their trouble, i'd listen.

hMailServer

ever since i was introduced to hMailServer, i've never looked back. it's really nice for it's weight. part of the requirements for it to run is a database server, either MySQL or Microsoft SQL Server ™. when setting up the server, you're allowed to choose whether or not you want to use an external MySQL database server. not using an external database server makes use of the one that comes bundled with the hMailServer package.

with MySQL versions up to 3.x, i worked well with hMailServer. unfortunately, from version 4 upwards, i've struggled with using hMailServer and MySQL. that's because i generally install MySQL for purposes other than running a mail server. however, the last time i installed hMailServer, i did the usual thing: create a new database for the mail server's use using my existing MySQL server installation. however, for some reason, hMailServer choked on the external database, so i was left with the option of downgrading hMailServer or MySQL. for the first time, i got mad, reinstalled hMailServer and let it use its internal MySQL server. it's nice to know that even though i now have two MySQL server services running on my computer, i can use my existing MySQL server along the one installed with hMailServer.

one thing of note, if you're going to install hMailServer, please note that the username used to authenticate to the mail server must be the full email address, not just the username portion, that is, it needs to be 'username@domain.com', not just 'username'. this is something that i've seen trip up new users of hMailServer.

Monday, December 11, 2006

i was taught wrong proportions

Back in primary school(i guess that would be grade school for some people), i was taught that if 1 man completes a piece of work in 10 days, 10 men would complete the same piece of work in 1 day. i have since come to question the validity of that premise, because if we consider the men actually completing the work in 1 day:
  • as Prof Olicks mentioned, we're assuming that they all work at the same time, and they don't have to queue up the work - in other words, no person's work is dependent on any other person's
  • we're assuming there are no slackers among them, which is most likely not true. come on, any group of 10 people will almost certainly have one or more slackers.
  • we're assuming each of the 10 men has exactly the same rate of work as the 1 man - which is of course, not plausible.
  • we're assuming the men don't do anything to affect their work rate, either positively (like cheering each other on or smoking weed) or negatively (like...i dunno!).
  • we're assuming they even begin to cooperate.
  • we're assuming they don't get into each other's way, which will obviously slow down the rate of work.
  • we're assuming they don't go off, form a union and call a strike for some reason.
  • we're assuming having 10 men on the site isn't a violation of safety laws.
  • as Prof Biyi reminded me before i publish this, it also depends on the nature of the work. if it takes 1 man 1 minute to put on a pair of trousers, how long will it take 10 men to put on the same pair of trousers? i think that bears thinking about.
  • from Prof Biyi's postulation, we can also assume that we have not asked the employer of labour if he would be willing to pay 10 men as against 1, since the 1 has the (decided) advantage of not being able to form a union (of course, that doesn't stop him from getting a shotgun...).
  • since we learnt this before we found out about the law of diminishing returns, we can safely assume that we are assuming without the said law, which IMHO, has a bad habit of not knowing how to be ignored gracefully.
  • we're assuming that some other thing i haven't taken into consideration does (not) happen.
in my opinion, the smart answer to the question: "if 1 man takes 10 days to complete a piece of work, how long will it take 10 men to complete the same piece of work?" would be: "it depends".

Wednesday, December 06, 2006

New virus/worm/whatever!

last night (or in the early hours of this morning), someone asked me to take a look at his WinXP computer. he said it was giving some weird text on right click. sure enough, when i right clicked his C: drive, the first two items were in some gibberish, the kind you only see when you don't have Asian fonts installed. However, the first two menu items (&Open and E&xplore), have their accesskeys underlined, like normal. i first started checking the registry to see if there was any custom autorun handler. there didn't seem to be. the thought was then brought to my mind the autorun.inf trick. so i checked, and there were a number of files named autorun* (that is, files that had the name autorun-something. apparently, the worm spreads via removable drives, and executes itelf using Windows Scripting Host. i'm not sure exactly what the payload (the actual damage caused by it other than being annoying) at any rate, disabling Windows Script Host is very easy if you have the right tools, or if you don't mind running around in the registry. i can't tell you exacty what registry key to modify other than HKLM\Software\Microsoft\Windows Script Host\Settings\ (set both the Enabled and Remote values to 0). use Task Manager or any other process manager to kill any instances of Windows Script Host (wscript.exe) running, otherwise, cleaning the worm will be really difficult. Next, make sure that the worm doesn't start up with the system by searching for and deleting all intances of "autorun.bat" in the HKLM\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini key. Finally, at the console, run: attrib -h -s -r autorun* and delete the files that appear if you have the default setting, which is to hide system and hidden files. if this doesn't make sense, post a comment. i'm falling asleep at my computer and i don't want it to drop off my lap. later then! oh, yeah - tools you can easily use to disable Windows Scripting include the excellent Xpy and AVG Antispyware. With Xpy, simply download, unzip and run the application. you'll see it under the 'General' settings. For AVG Antispyware, go to the Tools tab and expand Other services (or something like that; i don't have it installed for a number of reasons).

Tuesday, December 05, 2006

English is the pits!

i'm taking a couple of tests on Brainbench (free of course! :D), among which is the Personality test. i was looking at the text at the top of the screen and started wondering of "today" referred to "this present day", or "an amount of time around and including the present day". there are too many words with multiple languages in English! since the world generally agrees that i'm not a native English speaker, i'll have to say we chose a really weird language for the most popular one (quoting Ryuk from Death Note episode #1)

Wings 3D 0.98.36 is out!

i once again decided to creep around the Subdivision Modeling forums, ostensibly to revive my almost-dead modeling career. there, i was greeted with the wonderful news that Wings3D 0.98.36 is out! okay, so i haven't tested it, but if my experience with the previous versions is anything to go by, it's going to be l33t! oooooh, i can hardly wait to get my hands on a shiny new copy! erm, forgive my behaviour - everyone is allowed 5 minutes of insanity daily. i was just getting warmed up :D. later then!