My work life is a hobby
Guess what! Well, I never explained to my lovely readers the nature of what I do at work. Well, simple. I am the computer programmer. I make web applications. Very fancy dynamic websites that not only look good, but they function well!
I wonder how much my bosses will sell those custom modules for!
Anyways, I am working on implementing a community right now. The part I have been working on is the simplest part. Guess what I am implementing from scratch? Yep, you guessed it! I am creating a blog!
How did my hobby become my life?
I thought writing in a blog was fun, but try creating one from scratch. I should work for WordPress.org. Seriously, also, I do all that fancy quick interface stuff like Facebook dynamic visual craziness. I am slowly becoming a Javascript and Ajax guru. Maybe Yahoo or Google can hire me later in life!
I feel like I am still behind, and I need more time to mature as a computer programmer.
On a side note, I need to seriously get the new module or feature I have been eying installed and ready to go on my site. I couldn’t the past weekend because the stupid thing I downloaded wouldn’t work with my template. Argh!! I hate hate hate editing someone else’s awful code. It’s like my worst nightmare!
Blah Blah, Geeky, Programming, Random Thoughts, Ranting as usual!, Sleepy Post, Whatever!




Well you are a blossoming flower in the IT industry… Keep at it! I see a noble peace prize for IT entrepreneur coming Mona’s way!
Hahaha. I never heard of such a thing.. but why not!! Maybe I can get an award for something crazy I will do for the internet world!
Let me guess … no comments, long methods/functions, lots of global variables, no encapsulation, strange esoteric designs, no unit tests, et cetera?!
Exactally!!! Worst is having multiple files to load one page! And you have no idea where each function is located!! Maybe some in the .js files, and others in some weird ass files with weird ass extensions that have nothing to do with the scripting language. I think that the majority of programmers out there have no formal education in the computer field.
$mona = new programmer( _PHP );
$mona->modify_code( $someone_else_code);
$mona->quit();
Ha Ha …
@Meyrick Kirby
lol. No encapsulation? Global variables? Is that even supported in Java? I’m pretty sure it isn’t! You can’t even write free-form code at all in Java. And C++ without object orientation is called C language
@Mona
I agree with you about working with other people’s code. That’s why I never do! Even when somebody tells me to, I just rewrite it from scratch if it’s practical, and if it’s not I package all their junk into an external resource and just make calls to it as necessary. I’d rather get fired than try to play mix and match with my code and somebody else’s, unless they had a style that was very similar to my own! Luckily, I haven’t gotten fired yet for my resistance to complying with the “reusable code” mantra yet!
@Meyrick Kirby
And at least in Java you don’t get to experience the joys of pointers! Or so they say! But it’s really a lie that there are no pointers in Java, since everything in Java is accessed via pointers! But if you haven’t had to navigate at least 5 levels of pointers to find the actual code that you are accessing, you haven’t seen confusing code yet. And that’s one thing people love to do even when they are following the rules of object orientation.
@Craig
Classes without encapsulated variables are possible in Java, as are global variables, although both are a big no-no … unless of course you hate your employer
@Meyrick Kirby
I knew you were going to say that! Real global variables are not possible in Java, but you can give variables global scope by creating a class that has nothing but your variables in it, and declaring those variables static. But that’s not a violation of object oriented design principals! Global variables are just that… variables that are defined at a global level and can be used directly by simply typing the dataname anywhere in your project.
@Craig
Well, Java has references, which behave a bit like C++ pointers in some respects, and like C++ references in other respects.
For instance, a Java reference can be made to reference a different object, just like a C++ pointer can, but a C++ reference can’t.
However, code that uses a Java reference directly uses the object, just as code using a C++ reference does. Code using a C++ the pointer must de-reference the pointer to get to the object.
@Craig
For all practical purposes, I don’t think there’s much difference between:
myGlobalVariable = 10;
and
MyClass.myGlobalVariable = 10;
They’re both big no-no.
@Meyrick Kirby
@Craig
can you two stop arguing about coding languages? I will start deleting your comments! You two get carried away too much. Why don’t you email each other instead! This is a blog and not a forum. Please!
@Mona
What kind of programmer are you? :pirate:
@Meyrick Kirby
Do you want to be on my spam list? Just a click of a button.
@Mona
Infringing my right to freedom of speech
@Meyrick Kirby
You miss my point, Meyrick. When you instantiate an object from the “Swing” (you like those as I recall!) component classes in Java, you aren’t really instantiating an object at all. You are declaring a pointer to the object. That object is actually written in C++ and exists inside the JVM, not in your application. This is required because of Java architecture where all the code that actually does the work is external and is loaded into memory from the JVM at runtime.
Code using a C++ the pointer must de-reference the pointer to get to the object.
I don’t even know what you are trying to say there! Do you?
If I’ve go a pointer to an object called javaSucks all I have to do to access it’s members is use “->” instead of “.”
Example:
suckageLevel = javaSucks->getHowMuch();
If it was an object of type JavaSucks, I would do this:
suckageLevel = javaSucks.getHowMuch();
Trust me on this one, I mastered the fine art of passing pointers to my own objects from class to class (because I like cheating a lot!), a very long time ago!
@Mona
Yes! Sorry! No more programming comments from me! But this post was about programming! Waaaahhhh….
See, this is why there’s no free press in the middle east … wow, that was vicious, even by my standards
So anyway! The real surprise is that LL Cool J turns out to be a pretty good actor! Who knew!?
I was interested in what you were up to. It seems like your job is so similar to what you would do at home anyway. Nice to get out of the house, get respect for your work, and most of all get paid for it all!
@Craig
@Meyrick Kirby
It’s not that. When you two go off into a long programming debate, no one else comments or bothers anymore. This post is about my work life and me enjoying it. It’s not arguing about which language I prefer.
As for free press, I am an Arab. I have the inherited gene of dictatorship. I can’t help it.
SO NO MORE!! :vangry:
@Leeroy Glinchy
Exacatly!!!!! :pirate:
C#.NET is not the best but i’m in love with it! Like I’m in love with you, Mona hehehe :pirate:
It sounds like u love yr job mona n thats really good :up: i wish my job was my hobby lol
@Hudaman
Ummm.. ok..
@Charlie
Hehehe.. maybe one day it will be!
Hi Mona this is my first time to comment actually may be because I’m like you my work is my hobby as I’m also php and java developer about how much bosses get from our work they get much much I think our wages is nothing to what they have that’s why a lot of people turned into entrepreneurs so do I and I think you should take that way and it’s taken step by step.
About modifying others code I know that it’s a nightmare to some people but you can’t deny that it’s possible in the industry and I did that a lot I used zend studio and eclipse so I can search in the source code and reach what I want to reach because having this done without will be the true nightmare.
I love your blog so much and your thoughts and although I’m living in Egypt I believe in such ideas..society is changing
and I really like the idea that we are having the same name
@Mona
Hahaha.. you confused me there for a second. I suggest you sign up with gravatar.com and get your picture up.. cuz it is confusing!!
As for being an entrepreneur, well, not yet.. For now I am satisfied with having a job and seeing people!
Oh no, 2 Monas
Now that is funny…
AJAX! It’s what I need to learn right now otherwise my career is dead in the water. Mona, as a man with no formal training whatsoever, would you kindly recommend the best way to learn Ajax?
@Ahmed Masri
Learn the basic of Javascript first and how to dynamically alter websites. Once you do, the res is just an enhancement.
@Mona
Hmmm.. ok.. was kinda of hoping for a slightly bigger answer than that! Though I suppose that is all there is to it.. so thats the plan… off to the bookstore!
Personally, I found David Flanagan’s ‘Javascript: the Definitive Guide’ (a.k.a. the Rhino book) excellent, although my copy is about 2 editions out of date.
@Meyrick Kirby
Thanks for the tip!
Typical, blame your parents why don’t you?!
Programmers need to be able to make their code understandable and maintainable, otherwise their successors will be wasting their time trying to understand your code in order to maintain it.
Good luck with re-engineering the wheel,
@Christopher (AKA: CaJoh)
Programmers need to be able to make their code understandable and maintainable…
They never do, though, Christopher! In fact the best programmers I’ve ever met weren’t even trained as programmers at all, but were electronics engineers! The stuff they could do blew my mind by trying to understand their gibberish code was beyond ridiculous!
OK, to be fair there are a few times I’ve read somebody else’s code and been completely happy and even impressed with how they did things. I wish it was always like that!
@Christopher (AKA: CaJoh)
By the way, in my opinion inheritance was *the* major selling point for the move to object orientation back in the 1990s. And if somebody is doing proper object-oriented design then there should be no need to have to try to decipher another programmer’s chicken scratches. You can drive your own new class from theirs, and override anything that needs to behave differently leaving the original functionality in place wherever possible. And then if there’s anything entirely new that needs to be done you are free to add that to your derived class. You don’t have any need to modify their code at all… in fact, if you are re-writing somebody else’s classes somebody is not following the playbook.
And then a couple years later when somebody else is working on the project, they can derive their own class from yours, and inherit from both of the parent classes.
Of course, a lot of programmers don’t write their classes with inheritance in mind, but that’s easily remedied. Most programmers don’t like to think somebody else is going to be monkeying with their code after they are gone, so a gentle nudge usually does the trick.
I think the trick to working with legacy code, and by extension making sure your own code is open to modifications by other programmers is unit testing, refactoring, and revision control sytems.
Recently I had to write a server-type program in Java that called some legacy code written in Fortran. In particular the Fortran originally read inputs from, and wrote outputs to files. Instead, I needed to pass the inputs from the Java, and retrieve the outputs to the Java.
There was little chance of me understanding the full ins and outs of the Fortran, since it was advanced physics. However, I could get some example inputs off the physicists, calculate the outputs, and then write unit tests with them. With the unit tests in place, I was then able to start making small changes the top level functions of the Fortran, making it easier to understand what was happening. If I broke the Fortran code, the tests told me immediately, and I could role back the changes.
The end result was some neat code at the top. I could of course gone further down into the Fortran, adding more tests at the lower levels and further tidying up the code, but I don’t have the time. In other words, the problem is writing unit tests for legacy code is time consuming, although one does get a sense of satisfaction afterward.
You guys are geeks.
@mo
Well, I agree Meyrick Kirby is a geek! I’m pretty sure he doesn’t even work as a programmer and he just does it for fun!
I wonder if this is a compliment or an insult?
@Meyrick Kirby
If it’s true it isn’t either one. It’s just true.