Speaking at Microsoft Open Door

Filed Under (Development, Personal) by Emad Alashi on 27-10-2011

Tagged Under : , ,

I will be speaking at this year’s Microsoft event Open Door; the session will be about HTML5 & IE, including highlights on the main new specifications for HTML5, and how Microsoft is approaching it through IE and some of the dev tools.
It will be on Day 2, Track 3, at 3:00 PM.

Check the event details and agenda here, catch you there hopefully.

My MVP Award Dedication

Filed Under (Development, Personal) by Emad Alashi on 05-10-2011

Tagged Under :

Couple of days ago I received the wonderful email from Microsoft telling me that I was awarded the MVP; it really feels nice when you achieve results. But the best part of all this is my friends’ reactions, the congrats, and the big smiles on the faces (not mentioning a generous gift from my colleagues Winking smile), to all these true friends I say big thank you!

Continuous Integration Book Review

Filed Under (Development, Personal) by Emad Alashi on 21-05-2011

Tagged Under : ,

ContinuousIntegration-coverTo be frank I hesitated a bit to review a “a Martin Fowlers signature book”, but I have to share this review with others; to set expectations.

The book “Continuous Integration” is ok, but it’s too general, that’s it! 
I have read several articles about Continuous Integration and posts here and there until I thought to myself “that’s it, it’s time to get the book, it’s time to delve deep into this”, to my surprise the content of the book was too general and it didn’t add much to the articles I read.

The book itself is nice, but if you have been reading about CI in the past and want to delve deeper, this is NOT the book you want to get.

Reflections on Jordev Web Camp

Filed Under (Development, Personal) by Emad Alashi on 17-05-2011

Tagged Under : , , , , , , ,

webcampsLast Saturday 14th of May 2011 we had the first web camp in Jordan among Jordev’s activities, and it was great!
check my presentation slides at the end of this post.

The event was like the following:

  1. 8:30 AM – 9:00 AM: Registration
  2. 9:00 AM – 1:00 PM: Four 50 minutes sessions with 10 minutes between each for breaks, there was a few attendees at the beginning so we delayed the first session for couple of minutes (yes we have a morning problem here). Sessions were “Entity Framework 4.1”, “ASP.NET MVC One Step Deeper”, “Dynamic Data”, and “jQuery
  3. 1:00 PM – 2:15 PM: lunch break, where people went to the near market and had their lunch there.
  4. 2:15 PM – 4:30 PM: free coding session.

Things went great:

  1. Enough people attended. The attendees were about 25 people spread all over a hall that takes at least 100, this gave us a great freedom in moving around and hocking cables freely on available slots.
  2. The attendees were great. It’s awesome that the attendees were really serious about the event; everyone brought his/her laptop charged and ready, every one was kind enough to pay the right attention, and everyone stayed to the last minute; it’s this passion and dedication that makes a successful event a successful event.
  3. Very good speakers. We were lucky enough to host one of the smartest and most active community members in Jordan: Omar Qadan, Mahmoud Manasrah, and Omar Muwahed did a great job and delivered such a rich value, I was humbled to be among such intelligent speakers and share the stage with them.
  4. Topics were diverse. It’s true all web, but we covered four important parts that summed the basics of a web app: Entity Framework, ASP.NET MVC, Dynamic Data, and jQuery.
  5. There was no lunch arrangement hassle. Interestingly enough, we decided to skip the arrangement for lunch; we still had a lunch break and we provided fast coffee, but we revolted on the pattern of supplying sponsored food and snacks on the lunch break, this gave us the opportunity to concentrate more on delivering technical value, and less managerial things. Of course the near market made our decision a lot easier, in addition to our good luck of having such sufficient number of attendees.
  6. Two and half hours of Free coding. Actually this was pretty good; the free nature of the session allowed the attendees to contribute, and to ask their questions freely.
    We first gave the attendees the opportunity to try things on their own, then we suggested to have walkthroughs; started playing with some of the latest technologies NuGet and Glimpse, then a walkthrough on ASP.NET MVC, then finally a brief general talk about OData.

    Though I see a big space for improvement here; the down side is that there was a dominant stream because the presenter used the main desk and the presentation screen to talk to the majority in the walkthroughs, which was a distraction to the individuals who wanted to try things on their own, anyway I didn’t hear any complaints.
    We had an option to distribute people among groups depending on the technology they want to learn, but it appeared that it was little bit hard to organize, and the attendees in majority agreed to the way we concluded.

  7. The DVD accumulated for the event. We accumulated a DVD that contains Visual Studio 2010 Express, SQL 2008 Express, VS2010 SP1, NerdDinner sample, and MVCMusicStore sample. This helped others to boot up fast with the event, and a nice thing for the attendees to go home with.

