šŸ‡µšŸ‡ø Call for a #CeasefireNOW šŸ‡µšŸ‡ø

Act Now

9 Things I Learned From Skiing

I had the opportunity to visit Mount Buller to do skiing for the first time in my life (thanks to Joshua McKinny), and the experience was UNBELIEVABLE! In addition to the loads of fun I had, I learned some life lessons that can be applied in any field, even software! and I’d like to share with you. When in doubt, get rid of doubt. A night before the trip, I was at the shops. I saw this winter warm hat that I thought I should buy, then I remembered I had one at home but I wasn’t sure if I still had it; I remembered one time when I needed it and I couldn’t find it, so I had doubts! I had to take a decision, something like the following diagram: Apparently possibility D has a much higher cost compared to any A, B, and C. And the only way to avoid it is to take decision X rather than Y… I chose Y, and ended up with D! At the end I managed, but let’s just say I was left in an embarrassing situation. Everything has pros and cons Between choosing Skiing and Snowboarding, I chose Skiing; the majority of opinions was that Skiing is easier and you have more control, which is better for beginners. But this came with a cost; the boots were horrific to walk with, and I had to carry two sliders and two poles all around! I don’t regret my choice, but let’s say I am a lot more aware that there are cons with every choice we make, the question is are we willing to make the most of it or not. Listen to the experts Josh gave us of a long list of advice beforehand; what stuff to bring along, where to get the gears from, what we should expect…, all of which made a huge difference. And whenever you fail to listen you are beaten, I will never forget a scarf when I am at the top of the mountain! It’s more difficult than I thought I judged Skiing too early, from the videos and photos I have seen in my life, it seemed too easy! just go in angles and change the direction once you reach the edge of the slope, and repeat until you reach the end. Guess what? Easier said than done! Skiing literally is sliding on a slippery surface, while you try your best to control sliding; the sliders are long, heavy, and go in all directions, the amount of effort you have to give to control the sliders to go in a certain direction is big, and they don’t just listen! the angles in which you have to position them to accomplish that control is tricky, the pressure on your knees is enormous, your body’s position makes a big difference, and the slightest loss of control of the sliders your body will start wobbling, and you don’t just cross your legs to fix that! Oh and did I mention that there are types of snow, some of which makes things even harder?…ENHALES! The idea of this lesson, don’t just underestimate and judge too quickly, anything, unless you try it out first. **You don’t know what you are missing, until you try it. It’s loads of fun! ** Sometimes we are just too lazy, and due to our laziness (or let’s say ā€œcomfort zoneā€) we miss out on too many opportunities. I knew that it’s going to take me a day, and it’s going to be cold, and I have to learn skiing, and was afraid that I wouldn’t enjoy it…but…I pushed myself; I also knew that this is not going to happen again anytime soon and should tick it off my bucket list, let me tell you this: IT WAS AWESOME! Doing it myself revealed many aspect I’d never get from watching a video, the mere speed a human can reach on these sliders is of utmost thrill, let alone the joy when you really start controlling it. It really made me think of all the things I might be missing due to the same reason, whether it was leisure or career opportunities You are going to fall, and it’s going to hurt There is absolutely no escape from falling, unless you are an expert, than you already have fallen plenty of times, and to the surprise, it hurts! I fell so many times: one time on my arm which ended up swollen, one time twisted my leg, and another time was displaced couple of meters away from my slider after it flew off. These falls were necessary; I knew exactly what to do, and what NOT to do, because I didn’t only ā€œhearā€ about the consequences, I lived them, and they hurt! So because of these falls I had to learn, because of these falls I became a better skier In fact pain is part of the fun The falls mentioned in point 5 were painful indeed, but they also were fun; it breaks the routine of the body, the monotonous experience we go through in our lives, being thrown and twisted in the air, and feeling your body going through a different experience, all of this had its flavor, it might be funny, but it really did (don’t break something while you do that). But more important than that, these falls also gave a better meaning for success; when I slide for longer periods without falling, the feeling of success I have is deep, and meaningful. If it was too easy that success would taste like…meh. Following instructions is important, but so is following instinct I had a lesson by an instructor for I am an absolute newbie, the instructor gave us the instructions on how to stop and manuever, along with some other instructions, and then released us to the wild. I tried to follow all his instructions perfectly, usually I am a good student, but I still kept falling! Then at one of the slopes I felt like I should be leaning my body in a certain angle, and press with my toes down, it was an absolutely instinctive feeling, not a trial and error thing, and guess what…it worked! the instructor didn’t mention this; maybe because he never really gave it a deep thought, maybe he has been skiing all his life, regardless of the reason, he gave me instructions that weren’t enough, I had to use my instinct that proved highly valuable in addition to the external knowledge. Most importantly, company is everything This, my dear reader, was of the utmost importance; Josh and Neil were extremely good company, very understanding, patient with my primitive skiing skills, easy going with suggestions, generous, and full of knowledge that filled the trip with beneficial discussions. All of which allowed me to enjoy things enough to come up with the previous 8 lessons! Did I learn more lessons? indeed, but 9 is a nice number šŸ˜‰ ...

August 20, 2014 Ā· Emad Alashi

OWIN, Katana, and Helios At DDDMelbourne – Presentation Slides

