Changing Compilers

September 16th, 2006 in Coding - No Comments

I updated my archaic DevC++ installation today — and holy of holies, I couldn’t compile something I was working on. I decided to try out a “Hello World” program, but I still couldn’t compile. I was beginning to think the problem was from several installations I made recently so I uninstalled them — the errors thrown only changed.

I shutdown XP and booted to Vista, installing the DevC++ compiler again, and facing the same errors. Some simple research on the net told me I wasn’t the only one having DevC+ woes. Thanks to Google, I discovered Codeblocks but the MingW/GCC compiler still threw a lot of nonsense errors. I’m currently using the Digital Mars compiler and it works well.

I know I could use it with DevC++, but talk of falling in love with an IDE — Codeblocks rules for now.

SQLite

September 12th, 2006 in Coding - No Comments

I was just going over something today ans came across SQLite. Nope — it’s not that I just discovered it — I mean, I initially planned to start using it way back since last year, but I obviously needed a book to remind me that it existed.

I’m working on a lightweight database abstraction layer [now you’d ask me ‘what for?’] for Authware, and I think I’m going to use SQLite for my local installation — at least just to get a feel of things. Currently, I’m working with PostgreSQL and MySQL without any incidents. PHP5 rocks — I can’t imagine how much code I had to write when PHP 4 was still the ‘in thing.’

Anyway, things are looking good. I see a dangerous, sharp curve ahead but I’ll deal with that when I get to it.

Back to SQLite. I haven’t tested its performance yet, but I’m still wondering if the single-file databases won’t be a problem — we writers sure can come up with a lot of junk when we choose to. Face it, I hate writing functions in MySQL — but I’m already in love with sqlite_create_function() and sqlite_create_aggregate()… even without having ever used them :D.

ExamDirect, Authware

August 27th, 2006 in Coding - No Comments

With little to do to keep me busy, I think the time has come for me to overhaul two scripts I wrote. I installed a development wiki but haven’t done anything worth putting up there.

I’ve already come up with a design for Authware — I’ll be posting it on my writing site when I’m done with it. For now, I’m still planning my code architecture. The plan is to have nearly nearly every function callback a series of functions if a plugin has registered its functions as executing before or after, or replacing another function. Of course, the core ones won’t be subject to this rule. I’ll be dumping all my classes except my Db abstraction layer. I intend to test for SQL Server 2005, MySQL and PostgreSQL.

I’ll also be modifying ExamDirect and giving it a new name — what it’s going to be, I don’t know. My ‘oga’ back at CAD Consulting hasn’t contacted me for a long time — I suppose he’s still battling Michelin. I think Examdirect will be released as a commercial-grade piece. There are a lot of security holes in the current implementation and the design is horrible because I lifted it directly from the MTN site. Well, I’ll be doing a very clean rewrite as well as redesign to get something very uncluttered and accessible. My outlook on design, PHP security and AJAX have changed within the past few days.

Hopefully, these two projects should keep me busy for the next few months or so.

Is PHP Dead?

July 22nd, 2006 in Coding, General - 1 Comment

I’ve had some people try to pull me onto the RoR train in the past, saying it’s the hottest thing around. Others have pointed Flex as the way forward. I’m just not so sure about things anymore.

Trust me, I’ve worked with the .NET framework both in and out of the web context and the problems it has is the ‘one model fits all’ theory as does Java. I haven’t explored Ruby on Rails or Flex yet. PHP was designed from the ground up with scalability in all directions guaranteed, and I daresay it’s been rewarding. Of course, there are a myriad of security risks when PHP’s put in the wrong hands but they’re worth it. A chainsaw can be used to cut down a tree for wood or to saw off necks, but it’s still a tool — what matters is if it does the job well.

The lack of patterns and a few other features such as no namespace support and inconsistent function names have been criticized in PHP, but I think what matters is that you can implement whatever feature you feel has been left out, in your own way.

I haven’t been able to do any coding for a while but I’ll be moving to Cake soon. Here’s a post from someone who thinks the way I do.

I guess I’m an old stick-in-the-mud, but when the time comes to move on to some new language, I’ll be up for it, however much nostalgia I feel for PHP. Let’s hope PHP 6 gives the other web wannabes a good run.

XSLT Transformations

May 24th, 2006 in Coding - 1 Comment

This is something I’ve never tried before. Something told me to make my RSS 2.0 feed readable.

Since I’ve never formatted XML with anystylesheet before, I decided to try my hand at using CSS for my formatting. It was rather dull 😉 so I jumped to the dreaded XSL method — something I ran away from when I tried to learn everything XML.

To my surprise [and delight], it was a piece of cake. I’ve added a line of code to the files responsible for generating the RSS 2.0 and Comments (RSS 2.0) feeds, since more people use RSS 2 than Atom.

