Thursday | May 27.2004

Wednesday | May 26.2004

Since that day of the elections, which was 15 days ago, block outs occur almost regularly. It maybe caused by two things. One is storm (and/or weather related factors), the other is election-related 'magic tricks'. 'Magic tricks' that are too advanced that creating a computer algorithm for it is two eras away from it.

This was unlike the previous block-outs which lasts only for five to fifteen minutes, not that long unless it's in the middle of the night and out of silence, your little kid wakes up and howls non-stop. I tell you 10 seconds of child howls and cries is that powerful that even the US military scientists are planning to include this in their 'artillery of the future'.

Back to the block out, since it was longer and we don't have any generators here, and even if one exists, I don't think I can code with that grinding sound even a few floors away from me, I decided to stay at the roof top sitting in the bench under the one-o'clock afternoon sun.

And I remembered the last time I was on a bench under the heat of the sun... that was 10 years ago perhaps when I was still in high school. Those days when, we, with our friends do nothing but park our butts in that bench, play basketball afterwards, talk about mindless things that I can't even remember after an hour, punch and kick one another, play basketball again and play basketball again three blocks away.

Almost half of the time we emerge winners of the game. The other half we test if we are faster than a stone hurled towards us while the others test sines, cosines and projectiles, if we choose not to pay the bets. All of the time though, we are lucky to be alive to tell the tale. Sometimes even brave enough to return to that place where they are already posting in chalks the amount of debts we have to pay.

Ah... life was simple then. I don't have to worry about SQLs, DBFs and corrupted CDX files. There were no compile errors. No brain-damaging API calls, no network-locking problems and such... only adventures, mischief and pure fun.

Memories like these make you question your direction in life. Why do I have to do this? Why do I have to do that? Why do I have to stay and work up to the wee hours of the morning? What for..? Why..? Why can't I just bark and park my arse and play ball all day?

Of course I have answers to these questions but sometimes I often think if these answers are really that valid. And even if they are, another array of questions always emerge.
WildFire on 09:31 PM CST [ link ]

Tuesday | May 25.2004

