George Stefanis

Cowboy Programming


Recently i stumbled on this, fairly, old article from Evan Miller talking about Julia programming language. It’s a nicely written article about the strong parts of Julia and it’s worth your time. Early in his article, Evan, mentions cowboy programming as a method that most developers are using to quickly create something that works. I am doing the same and i bet you do too.

My glasses are from Texas


One of the first things i remember of my self is being really really young (5-6 years old) and sitting very very close to the TV and watching Inspector Gadget. Turns out I was nearsighted. I remember myself wearing glasses since the age of 7. There are no pictures of me without glasses. I kinda like glasses too. The problem is though that my prescription is way too strong, it’s not uncommon for my lenses to cost around the 300£ mark. If you add the frames on that my glasses usually cost anywhere around 400 - 500£. So changing glasses is a rare thing.

Removing a specific commit from Git


Today was one of those days that the team realises that one of the commits, from the past couple of days, was introducing all sorts of side effects. The commit itself was doing some heavy refactoring on a piece of code that wasn’t supported by unit tests, therefore introducing defects. The obvious thing to take from that is that you should ALWAYS have unit tests around your code. If you don’t this is your chance to write them before you refactor. But that’s a story for another day.

Getting Started with React: The very basics


React is a, fairly, new Library created by the awesome people at Facebook. React is an excellent library for creating components and use it as the V in the MVC. React is easy to use all by itself or use it as part of the BackboneJS application, or any other way you fancy. That versatility is what makes React awesome. Also you can create mobile applications using React native, which is really great.

The Case of recursive functions in Javascript


Recursive functions are awesome! It’s one of those concepts that make software development magical. The ability to use a function, inside itself even before you complete the implementation, is mind blowing. Also recursive functions are one of the strong points of functional programming, and let's not forget that Javascript is a functional language.

Side projects: From experiment, to idea, to hitting the wall


For the past 6 months I’ve been working on a new side project. It all started when i wanted to learn a bit more about BackboneJS. Even though backbone is very mature, i didn’t have the chance in the past to work a lot with it and i wanted to see what it can do. I also started looking at offline first applications and this is how i got into PouchDB/ CouchDB ecosystem. So here I was, playing with two different technologies at the same time. And then it dawned on me, what if I combine them into something useful, but what?

What is a new project?


Recently I had a conversation regarding a project I'm working on and the potential of adding more members to the (one man) team in order to complete it faster. The project is on top of an existing code base and the point of it is enhancing the existing functionality. The conversation started with estimating the work that needs to be done (Epics in the Agile lingo) in man-hours. After everything was estimated I mentioned that the estimated time should be multiplied by 2 because the new members will have no knowledge of the code base and they will need time to catch-up. I also mentioned that they won't be working on a new project.

Dress code and start-up culture


When I first started looking for a job after university, almost 6 years ago, I was really concerned about how should I get dressed for an interview. Several of my closest friends helped me out and advised me to wear a suit. After all you can't err on the well dressed side of the spectrum. It sounded correct and made sense. The fact that I'm coming with a tie and a suit is a gesture of my respect towards you and your company. Simple. Fast forward 5 years and things are way more complicated!

Chrome Dev tools 101: The Timeline tab


Most of the web developers I know choose Chrome as the browser of their choice to test their apps, debug and ultimately browse the web. There is a very good reason for that, and the reason is called Dev tools. The dev tools in chrome, along with the many addons, provide the developer with a platform ready to develop, debug and experiment at any time. If you haven't checked the dev tools yet, open your browser and press Alt+Cmd+i on Mac OS (or ctrl+shift+i if you are on windows or linux). You should be able to see something like this:

Creativity vs Adding Business Value. Keeping yourself sane.


Recently I read an article called Don't Call Yourself A Programmer. I have to admit that the article makes some very valid points and also tells some very hard truths. It is supposed to be read by junior developers but i found myself learning and realizing lots. For example the article mentions that most of the software that is being written is for internal business consumption, as something bespoke that helps a small number of users to improve a workflow. It's useful for new people in the industry to know that chances are you won't be working to the next big social media or even to anything that will be used from more than a couple of hundred users. It also reminds its readers that the point is to add business value and save money for the business. After working for almost 6 years in the industry i now know those things but having someone to remind you is somehow depressing.