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

Pervert පොසම් සහ හොර පොසම්

ඔස්ට්‍රේලියාවට වසන්ත ඍතුව එළෙඹෙන කාලය යි මේ. අපේ ගෙවත්තේ පිටුපස පීච් ගහම රෝස පාට මල්වලින් පිරිලා. හරියට මේ වගේ .... (img  commons.wikimedia.org ) තව පහු වෙනකොට ඔය පීච් ගහේ ගෙඩි එනවා ය. ඊට පස්සේ එව්වා අපිට රස බලන්න නම් හොර පොසම්ලා ට එරෙහිව යුද්ධ ප්‍රකාශ කරන්න වෙනවා ය! පොසම් කියන්නේ ඕස්ට්‍රේලියාවේ ඉන්න නිසාචර සතෙකි. හරියට ලංකාවේ වඳුරෝ වගේ උන්ගෙන් පලතුරු බේරගන්න බැරි ය. පොසම් එක්ක ඇයි හොඳයි කම් පටන් ගත්තේ ඉස්සර විශ්ව විද්‍යාල  යන කාලේ ඉඳන් ය. ඒ කාලේ මං හිටියේ තව කෙල්ලෝ දෙන්නෙක් එක්ක කාමර තුනේ ෆ්ලැට් එහෙක ය. ඒ ෆ්ලැට් එකේ නාන කාමරේ සිවිලිමට පොඩ්ඩක් යටින් ජනේලයක් විය. ඒ ජනේලේ fly-screen එකක් විය. එතන එළියේ පොඩි පඩියක් විය. අපි එතෙන්ට ගිය දවසේ ඉඳන් ජනේලේ ඇරලා ය. fly-screen එක තිබුණු නිසාත්, අපි හිටියේ උඩ තට්ටුවක නිසාත් අපි ඒ ජනේලේ වැසීම ගැන හිතුවේ නැත. ඔහොම ඉන්න අතරේ ඒ ඇරුණු ජනෙල් පියන සහ fly-screen එක අතර හිඩැසට තව පදිංචිකාරයෙක් ආවේය. ඌ ඇවිල්ලා පොසම් සතෙකි. සමහර විට ඌ ට අතේ ඇති ගානට කුලියට තැනක් හොයා ගන්න බැරි වෙන්න ඇති ය. එහෙම හිතලා අපි අපේ පාඩුවේ නාන කාමරේ වැඩ කටයුතු

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

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

පසුගිය සති කීපයකම නිරත වෙලා හිටිය වැඩක ප්‍රතිපල ඊයේ ලැබුණා. ඒ මගේ පර්යේෂණය සඳහා ඕනෑ උන 'ආචාර ධර්ම අවසරය' නැත්නම් ethics clearence එක ලැබීමයි. මගේ පර්යේෂණය මුලික වශයෙන් පරිගණක විද්‍යාව සහ මෘදුකාංග ඉංජිනේරු විෂයන් වලින් කෙරුනත්, මිනිසුන් ද සහභාගී කරවාගෙන කෙරෙන කොටසක් ඇති නිසා තමා මෙහෙම අවසරයක් ගන්ඩ උනේ. ටිකක් පැහැදිලි කරොත්, මේ පර්යේෂණයේ ප්‍රථිපලයක් වන මෘදුකාංග පද්ධතිය නිවැරදිව වැඩ කරනවාද නැද්ද කියන එක තහවුරු කරන්න එක විද්‍යාගාරයක කරලා බලල මදි (සහ කරන්න අමාරුයි). 'හැබෑ ලෝකයේ' එය වැඩ කරන හැටි බලන්ඩ ඕනේ. මගේ පර්යේෂණය 'ස්මාර්ට් තාක්ෂනය' නැත්නම්, කෘතිම බුද්ධිය සහිත ගෘහස්ත පද්ධතියක් (smart home) සම්බන්ධයෙන්. වෙනත් මෘදුකාංග වලට වඩා මේ වගේ පද්ධතියක් හදන කොට ගොඩක්ම සැලකිලිමත් වෙන්න ඕනේ මිනිස්සු මෙහෙම තාක්ෂනෙකට කොහොම ප්‍රතිචාර දක්වයිද කියලා.  හිතන්න, ඔයාලගේ ගෙදරත් කෘතිම බුද්ධියක් නැත්නම් 'ස්මාර්ට්' පද්ධතියක් හයි කරලා කියලා. මේ වගේ පද්ධති වල අරමුණ මිනිසුන්ගේ ජීවිතය පහසු කරන එක. උදාහරණයකට ඔන්න ඔයාගේ 'බුද්ධිමත් ගෙදර' ලව්වා ඔයාට පුළුවන් වෙලාවට ලයිට් දාන