Satisfy your technolust (or make that technocravin') with these:
» Pre-Assembled Acrylic PC Case
» Iomega Micro Mini Drive
WildFire on 10:59 PM CST [ link ]

Not all client visits are 'walk in the parks'. Sometimes it's rough. Sometimes the rough part involves database that goes south and east then goes south once again. Sometimes it involves the politics inside a certain company... like for example, a change in administration and you'll find yourself re-initializing the explanation (and impression/integrity-build-up) from scratch all over again, strict security guards which you cannot blame in the first place since they're just doing their jobs... and a lot more.

But let's not elaborate into that for there are a lot of good things in each client visit to think about the 'not-so-good' ones.

While some may draw inspiration from great programmers/developers like (insert-your-icon-here... mine was Peter Norton when I was still in college), if you'll look everywhere you'll find a lot of good models from 'simple-day-to-day' humans. One of this is this bus vendor I encounter every now and then when I travel to our north-based clients. To give a short overview, these are the people bringing goods (mineral water, hard boiled eggs, newspapers, 'chicharons' etc.) to buses, loads, hollers, advertises, then after five minutes or so unloads and waits for another bus where they can sell their goods.

There's this one vendor who aside from selling helps people when he's in the bus. This afternoon he even left his goods in the bus to rush down to help another passenger load her stuff.

Programmers and software developers who do free lance related works should also be like this. When you're visiting your clients and there are things that could help them whether it's part of your work or not but would make things better, never hesitate to do so. Install free anti-virus applications, firewalls and spyware removal tools. Introduce or other productive applications that could make their company save a lot. Teach them to defrag. I've seen a lot of fragmented and unoptimized units in most of my clients and I'm sure there are a lot of others out there.

You can even teach them how to blog.

In this world where silicon is getting powerful and powerful each day... it won't hurt to show little acts of kindness... just like that bus vendor.
WildFire on 08:07 PM CST [ link ]

Monday | May 24.2004

Sometimes you can measure and rate the software you develop by the amount of confidence you have when you're presenting it to your clients. I remember showing two integrated database systems to three client schools September last year. I was more confident presenting Project:Genesis which was a couple of years old already compared to Project:Alexandrieia (Integrated Media Center System) which then was only two and a half months old. Still pretty much in its infancy if you'd ask me.

With Genesis, I can even click and present things with eyes closed while I was closing my eyes and crossing my fingers silently when I was presenting Alexandrieia.

But after months of working up to 3 or even 4 in the morning, Alexandrieia have grown to something a little 'powerful' than before. It can now even auto-detect a user who have not taken a bath yet and initialize the shutdown procedure once it detects a certain scent from a user. Yes that's how powerful APIs are.
WildFire on 02:30 AM CST [ link ]

Sunday | May 23.2004

If this 3D monitor remains true to what the article talks about, then it is about to break barriers and revolutionize a lot of things. A concept before which can only be seen in movies (see Paycheck) is now here... well, at least that's how that news article projects it. I prefer though seeing, touching and smelling it before I'll start doing that tribal-jump-for-happiness dance routine.

But still, once that barrier is breached, expect Room.Improvements(22*17 meters, lLimit=.T.) becomes a Field.Improvements(nInfinite, lLimit = .F.). The technology behind this, like on any other field, will just keep on improving and improving.

And of course patents will still be there to hinder some parts and clog some tunnels of innovation every now and then.
WildFire on 12:38 PM CST [ link ]

Saturday | May 22.2004

Even Bill Gates 'indirectly' supports blogging. Are we expecting an MS-powered blogging tool in the near future?

Finally, Avatar is starting his tech/work/life blogs. Once he finalizes everything I'll post a link to it for you all to see why this was the first person I tried convincing to start a blog of his own.

There are a few others in this 'make-them-blog' list of mine and probably stating their full names in here could push them even more. Besides Google can make these names pop into their search results.

First would be Nepthaly Talavera, a college classmate of mine who is now the Dean of the Computer Science department of the university I worked before. I expect to hear some education/institution related views from him for I believe this country has to concentrate more on the blooming (in size but not in brain-optimization) computer science student population. So dude, turn off that Anime-infested TV of yours and start doing the 'dirt-ier binary-related things'.

Second would be Ceazar Ryan Sealana who's 'leet-coding-skill-style' and love for mischief far exceeds my Foxpro-powered skills and love for a peaceful digital life.

Third would be Hazel Juanico whose expertise involves SQL, VisualBasic and Javascripts and punk/grunge rock. I have known Hazel since the old elementary days up until we finished that back-breakin'-neuron-abusive Computer Science degree.

Fourth in the list would be Mark Anthony Panizales, a former student of mine who was also a founding member of that wormz team we organized years ago. This is one dude who really understands what real programming/software development is, has a great vision and persistence to back it up. If he says it, he'll do it.

There are a lot of blogging-related tools in the 'net. I use the GreyMatter scripts but there's which was acquired by Google (Yep that's how serious blogging is these days) and has recently upgraded.

Hosting-wise there's that offers as low as P34.50 a month web-hosting services.

Let's all change the IT-related-aspects of our country through blogging.
WildFire on 10:11 PM CST [ link ]

I didn't post a link to that article questioning if it was really Linus Torvalds who wrote Linux a couple of days ago since I was probably too tired to even sit infront of this computer, but I'm doing it now along with an article that defends Torvald's side. It even includes a link to Andrew Tanenbaum's notes.
WildFire on 09:40 PM CST [ link ]

Thursday | May 20.2004

Looks like even Star Wars is geared to be outsourced.
WildFire on 12:37 AM CST [ link ]

Wednesday | May 19.2004

Sometimes, if not always, it is so hard to talk someone about systems and problem solving especially if that someone is lSensitive, lEmotional and cPersonality = STRONG. To make things even harder, these are the persons that are often close to us, persons we hold dear. Closeness is oftentimes quantified by emotions but the use of such in this discussion, stops there.

A great deal of our life lessons, we learn through our work. And in database-related programming, software development and system analysis humans can learn a lot. In fact the approach use in the whole software development process if applied to real life situations could make this greed-infested/disorganized/unsystematic world a better place to 'interface' and connect with.

One can view life as a big problem (but not necessarily negative) that needs to be solved or 'lived' if you prefer such word. In every step of your life, directly or indirectly, you create means to solve a problem, but first and the most important aspect of all; you must know what the problem _really_ is. This is where you question existence, the why's of things and in such thing as complicated as life these questions can stretch far beyond places Hubble's sight can even reach in 7 cybernetic lifetimes.

Most often, a big problem is composed of little problems branching out to another set of nodes and child problems.

Now, one's approach to solving such things would depend on how you, with your experience, view things. You can view it as 'cut-the-root-of-the-problem' and the nodes will be flushed as well .OR. you can do little node and leaves at a time until slowly and slowly you are tackling and conquering the problem subset before marching to the next level/node. That or the other or the combination of both or A then B or B then A, the combination is endless, can bring you to the doors of the solution. The process in itself can be views as a means of solution to start with.

Now let's go back to that arguing/talk with someone we first tackled on Paragraph-01. You can't expect to solve a problem if you're attitude is like this: while discussing Problem v1.117.1256725, and you feel like you with your intelligence cannot 'fight through' the parameters of that problem starts randomly accessing bits of information that will pull Problem v1.291.1837125, Problem v2.129.28341245 and countless others.

Solve problems ONE by ONE, it doesn't matter if you're doing it the LIFO or the FILO way, or the stack or queue approach. Even CPUs tackle each program line by line. Even Superman to be efficient follows this principle. Spiderman too, he rescued his girl first then maneuvered towards the dangling train. And I don't believe hyperthreading on a 512-bit computer with 7777500GHz could defy this principle.

Talking to someone who tends to bring all problems forward instead of dealing with it one by one frustrates me. Add more nFrustrationCounts if that someone gets too emotional, looks for other holes instead of concentrating on the problem at hand and too close minded enough to see things. We're talking about oOBJECTS here so things must be dealt with objectively and lEmotion should be set to .F.

Add the nCount(ProblemOccurence) too. If the problem keeps repeating and repeating all over again nFrustrationCount increases. There must be something wrong with the system that needs to be addressed instead of being to emotional and close minded to even discuss the problem.

And in every thing/activity/process they do, humans should learn to evaluate and reflect on things.

But that my friend is another story for now and I still have to work on how to prevent database corruption during power fluctuations.

In case you want to know what the problem is about... we'll I tell you it's about spoon and forks.

Yes really. No kidding this time. Such a 'near-to-null' related matter, right?
WildFire on 10:04 PM CST [ link ]

A snippet compiler application, a dbRepair function from Sergey Karimov (via and John Koziol's bio at VS Data Team's WebLog.

That would be our FoxPro-related links for the day.

Wait there's another one: Pathological Testing for AppDevs. Automatic 'self-destruct'-related routines in the program once it detects a paranoid user who's IQ is below three digits is included with this test, right?
WildFire on 08:23 PM CST [ link ]

Tuesday | May 18.2004

Oh-la-la! Something to look forward to. People close to me know that I don't play computer games that much, but I always look forward to the artworks, the cinematics and the technology behind these things.
WildFire on 01:06 AM CST [ link ]

Sunday | May 16.2004

Rick Strahl: Is the Rich .NET Client ready yet?
WildFire on 04:14 PM CST [ link ]

Since the day I upgraded to Visual Foxpro 8, I considered it knocking out VF6 in all departments. And indeed it does prove itself far superior than the last version that was bundled with Visual Studio. That was until yesterday when I discovered that a certain Database Utility application I created could open databases that were corrupted by power interruption and 'magical reboots' (possibly caused by computer viruses).

I have already installed NAV on a client's computer which could possibly have eradicated that 'magical reboot' problem but I created a patch still... just in case. Problem is, when I tested it last week on the client's computer, the patch won't work so I have to use that old but reliable Database Utility I have created to open the corrupted database and delete the last record which is often a blank one. After that the corrupted database is fixed.

It was yesterday when it came into my mind that probably the reason that UTILS can do these things was because it was compiled in VF6... and after a number of isolating-the-problem experimentation, I found out that the said theory was right. You see, when VF6 encounters a corrupted database, it still opens it during the use DatabaseName line but when you do the database manipulations such as Append Blank/Replace (Add) or Delete it generates an error. With Visual Foxpro 8... once it encounters a corrupted database, even in the start (use DatabaseName line), it generates an error at once.

However Visual Foxpro 8 still has an advantage, it displays the name of the corrupted database while VF6 just points to the line of code where the error occurs. Here are the exact lines:

VisualFoxpro 6

Fatal error: Exception code=C00000FD
Called from - line 6...
Called from - main line 2...

VisualFoxpro 8

Error loading file - record number 12. FRMPROFILE . Loading form or the data environment : Table 'f:\hra\communit.dbf' has become corrupted. The table will need to be repaired before using again.

Combining the strengths of both version, I created a small module patch in VF6, compiled it in .exe form and called it from the main VisualFoxpro 8 module using the ShellExecute API.

DECLARE INTEGER ShellExecute IN shell32.dll ;
         INTEGER hndWin, STRING cAction, STRING cFileName, ;
         STRING cParams, STRING cDir, INTEGER nShowWin

ShellExecute(0, 'open', 'FIX-0_545.exe', '', '', 1)

I'm still studying how the Flush+TableUpdate approach could also help solve this problem but for now I'm using the patch above and an auto backup feature that copies the database to a different folder every five hours.

I also added two features to that Database Utility application yesterday, a feature that saves the structure of the database and the indexes along with it which is useful for documentation and reference related things and a MERGE databases feature. It was a special addition since it was done with my little Angel on my lap playing with a diskette and a floppy drive while I'm doing it.
WildFire on 02:45 PM CST [ link ]

Saturday | May 15.2004

One of the ways I measure how busy I was for the past few days is by the number of unread rss feeds this reader of mine is getting. And with 128 feeds to monitor the pile is indeed that huge sometimes. Good thing I'm already over with that 'I-have-to-read-them-all' syndrome and with this rss reader, I can set them to remain there forever organized on folders so I can just return and scan things if time permits. That's a big IF these days but hopefully hopefully hopefully... in the future, I'll find some time.

It has been a really busy two weeks (nCount('busy', line) = nCount('busy', line) + 1), spanning to four visits on three different clients. The latest was yesterday (since it's already 2AM... again) where I have to install the Integrated Library System I'm working on for the past eight months to its third client. The school and the ambience of the place was nice which reminds me of my high school campus back in Davao, but it is the travel that was a little hard compared to the other client visits.

We have to wait for almost two hours for the FX Taxi to fill up before it decided to move its arse. That was quite a long two hours spent hoping that the humans passing that part of the place would have a same destination as mine or some family of ten would show up which would automatically fill that FX. It even come to a point where I was exercising mind control on some humans hoping I could make them ride the FX and fill the vehicle up so we can start moving. And another point where I was hoping Godzilla would appear out of nowhere.

Sometimes I wonder how some humans can tolerate systems that makes you wait doing nothing except exercise mind control and call on the gods of thunder and speed. How I wish in the future there will be a networked system that can make you monitor the departure and arrival of these vehicles even if you're at home so you can choose to watch a lame show in TV instead of doing nothing. For now the only thing I can do in line with that is to store in my photo-mem the frequency they use in their radio communication systems.

The travel back home was even harder, especially for qs who always come with me during client visits. Unlike me who can ride virtually any vehicle available in this country, qs can't ride some of them without having to protect her contact lens, her pearly white skin, her hair, her pair of levi's, shoes... to a name a few. These are the days we wished the old driver was still here and could accompany us on our client visits just like he used to.

Tomorrow's client visit was re-scheduled which means I can have more time to relax and do some blogs.

... and exercise this dormant mind control powers of mine hoping it would work the next time around.

» The rise of interface elegance in open source software
» Canon PowerShot S60
» Archaelogists claim discovery of the library of Alexandria
WildFire on 02:37 AM CST [ link ]

Friday | May 14.2004

Oh... this is great. VFP Automates
WildFire on 12:17 AM CST [ link ]

Thursday | May 13.2004

A new batch of Visual FoxPro 8.0 Samples and Visual Foxpro's May 2004 Letter from the Editor is out.
WildFire on 11:59 PM CST [ link ]

If you're a programmer/systems developer visiting one of your clients, be sure to program yourself and the tasks you would do there first. Plan. Scribble things on paper. Live up to your work. You can't consider yourself a programmer/developer creating systems and programs for somebody else's company when you yourself are not systematic and organized to begin with. It's like talking peace and having a rocket launcher on your shoulder, a combat knife on your left hand and hand grenades around your chest.

Simulate things. Create folders and dump all the databases and files there. See every possible problem... every possible 'hole'. Test on different OSes. I remember when I was creating the APIs for Project Sophieia, after doing and testing things I was jumping in joy... 'I have conquered API! I have conquered this API!'... only to be dragged down when I found out that such API won't work on Windows 2000. So I researched, tweaked and customized further, lose quite a number of sexy neurons and fats until it worked in all the units of the client's internet laboratory.

I was so delighted that I even offered to present it on the upper management of that client. It was too late when I realize that she's using Windows XP. Boom.

Test and test... and test once more. Acquire old PCs if you can and install different OSes. Dual boot if lResourcesShortage = T. This is one of those reasons why software development comes a little expensive compared to other things.

Be sure though that the product you are developing is worth it... and would stand the test of time and the fierceness of my fire-breathing pet dragon in case it comes within inches of your project.
WildFire on 11:44 PM CST [ link ]

Tuesday | May 11.2004

Here's a collaborative artwork between me and ShadowElement. Expect more variations in the weeks to come.
WildFire on 11:18 PM CST [ link ]

Monday | May 10.2004

Mike Gunderloy's Coder to Developer (from Joel Spolsky)

There’s something weird about software development, some mystical quality, that makes all kinds of people think they know how to do it.

WildFire on 12:43 PM CST [ link ]

Last Saturday, after two consecutive days of another batch of client visits, I found myself in a crowded mall with a three feet plant in my right hand. While others are carrying their shopping bags, new shirts, shoes or whatever thing they have decided to waste their money on, I was carrying a plant.

The feeling is weird and surreal that not even Tim Burton taking a hallucination steroid can portray it.

Anyway, the plant's not mine though I don't mind owning it after carrying it in that mall. I made a different purchase that day, which includes a brand new spankin' 80GB 7200 Seagate hard disk and one 128MB DDRAM which I am currently using in this PC.

I have moved my old WindowsME into the primary slave slot and installed WindowsXP on this new drive. While others might cringe and scream when they hear the word WindowsME, I on the other hand have only good things to say about it. It has been with me for almost two years and 20+ database projects. So it stays there as a primary slave disk so that I can simply switch drive slots in case, God forbid, something goes wrong with this WindowsXP of mine.

I haven't had a major crash while WindowsME was holding the steering wheel. The WindowsXPerience so far has been good though. Hope it remains that way until Microsoft releases the second service pack for Longhorn.
WildFire on 10:27 AM CST [ link ]

This CD rot thing is scary. So at three in the morning after compiling some database programs I spent some time randomly picking old CDRs and raising them up against the light looking for any signs of constellations and alien life forms.

So far this home-made Hubble hasn't found one. I can now sleep well.

I have had bad experiences with generic CDRs before and I have learned my lessons.

Importance(Data.Security + Media.Reliability) > CD.Price

This, my friend, is applicable in any constellation this universe holds.
WildFire on 10:16 AM CST [ link ]

Thursday | May 06.2004

Before today... make that yesterday, since it is already 2AM and I have just decided to call it a day in terms of database-related works, it was a consecutive three day client visits for me. It is quite a busy start for this week. And it will be busier in the days to come since I'm targeting to complete most of these projects by the end of May.

Haven't done much surfing lately too so I can't give you interesting links for now. What I do these days is copy the links that my RSSReader grabs for me and save this batch on an Excel file which I will later copy and paste inside HTTrack for some midnight-to-morning 'pulling'. So far I haven't read those articles yet.

I'm also planning to take some time to do some updates at pixelcatalyst.lair which I have been neglecting these days. PixelWorkz, the site from where pixelcatalyst.lair was derived will turn five years this 19th of May so probably I'd be uploading some stuff which I haven't had the time to upload for months already. These would include the artworks I submitted to DepthCore during last month's Submergence release and something related to the on going collaboration between me and ShadowElement. Add a batch of tutorials and some stock photos.

OK... this feed just came in: West Wind Html Help Builder 3.25 released.
WildFire on 02:25 AM CST [ link ]

Monday | May 03.2004

From the Editor: The Birth of a New Generation by David Stevenson. .NET Rocks! interviews DonXML.

Beware of sasser. Rumors claim that it can cause baldness and irritation of the skin. More info and helpful links here.
WildFire on 11:41 PM CST [ link ]

Sunday | May 02.2004

Random quickie-mind blobs.

  • If you can't afford to buy your dream house, create them in photoshop. Better... make them look edible.

  • PixelPalooza winners from Icon Factory. I have this 'thing' for desktop icons. I strongly believed they are ewoks or some other cuddly character from Star Wars before they were reborn in this era.

  • Who needs Albert Einstein and education when you can measure the speed of light using marshmallows..? Oh you can even eat the marshmallows after the experiment.

  • With Google Inc.'s S1 filing comes a lot of things. I won't even include a hyperlink this time. The news is everywhere in the 'net for the past few days. From news to analysis to estimates on how many machines Google is running to their quirks that makes you love Google even more.

  • Geek humor: If you take a close look at the form Google filed with the Securities and Exchange Commission, the exact value of its planned offering is $2,718,281,828 dollars, which some would immediately recognize as the mathematical constant e.

    E, for those not blessed with a Ph.D. and a job at Google, is Euler's number, which is used as the base for natural logarithms.

  • Fibonacci is everywhere. It's even in the pattern of Elmo's underwear.

  • The latest from mind control technology, eh? MY relationship with my pet pterodactyl uses a technology two steps ahead of this one. But I don't have any plans of sharing it for now. Besides I'm not sure if it is error-proof already. I haven't seen my pterodactyl for three months already. If you see one with a barcode in it's neck that reads '0987253251129' please be kind enough to inform me. Just be careful not to touch the mouth part... the pterodactyl's saliva is equivalent to superglue.

  • May 2004 issue of MSDN is out. It even has a downloadable .chm version.

  • Ever wondered why Microsoft settled with Sun? Well that at least is according to Tom Yager.

Hmmm... seriously, anyone have any ideas how to track that pterodactyl of mine?
WildFire on 05:24 PM CST [ link ]

Saturday | May 01.2004

It's about time someone wrote about the 'Insultingly Stupid Movie Physics'. But we can't deny these 'inconsistencies' are worth watching.
WildFire on 07:11 PM CST [ link ]

I think I need a pause button too.

In a different note, I was thinking about matters related to competition this afternoon. Something that deals about not being afraid of one, but instead using it as a means to improve yourself and your craft. I'll elaborate later. Right now I'm amazed at what coffee can do these days. There's even a can that could 'self chill'.

I'm looking forward to a drink that would teach my imaginary pet tiger to code in between meals.
WildFire on 06:48 PM CST [ link ]

Disclaimers are for castrated EARTHLINGS.
Powered: GREYMatter | GM-RSS







May 2004
October 2007
September 2007
March 2007
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
February 2004
May 2004
April 2004
June 2004
April 2004
March 2004
February 2004

Darn aliens. THEY kept on rebooting this site's counter.