Posts

Writing code is a mind and time-consuming process, a short story to prove

 Two days ago, while I’m trying to test a Customer module that I had codded, testing some data insertion from my code, I found out my insertion code on exception does not roll-back the insertion, I use to make this kind of transaction handling  at the DBMS on the sorted procedures, but I decided to make this from my code this time, so I searched that, and on C# .net you can use what called TransactionScope , which I implemented successfully, I wasted another hour on reading about the other types of transactions that available on .net framework, implicit and explicit , on one method or through the whole methods and across threads, “I hated threads!” I said, “Let's check about it … no! let’s get focused”.  So I continued my tests and based on some new requirements that I just remembered to do, I have to add forging a key relationship between the Customer table and Company table, that each customer MUST be linked to a company that s/he worked at, this is a simple change, r...

Troubleshoot something you don't know!

One day, three years ago, I found my self supporting users that working on a solution/system for call center department called Avaya Elite, and somehow, I suppose not only to operationally support the system but also to make web application & desktop application that integrates with the earlier mentioned solution. The idea was simple, we have a solution that controls the Telephone Transactions on the company, part of its tools is a desktop application linked with an application server that's controlling the Inbound call center and the Outbound call Center . for the client desktop application, we need to link it with an application that shows information about the caller (in case of inbound) or information about the one who will be called (in case of outbound) from the company's ERP. The above was an overview, as I will not go farther in details on this, but I will describe the situation that I faced: There was no documentation provided from the solution supplier...

Losing Work weight: Stop working sugar!

I am at the point of my life that, I stand over the weight scale and I feel it screaming from my overweight! I'm ashamed of my shape, my clothes did not fit my body anymore, and I feel heavy while I'm moving around. The weird thing that I do exercises! at some weeks every day, but I still gaining weight, still feels heavy as an elephant!  After watching this video , I understood why I'm having more weight even when I exercise, it's simple, the amount of calories that I'm taking from my food is more than what my body needs, so I decided to stop having sugar on my daily meals, it was hard I admit it, but I really felt healthier after tacking this decision, I can feel my mood changing during the day to be better, and less stress or boredom mood swings during the day and I can feel my body starting to transform into its fitness shape, That doesn't mean I'm fit right now and in good shape! but I can see a shred of real evidence that I'm going in t...

Blog RefWyWen = new Blog(); //This blog is about refactoring: why and when should be done?.

Image
These days I'm enjoying reading "Clean Code: A Handbook of Agile Sofware Craftsmanship " by Robert C. Martin, which I recommend any software developer to read because it makes me feel smart and dump at the same time! smart when I shout: That what I always think how code must be written! and dump when seen my code is messy as hell! So here I will try to summarize what I find the "two" most common mistakes that we as software engineers fall into most the time by noticing my Smart/Dump moments, and those mistakes not only brings more bugs to our code but also makes the code harder to maintain to fix those bugs. First Mistake: Naming wrongly! The book starts with the following image: which makes me really thinking: "what makes me say WTF while reading a code?" and I notice my self saying that -even on my own code- on two scenarios: Names! Reading the name of a class, variable, method ... etc, that is shorted in a way that lost its meaning or...

How to start a new Task || project ?

I always have that issue of starting a new thing, whatever that thing was: a requested task, a project, documentation to write, or even a function to be refactored on a small code. It's a moment of freezing and fear, what I should do? where to start first? and how much time it takes to be done? and of course, the most annoying question is the last one: How much time it will take, when can I deliver the request? Solving this, Dr. Jordan Peterson has a nice technique to deal with a starting-new-thing phobia, is just to start! he describes the fear of starting as fear of failure, however, -he continued to argue-one cannot avoid failure unless there is a solid material to work on, something to fix... Something! and there is nothing to fix unless you start, so one must start anyway. By this technique, you will find your self starting the documentation from the middle, your code from "Utils" classes, and your task from the " Dears, Done. " email, and it is not ...

Implementing Firebase on ionic project: Errors and solutions - 1 of 2: Client side

We were working on a Mobile Application project for the internal employees in the company, it was build on ionic as I mentioned before here  , The reason of building it on ionic is that: ionic is hibered and for some extend its fast, and Angular is flexible on coding.  So, we decided to use onesignal push notification client to push our notification, rather than its free, it was clear and easy to use because of it's will written documentation, and the website is opened on Sudan.  But..  Suddenly,  onesignal website was blocked from Sudan, but the push notification API for the server side was working,  Then the API stopped and to work you have to run the code on Server that access the internet through VPN. but still you can recieve the notification on the phone without no issues.  Then they even blocked the client side, and to receive notification the phone must access the internet through VPN! and this is impossible to be implemen...

The Failure of Building Remote Development Environment

Image
Before ... The Project that we are working on This days I am working on project that its end result is a Mobile Application for DAL Engineering Division Employees on DAL Group .  The main objective of the App is to make the employee communication with the company HR department easier. so the employee can fill his requests (leave, loan ...) by the mobile application, therefor the submission and the approval of the request will be automated.  Moreover, HR department wont to make their announcements for the employee faster and on the hand, so each employee can know his KPIs, the listed courses that HR assigned him for .. etc.. etc. Its a big project that contains web APIs in the back-end, and heavy systems integration on the database layer (Employee management system, And Employee Payroll system, which developed internally). It will also contains an Admin web application to push to employees a certain  type of notifications and assign to employee courses ...