Things went wrong:

  1. Marketing the event. We thought that we should limit the number of the attendees to 80 so we don’t end up in crowded auditorium, so we did, and 80 people registered on EventBrite in less than 48 hours of declaring the event on Facebook and Twitter. To our sad happy surprise only 25 people showed up! I know that not all event registrars attend the events they register for online, but the percent is strikingly high! 75% not attending?! what was wrong?
    I think we didn’t do enough reminders, apparently people are lazy about keeping their calendars
  2. SQL Express installation file was 64 bit. 32 bit OS is still the most common OS here, so we missed that up.

Things we did for preparations:

  1. Distributed tasks among us (four people) so everyone had a clear task, this way we made sure we don’t miss anything due to ambiguity in responsibilities
  2. One of us made sure the hall was booked (more tedious than you think!)
  3. Created an event on EventBrite and shared the link over a mailing list, Facebook, and Twitter
  4. Brought enough 3-in-1 packs of Nescafe, one electronic kettle for hot water, and many small bottles of water
  5. Burned out DVD’s with free content (check above)
  6. Brought 3 multi-slot plugs to support the many laptops with electricity
  7. Rehearsed enough for the presentations Smile

That was about it, I hope this reading benefits you and good luck with YOUR web camps.

Jordev-Webcamp-Speakers

My presentation slides embedded:

Got a GPS? …Lets Play Geocaching

Filed Under (Misc, Personal) by Emad Alashi on 26-06-2009

Tagged Under : , ,

The other day I was roaming the Internet; link here link there, tweet here tweet there, and I stumbled upon a very nice game called Geocaching.
Geocaching, simply, is a game in which players hide items in any place in the world, and the other players should find, yes…Treasure Hunt. But the fun part is it’s Global, and the GPS is your primary tool!

The players who want to hide an item, should first label it and give it a unique identifier, then record the coordinates (longitude and latitude) of the place they hide it in, and finally they should post the information along with the coordinates on the game’s website www.geocaching.com.

And I was lucky enough to know that there are 17 geocaches in Jordan! below is an image of my first geocache quest result with my good friend Tamim Salem, using my iPhone’s GPS.

IMG_0105

IMG_0102 
The item was broken and this paper is the only thing left.

Can’t wait to quest the rest ;)

Technical Team Leader…Who Is Not

Filed Under (Development, Misc, Personal, software management) by Emad Alashi on 24-04-2009

Tagged Under :

image orginially was on "http://www.ccer.org/images/juggle.gif"

When I started this blog my goal was to make it a technical one, in which most posts would have code, samples, screen shots, architecture…etc. This was the primary goal, though it is totally fine with me to talk about software life in general.

The issue is that I get the ideas of my posts from my real daily life, which is mostly code challenges at work. I do write code in my leisure time, but for sure it is not as thorough as the thing at work.
And since I haven’t posted any technical stuff lately…the simple conclusion is I DON’T SEE CODE ANYMORE!

A Technical Team Leader in the place I work at right now has a different meaning from what I knew before; the first word in the title is “Technical” so I expect to deal a lot with code: planning it, reviewing it, discuss it with team members…etc.
But in the environment I work at, there is more pressure toward management and coordination; I find my self during the day doing stuff like updating the Microsoft Project plan, smoke testing, running between other teams we depend on to get their deliverables; checking with the User Experience team if they have the designs ready, checking with the Architecture team if they will pass by to set the folders structure for us…etc. All this leaves me no time to see code.

Is this right? Should a Technical Team Leader do these stuff? If not, who should? Is it a Project Coordinator? what is exactly the job description for a Technical Team Leader?
Questions like these should be discussed with the Development Process people, but till then I will have to say: “that’s not right”.
How about you? what do you think?

Fear and Humbleness…Obstacles in The Way of Success

Filed Under (Development, Misc, Personal) by Emad Alashi on 10-03-2009

“Oh no, I won’t go into that code; I am not that intelligent!”
“oh no, I don’t want to try this software…I don’t know what it will do to my machine!”
“Oh no, I can’t write such a unique blog post!”
“Oh no, I will not twiply to that celebrity…come on…he is a celebrity!”

These phrases kept chasing me for a long while in my life, and sometimes still does. It had the worst effect on my progress, I couldn’t move an inch forward; by a deep feeling I didn’t confront, I was afraid of failure, mixed with a feeling of negative humbleness.
But that was it, I couldn’t stay as a prisoner to these chains, and leave these cookies of success to people who might have less resources and powers.

Then, after realizing this fact and working against it, I am free! within months I have created this blog you are reading, started the open source project Bunian (small but learned a lot from it and in progress), delivered session in JorDev (and still contributing effectively), and preparing a new technical Arabic podcast (to be announced soon).

