This is Wahid Shalaly's Typepad Profile.
Join Typepad and start following Wahid Shalaly's activity
Join Now!
Already a member? Sign In
Wahid Shalaly
Sydney, Australia
Concept, Consistency, Curiosity, Quality and Beauty
Interests: software development, extreme programming, ongoing professional development, agile methods, scrum, kanban, unit testing, test-driven development (tdd), domain-driven design (ddd), cloud computing
Recent Activity
The context: In my current role, we use Azure Cloud Services for hosting our solutions. This is due to a decision made a long time ago for out-dated reasons. A decision to move to Azure Websites for next phases is under investigation. Due to this, sometimes I take time to write samples using Azure Websites to address new features & differences between Azure Websites & Azure Cloud Services. This case happened by accident & I did try not reproduce it. Few days ago, I created a sample Azure Website to experiment the Deployment Slots feature. I added a Deployment Slot,... Continue reading
Posted Mar 14, 2015 at Thinkinuous
@Alex Great to know this helped you :) Thanks
1 reply
Recently, I decided to use my open source project, Reliable Unit Of Work for SQL Azure, as a catalyst for experiments about build process. First, I had build scripts that runs on TeamCity server hosted in a VM on Microsoft Azure that I talked about it in a previous post. Then I found AppVeyor, a very interesting Continuous Integration (CI) service that simply will provision a fresh VM when GitHub changes are detected & run your build configuration in that VM. So I decided to move to AppVeyor. AppVeyor was actually able to do all my needs just via UI... Continue reading
Posted Aug 13, 2014 at Thinkinuous
Most welcome, Glad that this helped someone :)
1 reply
My history with Build Servers & Continuous Integration Servers consisted of two phases, first when I was working for employers who aren't aware of benefits of CI process, I used to have my own servers & tools. I used to treat myself as a Team, first they used to laugh at this attitude until they realised how helpful it can be. Later, when CI & CD processes became more popular and I joined more skilled teams, it was normal to find such services already available, so I didn't bother to have mine. Recently, I decided to have my own build... Continue reading
Posted Mar 17, 2014 at Thinkinuous
What is it? It’s a light-weight implementation of UnitOfWork pattern. I found all published solution aren’t really transactional & mix between the role of Repository & the role of the UnitOfWork itself. Recently, Rob Conery explained this in a very good way here. He offered other solutions to avoid this broken non-transactional UoW kind of implementation. Why I did this? I didn’t build this just because I needed to build a better implementation. I was refactoring a legacy web application to be ready to be published on Windows Azure. The problem was that the application had an architectural anti-pattern, Transactional... Continue reading
Posted Mar 8, 2014 at Thinkinuous
Recently, someone hacked twitter & facebook accounts for an Egyptian activist, so I decided to share those tips on facebook, maybe it help someone or at least make it more difficult to be hacked. Remember, there's nothing called 100% secure, but let's learn and do our best. 1. Use a password managers if you don't, e.g. KeePass, and store an additional copy of database & key files on cloud, e.g. a secure Dropbox or SkyDrive account. 2. Activate Two-step authentication in any site supports this feature, e.g. Google, Dropbox, and Facebook. It's also called Two-factor, Second-factor, 2FA, or Multi-factor autentication... Continue reading
Posted Nov 29, 2013 at Thinkinuous
The first thing I realised when I started researching Model-View-Presenter pattern (MVP), it is the most confusing pattern and all resources about it are outdated, so please bear it with me. I can’t blame Martin Fowler for issuing a retirement note for it and splitting it into two new patterns, Supervising Controller and Passive View. Continue reading
Posted Jul 30, 2013 at Thinkinuous
Recently, I found visiting old posts or timelines is helpful to tell where I've been & what I've been thinking of & where I'm now. So, I decided to write down my efforts & activities every anniversary. Actually, It was surprising when I started thinking of all these things I had in the past year. It was full of many events I attended, and books I read, and lessons I learned. Continue reading
Posted Mar 3, 2013 at Thinkinuous
This is a quick account about unit testing JavaScript code. Recently, I tried to find a good JavaScript unit testing framework. I found different choices but the simplest and easier to use for test driving was QUnit QUnit is a powerful, easy-to-use, JavaScript test suite. It's used by the jQuery project to test its code and plugins but is capable of testing any generic JavaScript code (and even capable of testing JavaScript code on the server-side). I didn't practice unit testing on JavaScript code before but intending to test my JavaScript code in future. I have created a sample project... Continue reading
Posted Nov 6, 2011 at Thinkinuous
* CoffeeScript is a little language that compiles into JavaScript. * CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. * The golden rule of CoffeeScript is: "It's just JavaScript". -- from the official site Just recently I heard fellows on Twitter talking about CoffeeScript. I believe I heard the name before but I was very busy couldn’t even have a look. This time I tried to check what is that. It turns out to be a new way for writing JavaScript that is more compact & dynamic, and resembles Ruby and Python dynamic... Continue reading
Posted Oct 16, 2011 at Thinkinuous
I'd like to share my experience about a valuable OSS project I liked very much & used recently. The latest project I designed & implemented was an integration subsystem that acts as a bridge between two systems, our B2C Portal & e-Government Message-based Services. The solution architecture is based on building multiple multi-threaded windows services that receive, parse, initiate and send different types of requests & transactions between both systems bidirectional. Building this number of windows services required building a good common infrastructure for all services to make them consistent enough, well refactored, and easy to debug. And, Here came... Continue reading
Posted Jun 20, 2011 at Thinkinuous
Today's short discussion led me again to the question "Business Analyst vs System Analyst". I feel now that the discussion was talking more about BA than SA. I found this statement "The Systems Analyst role attempts to provide a bridge between the business requirements and the technical definition of the IT solution. The Business Analyst role is primarily about documenting and gathering the business requirements. The important point to note that the two roles are complimentary, you need both to make a successful IT project." Check for full article. I usually see the SA as a clever ex-developer who... Continue reading
Posted Feb 22, 2011 at Thinkinuous
Few days ago, I started looking to Clouds! Though, they were there for a while now, but I have been very busy looking down to duties I have. Before, I read about about Cloud Computing, Software as a Service, SaaS, Platform as a Service, PaaS, and Infrastructure as a Service, IaaS, but when I saw Window Azure, I felt this is different than what I imagined. I started collecting more data about Window Azure and I found a nice series on Channel 9, called Cloud Cover Show, which covers news, features, and tips about Windows Azure. I decided to dedicate... Continue reading
Posted Nov 8, 2010 at Thinkinuous
Recently, I came across FluentValidation, a validation framework created by Jeremy Skinner. I browsed the code base & It's very interesting & reflects a great effort. Continue reading
Posted May 4, 2010 at Thinkinuous
Wahid Shalaly is now following The Typepad Team
Mar 15, 2010
In my previous post I talked about story of ORM & ME. That may show that I'm fond of ORM, and I do. But, my humble opinion, there is unsaid fact that ORM is not suitable for every time & every project. It happened that I worked for an employer who has a mission-critical system that integrates with other e-government solutions. System was running fine & business was going on. But from point of view of a developer this system was a nightmare. No one will be happy to touch a Web Form. Where's the problem? The system didn't have... Continue reading
Posted Mar 10, 2010 at Thinkinuous
Thanks Mina for stopping here. I'd like to say that NHibernate & ORM are interesting but they are not the full story. I think this should be in Part II of this story that I'll write about as soon as I got time to do.
Toggle Commented Mar 8, 2010 on ORM & ME, story I like to share at Thinkinuous
1 reply
Thanks Emad for sharing this. Regarding your comment, I can agree with you that the basic & the only functionality for ORM tools is to persist data. But using a new tool or technique sometimes changes the way you think or act. So as I mentioned, It changed my perspective from being interested in how to store values in some database, to realize that I should concentrate on entities themselves which represents the real business. So u r true :) But, I hate to think only about just saving data. Just wait for the next post, although, I'm a very lazy blogger :) It's related to the point & complementary; insh' Alalh.
Toggle Commented Mar 6, 2010 on ORM & ME, story I like to share at Thinkinuous
1 reply
It has been a journey so I’ll try to emphasis only the important stopovers and turnovers I passed by. Back in 2005, I was still new to .NET but with good professional & unprofessional experience with many different other languages. I started like everyone and I say like everyone because I found that there's a path that unintentionally many follow it step by step. May be some was faster than others & some stopped & didn’t continue. This path represented a natural evolving path of ideas & techniques for me & many others. I started from reading about Data Access... Continue reading
Posted Mar 3, 2010 at Thinkinuous
The last two days, I have challenged myself & had a nice experience. Although, I didn't work on Java before either professionally or during college, but I challenged myself to install Android SDK & run a Hello World famous example. First day, I've downloaded & installed all requirements. I felt strange at this time because I found myself slightly familiar. I know what is Ant because I used NAnt before & when I browse the example code I can relate every keyword to a corresponding C# equivalent so I don't feel like in enemy territory :) But I failed to... Continue reading
Posted Feb 21, 2010 at Thinkinuous
Wahid Shalaly is now following iPhoneHacks
Jan 14, 2010
I came across an article with the title "How to think like Bill Gates" I found it by accident while on twitter. I liked the article but my interest was not about to think like Bill Gates, or not, but I was interested about how to think Right. I found that the article can be utilized for that meaning very well. So, I decided to concentrate its content in a small recipe that I can always go back for it. The article has ten major points under the title 10 Ways to Think Like Bill Gates & I found them... Continue reading
Posted Dec 12, 2009 at Thinkinuous
I found out that Planet Venus is an active project, last update was in 25 June 2009, that you can download it from here. You should install Python 2.6 which is latest stable version, let’s assume you installed it to c:\python26. You’ll need also to install Python Extensions for Windows, pywin32. Then, add Python interpreter, c:\python26\python.exe, to path like in the screenshot. Now, let’s start by extracting the Planet software to a folder, let’s call it c:\venus. You can find a good documentation that can assist you during installation & configuration in the subfolder c:\venus\docs. Open it now & go... Continue reading
Posted Nov 15, 2009 at Thinkinuous
Well, It is obvious that software development is a virtual world and here comes the continuous need for metaphors and design patterns. A rich source of thoughts can come from experiences with real world professions and hobbies. We all in software development know about metaphors and design patterns coming from Civil Engineering which I think is the major source of metaphors and design patterns. So, we have Software Architecture, we ‘build’ software programs and create ‘foundations’ for them. We use ‘Creational Patterns’ like ‘Factory Methods’ and ’Builder Pattern’. The rise of Agile Software Development came from understanding that building a... Continue reading
Posted Oct 22, 2009 at Thinkinuous