Slides: 20 minuntes intro. to TDD (Test Driven Development)

Today I had my first chance to give a talk about TDD. as this was my first talk ever . it felt weired and before the start of the talk, I tried to focus and some colleagues gave me some hints before the start and gave me guidance and some material to help me prepare for the talk. it took me full day to be able to get an idea on what I will include in my slides and how to keep the attendees awaken and interested as much as I can throughout the time of the session.  anyway, it went well and had good feedback from the attendees. here you can see the slides and leave me your comments to enhance this talk in the future.

The new move

Looks like I lost the habit of blogging allot after my long stay in the army. I did move this blog to a new server after its long stay for 5 years on, as I thought it’s time to give this blog a kind of personal look and feel. I will try to start blogging here again about my daily experiments with tools and ideas I meet every day. I did think before that I have only to write posts that contain code or that have expert feel in every sentence, but this didn’t feel like me or what I wanted this blog to be.

Last November, I did move to Cairo to start working for OTS on their interesting projects and ideas. the move to Cairo was something I wanted to do long time ago. being in the capital where all the big events happen is very important for someone like me. I did benefit from attending events like Cairo Code Camp 2010 , GNU/Linux Install Fest and the awesome seminars organized by AgileEgypt and the new UXers group. the benefit isn’t only in the big knowledge you gain from events like thos, but also from meeting smart and enthusiastic people who care about what they do and try to spread the knowledge they have. I always wanted to be part of something like that.

Some friends started encouraging me to start giving technical speeches about different topics. I already know that public talks aren’t simple and require courage and some practicing. our team in OTS started a new activity by doing internal technical sessions twice every week about various topics that can increase our knowledge. I was thinking about proposing to give a session as part of this internal effort, and it can be my start to get some experience on how to handle the public speaking phobia and on how to organize my talks. I hope this can be a good start -isA-.

I still don’t know what should be the topic I should talk about. I was thinking about giving something light but contains some tricky points where most developers fail into when they write JavaScript as they just think about it the same way they think about their server side programming languages whatever it was Java, C# or PHP. also, another idea was to talk about TDD (Test Driven Development) as a concept and showing some simple test cases with JUnit, and if they get interested more in the topic, it can be a good idea to continue this with a series of sessions about TDD and  test automation.

Beside all this, I always wanted to continue my studies to get a bachelor degree in IT or CS. so, I started studding again by attending the EELU (Egyptian E-Learning University). I hope this can be another push to achieve some of my goals -isA-.

The restart

Yup, I’m back again to the old days of setting all day/night here reading blogs, books and coding. I really missed these things. after a 22 month serving in the army, I don’t feel that I was not connected to this world. actually every vacation, I kept reading the dozens of blog posts collected by my RSS reader (Google Reader) and followed my friends on FaceBook to keep up about their news. maybe my only problem now is with updating my list of programs and tools to continue what I started before.

I have installed the latest version of Subversion, and I had a problem with making my svn repository work on a virtual host I created before on my Apache web server 2.2.11 . the svn book wasn’t really helpful with this problem and I had to find a solution. also, updated my PHP installation to v5.3 . I really like the new improvements to the language, but I don’t really know the reason of adding the GoTo operator, maybe I missed something in the last months, and this feature is helpful someway or another. but I still don’t remember that somebody was in need for this functionality before.


anyway, I still have to update to MySQL 5.4 and to explore what’s new in python 3.0 . and about .Net, I will keep it a way at least to the end of this month till I finish the revision of php and python.

I had that idea of getting back again to contributing to open source projects. my last experience as a contributor to ZendFramework was really great. it gave me challenges I didn’t face before and was a great chance to get in touch and work with number of the most recognized PHP developers in the world and the developers of the core of the php language. I’m still searching for the right project to contribute to. let me know If you have a challenging and interesting one.

This is all what I have for this post. you are welcome to contact me if you need something or if you just want to say hi. you can follow me on Twitter or on FaceBook or you can follow my shared items on Google reader .

Looking at the wheel from another side

I really miss how I used to blog here before joining the army. every vacation I come and find that allot of things changed, people got married, or traveled to another country. new technologies and buzz words appear and others disappear. this makes me feel like I’m living in a cave far away. anyway, there still just another 6 months till I finish my military service, I wish they will go fast and harmless.

the most annoying thing is the time it takes to travel from Alexandria to El-Salloum, it takes from 14 to18 hours using the military train and military buses. this is enough to make anybody hate the idea of going home that way, especially if that person is living in one of uper egypt’s cities, it will take him 2 days to reach home.

Anyway, I always try to spend my vacation in useful things like reading technical blog posts, reading news and maybe attending offline technical events if possible. In a previouse vacation I was able to attend‘s 7th event in Cairo.

this days you will find me moving from website to another. the unclosable tabs in my browser are Gmail , Google reader and Facebook. myabe this vacation I got more interest in because of its high quality. I like how this website is self managed by its users. the idea it self is so old and there is allot of websites provide the same service, but this didn’t stop the creators of the website from building the same idea again but with new features and concepts. that made this website better than the other old ones.

This made me think about focusing more on the old websites that we got used to, and find these websites weaknesses that can help in creating other better websites that serves the new needs of the users.  Innovation isn’t always about building new things, it can also be about looking at the old things from another way and trying to make it better for people.

Most of the big websites now are alternatives for an old websites that provided the same service, but for some reason it lost its shine. websites like facebook , flickr and Gmail are all not new ideas, but just a cleaned and improved versions of old websites.

From my first days as a computer user, I always had the dream of building a user centric website. I wish someday -isA- I will start my own company that builds websites for the normal users. I don’t have interset in the creation of business centrec software, I know how profitable it is, but this isn’t the thing that I will love to spend the rest of my live time doing. maybe I did it and I will do it as an emplyee in software companies, but this will be for gaining experience and saving money for my own future projects – isA-.