what helped me to do that:

  • Make backup plans for everything you have paranoia about; backup your drive, use virtual machines, make a dummy blog…etc. This way you will not fear the change, the change which will possibly be the next big thing for you
  • Don’t take it too serious; be cool about it, it’s not going to be the end of the world if it fails. Of course try your best and plan well, but beyond that you only have to take the step and try things out
  • Aim high…but lower your expectations; the higher your expectations are, the more difficult accepting failure is, hence you will not try it out. so lower your expectations and prepare for the failure
  • Try to find more reasons to do it, reasons that will only force you do well without the fear of failure. Joy is an example; I like writing and expressing my feelings/experience in words, so no matter how many subscribers there are, I keep posting to this blog (and no, I am not going to tell you how many, at least not right now :P )
  • Think of all the great stuff you are going to miss because you fear loosing part of what you already have, and sometimes even less. What you are missing could be awesome! and this is not gambling, because you already control the bigger part of it, luck is only a part.
  • Have confidence in your self, because you CAN be better, and the only ones who can’t get better are the ones who DON’T WANT to get better; that is the false modesty.
  • People grow within the limits around them, widen the limits…and see how you will, automatically, grow to fill the space further
  • Don’t be hasty, and grow larger bit by bit…one success leads to another.

These are the things I could think of when it comes to it, I still struggle; it’s a never ending battle with my self, but I hopefully I will not surrender, and I hope this will help others as well.
Finally, we are nothing and can achieve nothing without the help of God; do your best, then ask him for success, that’s the best prescription ever.

Travians be Warned…Rapacious is Rising

Filed Under (Development, Misc, Personal) by Emad Alashi on 12-12-2008

Tagged Under : ,

I don’t know whether thank or scold my good friend Omar Qadan for introducing me to Travian, a strategy game played online.

travian

It’s amazing how a simple,  web-based, HTML-front game can be so rich and vast entertainment wise! It’s a real strategy game where you build villages, resources, armies, embassies, and conduct trading, diplomacy, wars, and alliances…all through simple images, numbers and text.

On the other hand, I can’t ignore the programming part of the game (being a developer that is), it must be big, fun and tiring; think of all these rules and the simulation algorithms the game is being built upon , the server handling thousands of players, …and scripts (yes! lots of hacks!  161 ). Even the hacking idea it self is so delicious (programming wise only  251 ), a true heaven for developers :) .
Also the makers of the game are on the right track of providing developers points through which they can access the game and display information on other sites or applications; ok for now it’s only exporting database tables of statistical information about the game status, but still I consider it a cool step toward supplying nice end-point for developers, maybe Web Services in the future 4.gif .

Every time a new idea hits the web I say “ok, that’s it…there are no more idea’s!”, and every time I say that I  am proved to be wrong; YouTube, Facebook, Wikipedia, Delicous, Digg, SlideShare, Flickr…and the list goes on.
So this is a message for all of us, don’t limit your imagination, ideas never run out.

The only concern now is that I don’t want to be addicted, so let’s wish for the best…and be warned…because Rapacious is rising ;)

Introduction to NHibernate Session at Jordev Was Good

Filed Under (Development, Misc, NHibernate, Personal) by Emad Alashi on 05-12-2008

Tagged Under : , , , ,

The feedback was very good, and I was glad that everybody liked it. Jordev is really moving ahead, and I am very excited being part of it :)

Below is the slide show (it’s an enhanced version from my previous one):

[slideshare id=821222&doc=introductiontonhibernate-1228487480885456-9&w=425]

Code is the same of the previous one which you can download from here

My First Talk at JorDev .net

Filed Under (Development, Misc, NHibernate, Personal) by Emad Alashi on 21-11-2008

Tagged Under : , , , ,

JordevLogo  nhib-logo04

JorDev .net is a .net user group founded by enthusiastic Jordanian IT professionals. On Wednesday the 26th of November I will be doing my first session of a series about NHibernate.
Details of talk is here:

Overview NHibernate is an Object-relational mapping (ORM) solution for the Microsoft .NET platform. it provides an easy to use framework for mapping an object-oriented domain model to a traditional relational database. Its purpose is to relieve the developer from a significant amount of relational data persistence-related programming tasks.NHibernate is free as open source software that is distributed under the GNU Lesser General Public License
Target Audience .NET Developers, Software Designers, Software Engineers, Software Architects
Date Wednesday, November 26, 2008
Location MIC (Microsoft Innovation Center, Royal Scientific Society Building, 3rd Floor)
Time 6:30 pm – 8:30 pm (Amman-Jordan local time)
For More Info Mohamed Saleh @0788716457
Ayman Farouk    @0795727344
Reminders
image006Live Calendar
image002Facebook event
image004Outlook Calendar
image008Google Calendar