Category Archives: rant post

The Solvers Manifesto

The Solver Manifesto shows our dilemma, as a web developer, probably not much to the backend developer, or system developer. But definitely web developer, which is a big chunk of software development jobs.

We are not engineer, we are not paid as much as an Expert, and we don’t get respected like a artist. Yet, we hired because we knows how to program, yet we have to make things nice. And yet, our opinion is not respected. Even when technicians fixing stuff, nobody question how they do it. Not for us.

p.s yes Yet Another Rant Post

A little misadventure with django and database

** this could be long**

It is almost the end of my project now, along the way, found a misadventure with quite number of stuff. Which included Django ORM. What is not to love for a ORM, it make a nicer abstraction to wring program that need to talk to db. Making us, to worry less about sql. Using django ORM with south, it make refactoring database a lot easier.

Well in my current job. The concept of using ORM is pretty new in the company(from what I see). So the projects they done is done like pre-ORM days. Writing SQL, doing select etc. For a person that is used to ORM, I am thinking like “Really?”. So the way they do things is obviously very different, and this with Django’s ORM, not a pretty sight.

For example, when integrating with other project. The expectation is, from a temp table that stores information from the other DB then write a INSERT statement, and push it to the target table. I was like again thinking “Really? They really did that?”, especially the target table is huge.

And of course, in Django, I pretty used to have foreign key to reference to another models(table), which I have a few. And because I use django south, so that I can refactor the database from time to time. The order of the column is weird. Not to mention that the idea of a ORM is to make it look like a object, in my case python object, so I used to use boolean type, which from other table, uses char. So I imagine create a INSERT statement with a few SELECT, and map the variable properly. Pretty scary to me. I ends up writing a python script that uses the ORM to do it.

For the temp table, that contains info from the program i need to integrate with. It tend to be created by hand, because it make the existing script to export the table to sane. So have to create a unmanaged table. So django don’t create the same table. Which I found, that for that particular case, I can’t create a django fixtures for that models without losing data. Which I still investigating. In the end of the day, I just do a sql dump, just in case.

Also, as we build the application, the team is expecting a totally different behavior for Django queryset API. When in SQL, when you can’t just delete a table that have another table reference to it. Django queryset don’t seems to care, and will delete it anyway. So that is causing issue in a way that, we have to add checking before the user can delete anything in the application.

Talk about deletion, django ORM added constraints on column that refer to another table as they create the table. So manually delete and insert via SQL is a pain. But it is always faster to do that!!! Because the queryset API can be slow. And sometime they have quite a number of magic that scares me sometime and sometime bites.(or maybe I just need to understand it more).

After all these misadventure. I just realized, you can’t just drop a database guy can get them to use ORM. because the workflow is totally different. The technology is different. Everybody need agree that approach, or properly planned it. Actually I am not sure. But what is sure, mix of ORM and non-ORM approach can be a mess.

End of The Year Post: Environment Change

**Random Rant Alert**

The big thing that happens around the year is a change of environment. Changing from working in a cubicle to working at home, it is pretty, liberating.

This is due to the fact that I actually quit my job. Which a reason to feel good. For some reason I don’t seems to match in the environment. Not to say that I learned nothing. There is some lesson I can applied from working in legacy software.

But currently my job don’t seems like a job anymore. It is more like playing around with codes. And unlike the bank, I have finally goes to a environment that I familiar with, aka linux, with a programming language that is a fun to use(compare to what I use in the bank anyway). aka Python.

It is a good thing, a good that that I am now in a environment that I can learn, and play at the same time. A environment that is never boring. and full of challenges. A dynamic environment is probably good for me. This is different from the bank. A price of being safe for the business.

I actually begin to wonder whether this is a good thing. For some reason I don’t think I can join the local software company, until I do the current project of mine.

The story of Bad Browser, Botched patch, and software Conflict also DRM!!!!

I have a confession to make…….
I am a gamer. I like games, and actually spent cash to get legal copy, to “support” the industry. And for certain game, it is worth it. Like most commercial games, it runs windows, and require proprietary software like IE and Windows, to work.

Of course, what happens in the last few days is this. I bought Spore Galactic Adventure, and it requires me in apply certain patch. Which breaks the game.

Actually that is just the beginning, turns out that the updater need to run with IE, which is a bad thing, IE 8 on my desktop, can run flash, but everytime I restarted, it requires me, to reinstall flash again. And the updater from EA, need IE to run!!!
Just embrace the defacto standard already!!!!

Along the way, I try to update the driver from ATI. First it turns out that, it conflicted with visual studio express I install long time back, from microsoft. I have to remove the visual studio express, old version to install driver. The solution is not even obvious!!! I think it is really crazy, that this happens.

Then finally, my brother want to borrow Red Alert 3 from me, to borrow his friend. Then I can’t give it, because it is copy protected(OK, I want to play it). So now I still trying to explain copy protection……The fact you cannot share stuff is really counter intuitive..