Hopefully, it’ll be easier to view from the browser :D.

AJAX Conquered

May 14th, 2006 in Coding - No Comments

I knew I was going to find a way out of the IE mess. A little skeptical about what I’d be able to find, I Googled reusing xmlhttprequest objects in ie and hit the jackpot on the first try. Here’s the solution, which I got from Pavan Keely’s blog.

Currently, my custom AJAX class works perfectly. The annoying aspect of my search was that Microsoft didn’t have anything on it — in fact, their documentation has been upgraded for IE 7 (which sports the same window.XMLHttpRequest object as Firefox).

Hopefully, as more and more developers move towards Web 2.0, the browsers will cooperate more and more. I know Firefox lifted the window.ActiveXObject(‘XMLHTTP’) concept from IE and made it into one of the core objects of the browser, but it’s still good. I’m impressed by Microsoft’s humility of late.

AJAX Nuances

May 12th, 2006 in Coding - No Comments

I got a book on Ajax (Ajax in Action) some centuries ago (January) and lifted the custom class Eric Pascarello et al used. I discovered I didn’t like their logic very much and decided to write mine to make use of just one XMLHttpRequest object.

That was when I ran into a very annoying snag — IE (the most annoying browser on earth — try viewing the bottom of this page in IE). Internet Explorer, simply put, allowed me to make only one call with the Microsoft.ActiveXObject(‘XMLHTTP’) object, just once — after that, all calls failed to fire.

I tried every which way, because my previous model of ExamDirect created a new object per request in both IE and Firefox — which led to increasing memory. If I hadn’t used reusable DOM nodes, I’d have been a goner in terms of memory management. Now, I really am stumped, with no single idea how to work around it.

I’m sure I’ll be able to come up with something very soon, however.

Impatience

April 23rd, 2006 in Coding - 6 Comments

I must be the most impatient creature on the surface of this earth — especially when it comes to learning. Everytime I learn something, I’m tempted to move directly to what interests me — not the preliminaries.

C++ is the classic example. I’ve gone back to it and I’m trying not to give in to the pressure making me to skip certain chapters. I’m playing with vectors and class operators presently and I daresay it’s super.

In ten days — I have some other things doing — I should be moving to Win32 or OpenGL programming — whichever catches my fancy. I hope I don’t let my impatience ruin/rule me this time.

MTN Clone

April 5th, 2006 in Coding, Design - 2 Comments

I was recently told by my former boss from CADS Consulting to collaborate with him on an educational project he got. He’s new to PHP and wants to make a PHP version of what he has already [we wrote it together in Asp.NET].

The project is sponsored by MTN Nigeria so I had to come up with a suitable clone that displays similarly across all browsers [they’re deploying on Linux].

I think I’ve done beautifully and for once commend myself on my work. I intend to make it an Ajax system for speed. Since it supports themes, I made the theme structure very very similar — it just switches a particular stylesheet for colours.

Internet Explorer as usual has a bug — the bottom background of the page doesn’t change (except you minimise the window and restore it). I wish someone would give Microsoft a lesson in browser design.

The current prototype (just design) can be found at the Demo page. You can change the theme by using the dropdown list on the left. I have another minor problem — the MTN Logo doesn’t fit well with the green and blue backgrounds. I also haven’t added Previous, Next and Bookmark buttons on the left.

The menus, like all menus I use are pure css (IE needs a little javascript jogging to make them work unlike all other browsers) — it’s made up of lists so unlike the ones on the MTN site, it is search-engine-crawlable.

Simplicity

February 1st, 2006 in Coding - No Comments

I’ve been very hush-hush about this but there’s this web project I intend to start – it’s called Simplicity. I’m going to be writing in Asp.NET but just for the fun of it I’ll write a PHP version when I’m through.

If anything, Simplicity is going to be anything but simple. I’m using plenty of Ajax – which I don’t know one bit about. I ordered a book on Ajax from Amazon and I’m contemplating orderig one about Web Sevices. The thing is, I’m running out of my supply of cash – and I haven’t gotten a job yet. I don’t want to go beyond a certain level – I’ve spent only four weeks here and I’ve spent more than $1000 and my budget isn’t helping any. I intend to buy a laptop and more programming books within three weeks. I hope it works out.

Back to Simplicity – the main thing keeping me away from using PHP at this time is the handling of web server controls. I intend to write a library later that handles that but that’s not my concern now.

The obvious problem I have is themeing. I had that problem with the Asp.NET AuthWare version. I had to use dozens and dozens of repeaters – I mean, it’s not funny.

My current solution currently is to write a web control library that picks certain templates from a database and displays it according to “rules”. I hope it works – do you have any
ideas?