Archive for May, 2008

To Be Unleashed

I’ve been doing some self improvements lately and I’m still working on it. It’s all about technical stuff and new/old things I wanted to read or to do.

That made me wonder, how would I look like after unleashing all those technical stuff I’m reading? Would it be really useful or I will forget them as soon as I get involved in another different thing at work?

I really need to unleash my internal new powers and it should be reflected on my work very soon, I also intended to do more to the community and I think I’ll start by a simple framework that utilizes my knowledge and capabilities in the most efficient way.

It won’t be big but it’ll be efficient and I’ll do my best to learn how to write efficient code at this project.

 

The project is called “solcounter”, it stands for “Soliman’s Accountant”. It’s about packets accounting and graphing, it’ll be used to select certain packets based on a user-defined criteria and perform an accounting stuff to it using hashmaps in the most efficient way available. I’ll implement the hashmap algorithm myself and use libpcap library to do the capture.

The project also will use the RRD (Round Robin Database) to store the accounting information that you can use them to draw nice graphic charts.

I’ve written some code, but it’s not published yet. The project URL is http://code.google.com/p/solcounter/

So wait for a brand new ahmed within the coming months, you will notice great difference isA, trying to prove the I’m trying to become different.

Comments (8)

It’s Efficiency Not Speed!

I know that this topic might look weird, that’s because it is. :)

While exploring new programming languages and frameworks I discovered a really important rule, that efficiency is the main thing that really matters, not speed. Let me tell you the complete story.

For the last year I spent too much time studying my programming performance and how can I finish tasks as fast as possible with maximum output performance possible. I thought that I’m slow and my programming speed is getting slower and slower while I see people finish complete applications in half the time I spent writing something. so I quickly started to search for new technologies for agile development and I found really great things, things like “Ruby On Rails”, “Django”, “GWT”, “ExtJS” and many many web development frameworks for agile development.

I quickly read about Ruby On Rails and I became a fan of it, also I wrote a project using GWT-Ext “Java” and wrote some samples using Django. They were/are great.

I’ve always had a philosophy regarding programming performance, that it is speed is very important, because time is money and when you spend more time writing code you are spending more time. That’s why using such frameworks is very nice.

But after sometime I discovered that I write code efficiently not fast!, how is that?

Efficiency is the output compared to the input, and for constant input increasing output increases efficiency proportionally, but if we are decreasing input that would enhance the efficiency more.

Writing code fast is a very nice thing and would greatly help, but writing a well-thought code slowly is more efficient because you generally write less code and you decrease the potentials design-errors you might see later on. so the best thing is to control both, try to increase the output as you can and decrease the input as you can without sacrificing output quality.

In programming this can happen if you have learned the programming basics correctly, things like Algorithms and data structures can really help you write more efficient and error-calculated code. you would write great code in much less time that can perform better. Thus increasing your programming efficiency.

So the result is the efficiency is what matters most. Not speed, it’s OK if you are slow programmer but make sure that you write code efficiently because that will make your final performance better.

Increase your efficiency by reading more about academic programming basics and performance-tuning books so you can think more efficient and use inputs more efficiently and generating high output.

حاجة مالهاش علاقة بالموضوع خالص بس متغاظ منها قوي، كوكاكولا عاملة سلسلة اعلانات عن كوكاكولا زيرو و بتقول كوكاكولا عملت المستحيل و انت كمان ممكن تعمل المستحيل

انا عايز اقول ان لو حد عمل المستحيل يبقي هو مش جامد او اي حاجة، كل ما في الأمر ان الموضوع ما طلعش مستحيل و لا حاجة، لأن المستحيل هو الشئ اللي محدش يقدر يعملو و لو حد عملو يبقى مش مستحيل من اساسة، صح؟

Comments (14)