Skip to main content

A mild case of developer mentality

Its that time of a project again... The time when all (almost) the functionalities have been developed but not properly tested. Those frantic last days of development just before the release are - thankfully - over. No more late nights or working on weekends.
The time has come - for bug fixing :(

For me, there are two kinds of bugs that I really hate.

The first kind of bugs are those annoying UI related ones. Like the tabbing doesn't work. Or some cell renderer wont paint what we want it to paint. Or theres a bug for changing the background colour and its marked 'Critical' (???)

When a red blooded developer gets these kind of bugs we just want to roll our eyes and smirk. Oh come on, we think. Why can't they just click it if loses focus? Why can't they just press F5? Why cant they just use the bloody scroll bar? Why can't they just use their heads? Why why why?
Well the truth is, we're just being a little narrow minded. Maybe we've managed to design a nifty searching algo that's super fast and thread safe and does sql so efficiently that even the db wont know its being quried.
But maybe that search is only used in actual scenarios once every month and by very limited number of users, so that it being super duper isnt really that big a deal. Whereas that little bug that seems so silly to me, the one about the panel size - well maybe to a user that's really important. :)
Remember that time you went to buy a watch with a pale pink leather strap and the stupid sales person was trying to make you buy some thing that worked at 60 feet underwater?... Exactly! :D


The second scary bug type is the kind that are reported by QAs and take hours to reproduce. And they only gets reproduced in certain kinds of databases, in certain kinds of machines.

The steps to recreating one of these might go like:
  1. Log in as user Johnny
  2. Click A
  3. Open B
  4. Save
  5. Open saved B
  6. Log out without quitting
  7. Log in as user Bonnie
  8. Lock the computer and go out for an ice cream
  9. First order a mint with chocolate chips
  10. When the guy at the shop is about to take a scoop of Mint, scream 'STOP'
  11. Change your order and ask for Butterscotch
  12. At the counter, pretend that you haven't got any money.
  13. Spend exactly 14 minutes searching your handbag for money and then suddenly pull out cash from your pocket
  14. Pay and leave.
  15. Come back to office and unlock
  16. Try to log in again
  17. System crashed.
Oh the horror of it.

It seems to me that QAs and developers have entirely two different attitudes. QAing is basically based on pessimism while developing is based on optimism. I mean we just build something, deploy it and then put our hands together (literaly) and pray 'Please work!' QAs on the other hand would run the app, smile evilly, say 'Please crash' and it does.

Anyway this is just a random ramble of course...I'm afraid I dont have some 'ruvan vaki' thats supposed to inspire everyone at the end. :) I can't really do 'ruvan vaki' ATM. Not with 20+ issues on my list :(

Comments

  1. LOL.. i think im gnna like reading this blog.. :)

    ReplyDelete
  2. Arggh those darn bugs :( One of the main reasons I got sick of Dev.

    ...and lousy clients who wants to change everything just before your ready to launch

    ... and more lousy PM's who agree to those changes

    ... and so it goes....

    So I jumped to UI, and now as long as everything looks the same on FF and IE, everyone's a happy bunny :)

    Dev is fun as long as you don't do it as a job he he :)

    ReplyDelete
  3. glad i didn't choose IT...
    anyways nice blog... like your style...

    ReplyDelete
  4. @Gehan : hey thanks!
    @Azrael : hehe so ure one those pesky UI guys who order us poor devs to make rainbow coloured GUIs :D
    @DRG : ohh well its not all bad - ITs pretty fun sometimes :) & thanks!

    ReplyDelete

Post a Comment

Popular posts from this blog

Bluetooth support on Android Emulator

I have been playing around with Android lately, and one thing that annoyed me is the emulator does not support Bluetooth (as opposed to J2ME emulator, which does).
So if you do not have an actual Android device (like me), and you want to do Bluetooth/WiFi programming, you run in to a problem.

Fortunately, there is a way out - Install the Android image on a VM and use your own Bluetooth device. This is what I did:
Download Androidx86 from http://www.android-x86.org/. This is an .iso file, so you'd need something like VMWare or VirtualBox to run it. Me, I use VirtualBox.
When creating the virtual machine, you need to set the type of guest OS as Linux instead of Other.
After creating the virtual machine, set the network adapter to 'Bridged'.Start the VM and select 'Live CD VESA' at boot.Now you need to find out the ip of this VM. Go to terminal in VM (use Alt+F1 & Alt+F7 to toggle) and use the netcfg command to find this.Now you need open a command prompt and go to …

පරණ අවුරුද්දේ අන්තිම POST එක

පරණ අවුරුද්දේ අන්තිම පැය ටිකනේ දැන් මේ ගෙවෙන්නේ. ඉතින් අන්තිම පොස්ට් එක සිංහලෙන් ලියන්න හිතුනා..
හ්ම්ම්..අද නම් මං අපරාදෙ කියන්නැතිව බහු ජන හිතාය වැඩ ගොඩක් කළා.. ඒ කිව්වේ අවුරුදු කෑමක් හැදුවා - සාලෙ මොප් කළා - පහන පොලිෂ් කළා ...ආ තව අසල්වාසීන්ට කැවිලි පිඟං අරන් ගියා...මගේ කාමරේ අස් කරා (- ඒක ඉතින් බහු ජන නෙවෙයි නෙ - මට විතරයි නෙ :D )

ඉස්සෙල්ලම කියන්නම් හදපු කෑම ගැන - හැදුවෙ බිබික්කම් හෙවත් පොල් කේක් හෙවත් පෝරං ආප්ප (කැමති එකක් කියාගන්න. අම්බලංගොඩ පැත්තෙ බිබික්කං කියනවා, පානදුරේ පෝරං ආප්ප, කොළඹ පොල් කේක් --- හ්ම්ම් පැටලුනාද මන්ද කොහොම හරි මං ඔය පළාත් තුනේම ඒව කියනව. අසන්නෝ සිහි බුද්ධියෙන් අසත්වා )

ඒක හදන්න හරී ලේසියි. අමාරු පොල් ගාන එක විතරයි :) පැණි සීනි ලිප තියලා ඒක පත් පැණි වෙන කොට පොල් සහ කැන්ඩීඩ් පීල් දාන්න යි තියෙන්නෙ. හැබැයි පත් පැණි සීන් එක නම් ටිකක් සංකීර්ණ්යි. ඒක බලන්න ගිහින් ඇඟිල්ලත් පිච්චුනා :(
මට මේ පාර කැන්ඩීඩ් පීල් හොයාගන්න බැරිඋනා :( අපරාදෙ කියන්න බෑ පුනර්ජීවනයේ නගරයේ නම් කේක් බඩු ගන්න නියම තැනක් තියෙනවා. මැරවින් ගේ අඩවියේ නැද්ද මන්ද.
ඉතින් මං මෝඩය වගේ ඉස්සෙල්ලම පොල් පැණි මි…

පර්යේෂණ සහ ආචාර ධර්ම අවසරය

පසුගිය සති කීපයකම නිරත වෙලා හිටිය වැඩක ප්‍රතිපල ඊයේ ලැබුණා. ඒ මගේ පර්යේෂණය සඳහා ඕනෑ උන 'ආචාර ධර්ම අවසරය' නැත්නම් ethics clearence එක ලැබීමයි.

මගේ පර්යේෂණය මුලික වශයෙන් පරිගණක විද්‍යාව සහ මෘදුකාංග ඉංජිනේරු විෂයන් වලින් කෙරුනත්, මිනිසුන් ද සහභාගී කරවාගෙන කෙරෙන කොටසක් ඇති නිසා තමා මෙහෙම අවසරයක් ගන්ඩ උනේ.

ටිකක් පැහැදිලි කරොත්, මේ පර්යේෂණයේ ප්‍රථිපලයක් වන මෘදුකාංග පද්ධතිය නිවැරදිව වැඩ කරනවාද නැද්ද කියන එක තහවුරු කරන්න එක විද්‍යාගාරයක කරලා බලල මදි (සහ කරන්න අමාරුයි). 'හැබෑ ලෝකයේ' එය වැඩ කරන හැටි බලන්ඩ ඕනේ.

මගේ පර්යේෂණය 'ස්මාර්ට් තාක්ෂනය' නැත්නම්, කෘතිම බුද්ධිය සහිත ගෘහස්ත පද්ධතියක් (smart home) සම්බන්ධයෙන්. වෙනත් මෘදුකාංග වලට වඩා මේ වගේ පද්ධතියක් හදන කොට ගොඩක්ම සැලකිලිමත් වෙන්න ඕනේ මිනිස්සු මෙහෙම තාක්ෂනෙකට කොහොම ප්‍රතිචාර දක්වයිද කියලා. 
හිතන්න, ඔයාලගේ ගෙදරත් කෘතිම බුද්ධියක් නැත්නම් 'ස්මාර්ට්' පද්ධතියක් හයි කරලා කියලා. මේ වගේ පද්ධති වල අරමුණ මිනිසුන්ගේ ජීවිතය පහසු කරන එක. උදාහරණයකට ඔන්න ඔයාගේ 'බුද්ධිමත් ගෙදර' ලව්වා ඔයාට පුළුවන් වෙලාවට ලයිට් දාන්න/නිවන්න, …