Posts Tagged ‘professional’

The JVM Crowd

March 1st, 2010

The JVM is an industry-proven environment for enterprise applications development and it has been receiving lots of updates especially after moving to be open source. The only problem was the Java programming language in my opinion. Java is an excellent language for its simplicity and consistency (people may argue) but it’s not a “modern” language and lacks most of the features that the current modern crowd is looking for.

For those who tie the JVM (Java Virtual Machine) with the (Java Programming Language), I’m sorry to say, but you are absolutely wrong. The Java programming language is the first language that supported the byte-code generated for the JVM and it’s the most famous one so far but the virtual machine is an environment (a very stable one actually) and many programming languages (literally; many) is now supported on top of the JVM, you can write Jython (Python implementation in Java) and your code will run seamlessly over the JVM with your old Java code/classes. » Read more: The JVM Crowd

Design Patterns Last Call

February 21st, 2010

The course will start next Friday, If you are interested in the course you must register before next Wednesday 24th Feb. No registrations will be accepted after that date.

If you are interested in the first professional software design course, send email to course+design@ahmedsoliman.com

mercurial-server on Fedora/Centos

November 2nd, 2009

If you want to setup mercurial-server on fedora or centos/rhel server you are going to see lots of failure messages during installation and the installation will definitely fail.

Mercurial-server was written to run smoothly on debian-based systems, so I patched it to run on fedora/centos and I would like to share the patch with you.

Using the patch is straight-forward, simply download the tip or the latest version of mercurial-server and put the patch file into the extracted directory.

patch < mercurial-server-centos.patch

the patch is a few lines, so it’s naive for professionals.

Get the patch from here

Have Fun.

Screen Tricks

September 14th, 2009

If you are using the famous ‘screen‘ command and you are using ‘windows‘ in screen alot then you might find it pretty useful to add the following lines in either your /etc/screenrc or ~/.screenrc file.

hardstatus alwayslastline
hardstatus string ‘%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]‘
shelltitle “$ |bash”
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]'
shelltitle "$ |bash"

This will add a very useful bar in the bottom of the screen where you can see in which window you are working and the process running and some other useful stuff.

Special thanks goes to Ahmed Kamal for the tip.

Introduction to Mercurial

September 12th, 2009

This is an introduction to mercurial distributed SCM published as part of my contributions to CAT H4c3krZ, the video is in arabic and all the next sessions will be in arabic also.

http://www.vimeo.com/6519247

Let me hear your opinion….

Cloud Computing

August 17th, 2009

I’ve been busy for almost the last year in developing infrastructure services for cloud computing platform – mainly dispersed storage – and during that I’ve been working closely with cloud computing giants and have seen several cloud computing management and provisioning frameworks — that include Q-Layer framework — I can really see the change happening to the IT world because of the ‘Cloud’ and how the cloud will affect the way we think in everything, how we think in storage, how we think in application development and even how we can make business using IT.

Let me first define what cloud computing is. Cloud computing named to be the next generation of distributed systems where you use computer resources as a service and you don’t have to pay attention to all of how/where/when questions related to administration and management and even technical issues. you simply use the resource — storage as an example — and you put your files/data over and you don’t care how are they going to make sure that your data will be available at all times, how are they going to manage disk failures and even how to manage the network latency problems, this bring us to the most important point of cloud computing ’security’ how can I make sure that it’s only me who can actually read the data? so far, there are no good-known-standard way of storage that ensure that but you can always use the typical cryptography methods to make sure you are the only one who can read the data but that doesn’t necessarily have to be applied on other types of computer resources. So the cloud is there somewhere on the internet and you can access it using -maybe- some API or protocol and that’s it, no extra money for deployment, electricity, servers, management, security, etc. » Read more: Cloud Computing

Google’s Lesson

June 23rd, 2008

As you all know it’s one of my most important dreams to work for the search engine giant “Google”, although it’s very difficult to get a job at Google, I’ll keep preparing and waiting for the right moment to apply…

The lesson every company should learn from Google is the comfortable work environment that attracts the engineers around the world. But Why?

For example, in Egypt we have a very small number of skilled computer engineer and a huge number of clumsy/lazy/unskilled engineers. but in contrary there are a high number of opportunities for really skilled engineers. so what’s wrong with that? isn’t this good for skilled guys?

Yes it’s, but the problem is that as soon as you start working for a company you discover that they want to consume what you know and they are afraid of letting you know more or get educated because you might leave any moment, as instead of attracting you to stay in the company or providing a very comfortable workplace with challenging problems and interesting meetings, they prevent you from learning and they don’t want to spend a penny on you!

The lesson we all should learn from Google is that when engineers are happy they can produce more and be more and more loyal to the company, thus thinking about building a long and successful careers in the same company rather than moving to another place.

Google is best for me because it will use all of my talents, I would produce more output efficiently, and I will be able to write code that would affect the whole world…

I didn’t find a company in egypt yet that focuses on its engineers much, I didn’t find a company that really focuses on how to make people happy and enjoying what they do. Most of companies are focusing on customer satisfaction but not employees satisfaction!

So, it’s very important these days for companies to do their best to keep the good engineers from leaving and to provide the most comfortable and challenging work environment…