Maybe it just me not getting used to windows, or this guys really sucks in term of quality. I mean, it is strange enough that driver don’t update itself. Old installation of visual studio affect software installation? IE that don’t play nice with anything……..

Job Hunt aka I’m Lost Edition

So I’m searching for a job, trying to find a job as a programmer. Preferably python, java(very rusty), probably php(not too fond of doing it, i can live with it) too

One interesting notes here is, there is quite a number of .net or vb job on job board that I found, with some java and php. Was hoping to find job on python. No luck there. Probably I should comes out with a statistic of this.

Comes a realization, I begin to wonder, should I just master a language because of a job, or I just master it for fun? Or rather, should I master a fun language, or master a language with more job opening?

In reality I’m pretty lost. And indirect pressure from family really sucks……

BTW, I’m ready to be hired. I know python, and django. I can do some java too, albeit very very rusty…

Leaving Jurassic Park aka Scope International

Today will be my last day at work.

Finally I’m able to say, good bye to the Dinosaurs in my work. Tech Dinosaurs and other Dinosaurs. So long to cobol, bye-bye mainframe. Nice to meeting you all, probably this will be the last meeting. You all will (NOT) be missed.

Honestly Cobol, I really cannot stand you have only Global Variable, not to mention horrible syntax. Who On Earth still use “move data into variable” in their code or have a full sentence as a loop like “perform x until y is equal to z”.

Mainframe(System-Z), you’re a strong guy. But really having to run program via batch is pretty crazy. And you suck at giving me place to write script. Suck at automation!!! What On Earth is the 8 Character limit. JCL is use in batch, but WTF with the syntax!!!
Maybe one thing I really say goodbye to. Is probably bad working culture, and over specialize in a software package, instead of fundamentals. Or probably working in something I am not passionate on. Or being treated like a robot…

Technical speaking, there is still thing that I can bring back. REXX is one, it is promising as my other scripting language, with port on linux and windows, and with special features such as integrating os utils as part of language. That I can use.

Others is experience involve in a role in maintaining large software, probably even testing itself. Rather how not to screw up, hard. And understood that it is really a pain to use a legacy apps. And needs of automation.

Really I learn how to please your subordinate from my line manager. And contact of my lunch buddies.

Really I wish to say goodbye to someone, but i leave the idea off. Hopefully it should not be long for me to forget about her. As I have tonnes to work on.

Hate to fix PC other that my own…..

The problem of being a person that “knows” computer, is that. People just expect you to just fix the computer.

It is a problem especially for Asian, because it is rude to say NO. If it is not bad enough:

  1. We might not have extra stuff, like keyboard, monitor, etc. We actually rely on google too, so we need the extra gears
  2. They just assume it is easy to us
  3. They just assume we have windows disk, which I don’t. Worst IT IS ILLEGAL TO SHARE.

How we can fix it.

  1. Force computer literacy to people. I hate to listen to people saying they don’t need to know. If they know the basic of fixing car, what stop them, from learning the basic of computer.
  2. Give open source software to people, until proprietary software is more stable, and more affordable. Then problem will happen.
  3. If they are going to send computer for us to fix. Bring the WHOLE THING. Stop just bringing just the casing minus the keyboard and stuff.

Just a thought, just a rant…

screwed up internet in malaysia

I rediscovered miro, like last. Which is a very cool open source apps, that subscribe to video feeds, and download it for our viewing features.

But of course, there is one problem. The thing is there is plenty of interesting stuff to watch, from feed from Revision3, Discovery, Make, TED, etc. And really the video is not small. Quite a number of it is around > 100 megabyte. And because I only have time on weekends, so I do it in  batch.

That’s where problem comes. You see, TMNET, is giving substandard service, worst we still stuck with slow speed, around 100 Kilobyte. So it could take me like half a day to download it. And last time, I use maxis 3g, it gives Bandwitdh limit of 3gig. My download already taken half of it already.

I mean seriously, it is about time, for someone to actually fix the ISP or network malaysia. I mean, with many (legal)content online. With organization actually provide online videos. We cannot keeping thinking that 1 megabit is enough, it is not. And we cannot actually 3gigabyte limit is enough for everyone.

With the number of media, online, it probably not enough, for most people. This is not the 90’s where people just use the web for emails, and searching. Videos is online, song is online, software is online, finally even documents is online, etc.

Really I am just sick of have to wait for the whole day just to finish a video.

Migrate feedburner to google. FAIL!!!!!!

Sometime, it just nice that if I am able to consolidate some of my service together. I got too much. I mean, I have friendster, facebook, multiply, hotmail, yahoo, feedburner…………………….

Too much, sometime, I just need consolidate when I have a chance, an example is, feedburner. Turn out that, I can migrate feeds from feedburner to google account. Which is good, one less password to remember, is definitely a good thing.

Unfortunately, it didn’t work!!!! I can’t get it work. I wonder why. I give the correct password. And username.

So for now I can forget have adsense for feed for now.

p.s I have adsense in this blog now. In the current economic condition. Wish that it would give me some extra much needed cash. Most probably an epic fail anyway.