Here are the slides of my last talk ā€œOWIN, Katana, Helios…What’s Going On?!ā€ I delivered at DDD Melbourne. Sadly there was no recording. Owin, Katana, and Helios from Emad Alashi

July 21, 2014 Ā· Emad Alashi

NOT Another Post About Estimation

I was involved in a project that was given 10 days to finish, the tight schedule was due to budget reasons. The client explained to me his requirements and then asked for an estimate for details. We stood in front of the whiteboard, broke down the features and then started estimating the time for these features, until we reached feature x. In my technical life I’ve been beaten by over-simplified requirements far too many times, so as simple as feature x sounded I strongly felt that it might stretch. Subsequently, this influenced my opinion of giving feature x three days, against which the client of course argued back. ...

June 22, 2014 Ā· Emad Alashi

Consultant Skills: Knowledge Depth & Breadth

It’s a crazy era for IT! everyday new concepts, libraries, products, and even languages are introduced; so many solutions for so many problems. It is indeed the era of specialization. There is absolutely no way to grasp all this knowledge, specialization and concentration of knowledge has to occur, and we must choose a technology to specialize in. But… (You knew this was coming, didn’t you)… this is not good enough! Before you jump on me and start yelling ā€œBut you just confessed; it’s impossible!ā€, let me explain. ...

April 2, 2014 Ā· Emad Alashi

On Building Quality Software

The 2nd main cause of buggy software (time pressure is #1), is laziness and boredom. Every job in this life consists of a ā€œcoreā€, which is the most challenging and most exciting part of the job, and a ā€œchoreā€, which is the boring and tedious part. Let’s take a chef as an example; he is an artist whose art is producing quality food, a process that involves mixing precisely-scaled ingredients, perfectly stirred on a period of time, or fried on the grill with an artistic movement…all are actions that the chef consider as crucial part (core) of the process producing the magnificent product of his. On the other hand, the chef sometimes has to chop onion into xxx-small size of chops, a task that may be really boring to him (I wouldn’t blame him!). Being such a boring task, the chef is tempted to getaway with just xx-small size of chops; after all 95% of the meal preparation is there! So he ships the dish to the customer. The customer tastes it, he generally likes it, but something is wrongā€¦ā€ah!ā€, the customer discovers, ā€œI am chewing pieces of onion!ā€. He almost rated the restaurant 4.5/5, but just that last bit ruined it! 3/5 is the final rate. ...

March 4, 2014 Ā· Emad Alashi

Don’t Just Fit Into The Gears

Most of jobs in our modern world come with a job definition; a list of tasks that is expected from the candidate to accomplish during his/her occupation of that role. Very convenient approach; setting expectations for both parties. A convenient approach indeed, but extremely dangerous as well! what is dangerous is NOT the job definition, rather the mentality it instills in the mind of the candidate. The candidate examines the list of tasks, believes that he can do it, he takes the job, and once he starts in the new role he just fits into the gears of the existing environment/process, regardless of how rusty it is, or how inefficient the mechanics of these gears are! The environment or the process, part of which this role is, could be extremely malformed, inefficient, slow, or of any negative attribute you can stamp on a process that is not 100% fulfilling its goal. Just fitting into this system will make you part of this failure! But for innovators and positive influencers this is absolutely not acceptable. ...

February 5, 2014 Ā· Emad Alashi

Update Database with Dbup When Deploying With Kudu

Update: @DavidEbbo checked the post and thankfully he notified me that we don’t need to use the RESTapi to add an environment variable to Kudu on Azure; we can use the AppSettings in the portal. ——- Kudu is a deployment engine that enables websites to deploy directly from git repository, it is the one behind git deployments in Azure Web Sites. Two things I loved about Kudu: you can use it locally in your environments, and it is open source! ...

January 19, 2014 Ā· Emad Alashi

Develop without Googling

Yesterday I was playing with Kudu, the Azure websites deployment engine, and it was all fun and joy. While I was happily hitting the key strokes of joy enjoying the new cool stuff I implementing, I got an error, and shamefully the minute I saw the error I copied and pasted it to Google! For my bad (and later good) luck, after opening two links from the search results I discovered that I am late; I have to hit the road, so I instantly closed my laptop, pushed it in my bag and ran. ...

January 11, 2014 Ā· Emad Alashi

Complicated Software? Or Solving Everything At Once? Message To Product Owners

As software developers, we happen to come across many business problems with various complexity levels. Although this complexity depends on the nature of the domain sometimes, what I have noticed that product owners add a lot to this complexity themselves without a need! For once, software developers are innocent here; the product owner, the entrepreneur, or the man behind the niche, these people have a very big responsibility on defining the complexity of the system; most of the time, the complexity introduced to the software was because they wanted to solve everything with a button, maybe two! ...

November 22, 2013 Ā· Emad Alashi

OAuth Authentication in OWIN

Last week I got the chance to speak on the Victoria .net user group, presenting OAuth authentication (and authentication in general) in the new .net web world of OWIN. You can find below the link to the source code, the presentation slides, and the video on Youtube. Source code on GitHub For some reason the animation doesn’t work on Slideshare, maybe because it was Office 2013 OAuth in the new .NET world (OWIN) from Emad Alashi Enjoy šŸ™‚ ...

November 19, 2013 Ā· Emad Alashi