Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Sunday, January 21, 2007

Looking for a Delphi like thing on LINUX ?

Well there isn't much time needed to think and we will come up with KYLIX. But isn't there something that is both not BORLAND and does give us quite a lot of useful things to do only with the mice ... do the things on linux we want to do ... without doing a nasty coding but more of designing our application with just the mouse ?

Well there is something ;)

KOMMANDER

It is a KDE thing but is just what we need... it does feels like BASH scripting but
offers us a way to escape from the konsole. I aways wanted to BASH script a Desktop application with all the GUI and so on :) now I got a chance.
This TOOL isn't actually very new... it exist from quite a lot of time but according to my recent research which was inspired from just asking about a tool which will offer me the ease of use to do a simple NOTE TACKER application... I was given quite a lot answers and finally KOMMANDER was introduced to me in it's full glory :)
So you might want to take a look at the link I provided and also you might find these links also useful:


So why I did wrote this again.
I did wrote this article to remind the world about this TOOL.
When I did asked for the tool to do my NOTE TACKER application I was flooded with C and C++ things... QT ... python and so on!

THERE IS AN EASY WAY! IT IS THE KOMMANDER WAY!

Прочети цялата статия...

Tuesday, January 09, 2007

Why programmers don't want to comment code

Why don't developer comment their code?
This is a question I will try to answer by summarizing my life experience.
I've been coding most in PHP but I coded also in a few other languages but the majority of code I have written is PHP so I am a PHP programmer and that has shown me a lot of ugly thoughts why people just wont comment their code.
So here are some of the reasons why most of my colleagues and team mates didn't wont to comment their code and often find more appropriate to delete mines too so they see more REAL CODE than bullshits like comments and lines that separate CODE from DESIGN and so on.

"I'm lazy!"
Well I am lazy too. Laziness is the reason why people are so advanced these days ;). That is why I personally comment my code. I don't want to figure it all out again later cause I forgot what it was and how it works. Think about it. If it is commented you will never have to figure it out again because you have written down an explanation of all the weird parts. It ease everyones work if you haven't got to figure out the problem again every time it comes up.

"Good code is self-documenting!"
The programmer that thinks that way thinks his code is so good that any moron could understand it without comments. After all good code is self-documenting is it? Totally wrong! There are many pieces of code which just could be understand by looking at it. For example because they are one line of code. But in the big picture most of the hard to code algorithms aren't obvious at first look to all the programmers even to you if you look at it after a while. So hard, complex algorithms and code blocks should be documented.

"Upper management doesn't care about comments!"
The BOSS looks at the metrics supplied to him. These usually are like lines of code, hours spent at work, tasks completed or simply does this work. But just cause time spent commenting is not reported or your boss isn't interested in it doesn't mean it isn't important at least to you. The better your comment skill is, the more productive you will code when you rewrite or upgrade your code later. This will decrease some of your hours in the long term so putting some extra time in the beginning might be a good idea.

"I'll never work on this after I'm done!"
This is the normal newbie mistake. So when you have finished your first project and all went well with it you are ready to move on the next one and you do. You might get a couple of more projects done but then they start coming back to you. It is not because they were bad written but because the users wants new features. The idea is that if you have written something once you will most of the time (99% of the time) need at least a piece of it again.

Well I think I gave you enough reasons to think about this for a moment and at least give it a try. After all how bad could it be to put an extra sentence at the end or at the top of your code block ?

Well have fun with your comments...
and your well written never reused code too ;)



I will really appreciate comments on this topic.
And if you have in mind another reason why programmers just wont comment their code feel free to share it with us ;)

Прочети цялата статия...

Thursday, January 04, 2007

Team Software Development

This article is about Software Management and especially about the working process of developers. It should make light on the way team work is done and show how it could be made a lot faster, easier and even fun. I will try to explain why some people think their way works for them but in fact they were very wrong and migrating to this way of software development is exactly for them.

First I want to really say that I am really for Open Source technology but I really appreciate the commercial things that just works... what is written well is written well and there is no doubt when people are happy with it and use it. So this sentence was a kind of "I want you to know me" so you know I am judging from a neutral side.


I will start with a real life example at my job again!
We do software development like this:
1. accessing FTP server
2. downloading content
3. writing code to files
4. saving files
5. looking at modifications

Well I expect some people to say that this is a normal software development stuff and there is nothing wrong with it but let us see this:
1. accessing FTP server
2. downloading content
3. writing code to files
- another one is writing code to the same files
4. saving files
- overwriting each others code
5. looking at modifications (yours or of your colleague or the worst case of something between)
- some users are looking at changes you do... whether harmless ones or not so harmless

Well you see the picture!
This type of software development is not good for any one.
I will not go into details about it you saw the picture and you shall think about it!

Then I shall show you a real software development model.
The tool or software which is used in it is called SUBVERSION or SVN.
It is the successor of Concurrent Versions System (CVS) but it has some improvements. So what is so cool about this SVN you ask. Well first of all many people write code and every one is made aware of the changes. Then you develop software with a whole bunch of version control things that ease your life. Well let me try to summarize it:

SVN is a Version Control System that keeps track of all work and all changes in a set of files, typically the implementation of a software project, and allows several (potentially widely separated) developers to collaborate.

The thing about this open source software is that it really works and helps. I will not go into details about how it is used or implemented I want to just show you the benefit of switching to it. SVN doesn't only make you aware of file changes. It allow programmers to lock files, merge changes, comment what they made with the file... and so on. Also SVN is most of the time a separate server on which you develop so users don't have to see your changes in real time. Also a cool thing is that you have a structure of versions that is tree like. When you build a version that is stable enough you can make it go up into the so called branch where you can then just copy this to the server where you want to deploy the project or if the host and develop server are one and the same you can just relink to the newest branch and hey! We got our site updated.

SVN has one more cool thing!
TRAC - an open source, minimalist and web-based project management and bug-tracking tool

Trac allows hyperlinking information between a computer bug database, revision control and wiki content. It also serves as a sophisticated web interface to the subversion version control system. The web front end presentation of Trac is handled by the ClearSilver template system.

Cool huh!

So if you find this useful and actually tried it please let me know your opinion!

Nice hacking!

Прочети цялата статия...