Hello everyone, I have recently decided to start a blog for sharing my thoughts about programming, software, web development and everything that goes around those topics. Programming is not the simple skill you acquire within a defined period of time and keep using it over and over again within repetitive ...| The Code Ship
HAR files extracted from HTTP sessions include a lot of useful data that can be utilized for creating custom network and performance audits. Their format though, is not that compatible with analysis tools like Pandas or Tableau out of the box. In this post, I go over a super easy approach towards parsing and transforming them via Objectron in JS.| The Code Ship
Service workers is one of the most useful features that came to modern browsers. Implementation can be quite tricky though and prone to a lot of issues that could slip into production. I'll be discussing my set of tips and best practices on the subject.| The Code Ship
When accessing a Core Data database, you might notice that the timestamp is not exactly a unix epoch timestamp but an Apple specific one instead. In this post, I explain the difference and how to convert that into the popular Unix timestamp that we all love.| The Code Ship
Generating sample data based on the combination of specific parameters and options is a common use case. In this post, I illustrate utilizing a simple recursive approach for generating all possible combinations from input into a dataset.| The Code Ship
If you're reading this article, I'm assuming that you're already sold on the numerous benefits of securing your website with an SSL certificate. Wether it's for encrypting data transfers, establishing more credibility or even improving your SEO ranking (yes you heard it right) it's now easier than ever to obtain …| The Code Ship
Building your own vanilla HTML5 game without dependencies might sound like a tough and odd job to do. In fact, it's a really fun experience and a huge opportunity to sharpen your JS and general programming skills. One awesome competition that empowers this movement is the JS13K competition. It ...| The Code Ship
I usually have a couple cron jobs scheduled, executing backup scripts between EC2 instances and store the data on S3 via Python's Boto library. Everything was running smoothly for several months until one day, the script was failing to authenticate with a 403 error from AWS S3, on one of the EC2 instances...| The Code Ship
I've been using vim daily for almost a year now; it has been a wonderful (sometimes frustrating) experience. Today, a friend of mine was informing me about his interest in jumping into Vim. I thought I'd give him some advice from what I have learned over this period ...| The Code Ship
In a couple of days I will be mentoring a team of students at the NYUAD 2015 hackathon - Building Apps for Social Good in the Arab World. Since I tend to participate often in development competitions and hackathons, I thought I'd compile a comprehensive list of essential tools needed ...| The Code Ship
As the end of every year approaches, we start to reflect back on it. As software developers, our questions can be many, What did I work on? What did I produce? What mistakes I have done, and what did we learn from them. Today, I'll seize this opportunity to ...| The Code Ship
In most programming languages, an array is a data structure represented by an arrangement of items at equally spaced addresses in computer memory. Unfortunately, that is not the case with Javascript. A Javascript array is simply an object with array like characteristics reflected through certain methods. Apart from being much …| The Code Ship
Python is rich with powerful features and expressive syntax. One of my favorites is decorators. In the context of design patterns, decorators dynamically alter the functionality of a function, method or class without having to directly use subclasses. This is ideal when you need to extend the functionality of functions ...| The Code Ship
If you use Javascript often you might have come across the need for delaying the execution of code within intervals of time with repetition. This is were the native setInterval function comes to use. Despite being useful in many applications, setInterval's shortcomings could blow up your application in some ...| The Code Ship
I was using apt-cache in Ubuntu to get a list of dependencies for a certain package and parse the output programmatically, eventually I wanted to programatically download and package them within an archive for offline installs later on. I was not really sure about the exact meanings of the output ...| The Code Ship
When working with web applications you might run into the need to fetch remote content via Ajax where that content isn't necessarily JSON, such as HTML or config file, or even request JSON content from a remote server that doesn't support JSONP. This is when setting up a ...| The Code Ship
I've been doing some operations on URLs in Javascript where I needed to extract different parts from a string URL, such as the domain, port, and most importantly the parameter values. I really wished there was some function which takes a string URL and breaks it down into an ...| The Code Ship
At many instances when doing Ajax requests in Javascript, a serialize function comes in handy for creating a string in standard URL-encoded notation for the request parameters. The most widely used serialize function is that of jQuery which works great on forms. But what if the request is not based ...| The Code Ship
Recently I have been following a couple of online courses on Coursera and udacity, and I must say the quality of the material is really good. Browsing through several programming and computer science courses you can notice that the quality of the material is at least as good as many...| The Code Ship
Hello everyone, as you can see I have just rolled out a new design for this blog, the old one was nice yet had some evident problems in terms of UX, layout and colors. So I decided to revamp it into this. The new blog design is simpler, the layout ...| The Code Ship
At many instances when working with javascript objects, different pieces of code can give the same result on the surface yet underneath they could be different. One scenario is when adding methods to your Javascript 'classes'. First of all lets agree on the fact that there are no classes in ...| The Code Ship
As part of my programming workout I was going through some nice Google code jam exercises and came across an interesting exercise from the 2009 qualification round related to matching words against patterns. Not hard but interesting to solve.| The Code Ship
Sometimes I come across JavaScript code with a lot of null checking against properties that are uninitialized, which is really wrong. Many people might think that uninitialized properties get a default value of null, but that is not the case despite having something like foo == null resulting in true, assuming ...| The Code Ship
One of the most important platforms nowadays is the web, and Javascript incorporates a large share from any web application today more than ever. As we get more into the single page applications trend and Javascript on the server (such as NodeJS), this language can't be really dealt with ...| The Code Ship
I have recently got into Django and built a small project with it which is this blog. Then came the time for me to deploy the project on an unmanaged VPS, the process went fine yet with a few problems here and there due to the lack of a definitive ...| The Code Ship
Sailing through a sea of code,journey into computer programming and software development.| The Code Ship
When accessing a Core Data database, you might notice that the timestamp is not exactly a unix epoch timestamp but an Apple specific one instead. In this post, I explain the difference and how to convert that into the popular Unix timestamp that we all love.| The Code Ship