-
GitLab
I recently made the switch from Bitbucket to GitLab, and I wanted to share my experience.1. Open Source: GitLab is fully open source2. User-Friendly Surprise: Moving my code repositories felt like a breeze. GitLab’s interface is not just pretty; it’s genuinely user-friendly. The import functionality was actually fully automated. It could not be easier.DIY Freedom:…
-
VSCode and VsCodium
Although VSCode is open source, Microsoft while building the binary executable adds proprietary code that collect information about the users even if they opted not to. The community created VsCodium as a fully open source alternative without these Microsoft propitiatory code. It has exactly the same features and uses same extensions. I am using it…
-
Replacing Google Email, Contacts and Calendar
Because we got used to major service providers such as Google, or Microsoft, we think of these services, email/Contacts/Calendar as one integrated service, but once you move away from them, you will find things a little bit more difficult. The point is to find a service that provides you mobile and desktop access to them…
-
Removing Google Drive and Docs
Simply I reverted back to use my Flash drive as a backup mechanism. I removed Google Drive application and stopped using Google Docs. I already has Office, so no real need to use the cloud. Later on, I went to the Drive website and removed all my documents and also all documents that was shared…
-
Moving away from Google Photos
Recently I became more aware of security issues and worry about how free google services are not really free. They are collecting my info and sell it to advertisers. Almost all websites and mobile apps that has ads, those ads are served by Google. Although you may hate these too much ads, that web site…
-
Android Performance Story
I am developing a personal finance application and it uses SQLite to store all of its data. I had slowness in the application where I calculate balance for all accounts. The first thing that came to my mind is that the DB access is slow and I have to research if I should add indexes to the…
-
Using UUID as a Primary Key
I am developing a personal finance application on mobile and web. Data should be synced two ways between the mobile app and the web application. The data schema is: Currency table with currency name and conversion rate Account table with name and a foreign key to its currency Transactions table with an amount, withdraw account related, deposit account related,…
-
JHipster Pros and Cons
Jhipster is a web application scaffold that generates backend and frontend code for CRUD applications. You describe entities in JDL format among other options and Jhipster generates backend server and frontend UI for you. Here are some of the advantages: Fast application code scaffold. In a short time, an application is generated. Many options exist on…
-
Refactoring and Git Developer Story
I refactored a critical long class that has very long member functions. My main intention was to: Extract many smaller member functions to enhance class modifiability. By breaking the long member functions into smaller ones, it will be much easier to understand what the class is really doing. By having many smaller member functions, we…
-
Lesson Learned: Code Regression
Giving advice is not very effective most of the time. Sharing real experiences and trouble and how it is handled is more effective. The best is whoever learns from others mistakes. So I am sharing here a story where I and my team introduced a bug and it was leaked to the production environment. I…
-
Refactoring Tools
I used IntelliJ to do some package renaming refactoring. I was confident that it was safe to do so, however, other parts of the code had changed when they should not have. Later on, I discovered the problem and fixed it. I used to avoid find/replace tools or grepping because it is dangerous as you can…
-
Technical Codebase Visibility
In the last post, I wrote about the problems that happen because of the lack of technical codebase management. First, you can not do anything without knowing your status right now as well as where you are heading. Putting your goals in mind, then you are fully equipped to do the right things and monitor…
-
Lack of Technical Management
I worked on many projects and found a repeating anti-pattern that is happening to the codebase, which is the lack of technical management. Here, I am sharing my thoughts about it. The problem definition: The team has no understanding of the size of the product and its complexity. There is a lack of metrics and…
-
Personal Maps in a Kick of Meeting
I was in a KOM (Kick-off meeting) for a new Agile coaching project with some organization in Egypt. In my first day, first meeting, I planned a simple Agenda as following: Know about the team Know about the product Know about the project And build a list of problems and objectives for the project So…
-
Organizing Application Classes into Packages
In Java language, we have encapsulation at many levels. First, is the class, as it may has private data members and methods. It has the benefits of hiding complexity and provides a layer of abstraction. Second is the package. It provides access rights to sibling classes inside it. Classes defined without being public are private…
-
Why Velocity is a Broken Performance Metric?
In Scrum, we have two main metrics to measure Sprints. The first one is the Velocity, which is defined as the total story points of completely developed and tested User Stories. The second measure is Burned Effort, which is the total number of hours spent by the team throughout the Sprint. We use Burn Down…
-
Is Time Pressure an Acceptable Reason for Poor Quality?
I worked with many teams who had the same issue. An intense time pressure that led them to react by doing either of or both of the following: Coding in hurry, and falling into too many cycles of testing and bug fixing, which delayed them much more time and made the situation worse. Delivering a…
-
Google Maps and Agility
I commute driving my car almost daily from 2 to 3 hours, . I live and work in one of the biggest and busiest cities I think, Cairo. If you are not regularly commuting in a busy and a big city, possibly you cannot imagine the hassle and uncertainty of it. It is disappointing. I face…
-
Joined Happy Melly
I just joined @Happy_Melly network! and became a supporting member. Why is that important? I love my programming work and find it a joy and it was miserable why current management practices make people unhappy and disappointed unnecessarily. But simply I have no solution. I worked as a manager for 8 years and still can…
-
Session Review: Next Evolution of Agile Leadership Roles
Session: Agile Project Manager, Product Owner and ScrumMaster are all broken – The Next Evolution of Agile Leadership Roles At: Holiday-inn Hotel … City Stars, Cairo, Egypt Date: 8 Sept 2016, ——– There was a QA session followed by a session by Ahmed Sidky. My comments here are related to Sidky session. In…