Notes

Notes, thoughts, opinions, etc.

  • Goodbye bash

    Having written my fair share of bash scripts last year, I decided to replace it with something else. This is how I decided to replace it with Python.

  • Code review guidelines

    In this post, I’m describing some do’s and dont’s about code reviews. I’m not focusing on the technical side, which depends on the technology stack, but on the process and the etiquette.

  • Developer Utopia

    What happens when developers get the full freedom to work on the things they want with the tools they want? “Get the best people, give them the best tools and get out of their way”. That should work. The reason it doesn’t, it’s because we haven’t defined what “best” people means.

  • On git branching models

    Usually, when you work with a version control system like git, development happens in multiple branches. It’s funny to see people’s faces when you tell them that the author of Continuous Delivery, Dave Farley, advocates “no branches”. I had that same surprised face myself the first time I heard that concept. But, so far, I haven’t really worked somewhere where no branches were used.

  • Ergonomics and APIs

    According to my Google search, ergonomics is the study of people’s efficiency in their working environment. The developer’s working environment consists of the physical world but also the virtual world. In the physical world you desire a quiet office, good desk and chair, proper lighting, the best tools your budget can buy, etc. In the virtual world, you have software tools, IDEs, etc. But when writing code, the working environment also consists of the APIs you code against, as well as the code you have written for yourself.

  • Unicode and Greek accents pain

    As a Greek developer, I learned early on the importance of character encodings. But even in the age of Unicode, troubles still exist.

  • Keeping it simple with microservices communication

    The term microservice has been getting a lot of hype and attention. I have to admit that I fail to understand what’s the big deal about it. The best practices about microservices are similar to the ones we should apply to everyday software design. Avoid tight coupling. Single responsibility principle. Keeping things simple. Even those principles go back to the old Unix mantra of doing one job and doing it well (and that’s from 1978). And even that could in turn be labelled just “common sense”.

  • On Code Comments

    I recently joined a different team at work, working on a whole different project. For the past one to one and a half year, I did my bit in building up a culture in my old teams regarding code quality and the moral responsibility of a developer towards the codebase (also known as boy scout principle). Now, we have to start all over from scratch with the new team.

  • Worked fine in DEV, OPS problem now

    During the past year at work, we did a complete rewrite of our websites from scratch. Not only did we aim to build a mobile-first responsive website with high performance, we also tried to do it with continuous integration and continuous delivery in mind. All that on a proprietary platform not built with CI in mind. This was a very big challenge, which involved a culture change in a lot of people. Unfortunately, the project had a hard deadline. Things were left out. Corners were cut.

  • Backup Strategy

    Taking a backup was arguably easier back in the days. You had only one computer, your data could fit inside a few floppy disks and the only cloud in your life was the one that would indicate chances of rain later in the afternoon. Things are a bit different today. Nevertheless, the need to preserve your files, your work, and your digital memories, remains the same.

  • 20th Century Code

    I spent the previous week migrating some old code I had laying around into GitHub. More specifically, I had a single git repository named “Legacy” that contained all sorts of projects and demos I had created over the years. It’s difficult to find exact dates but I found a few that go as back as 1998, so I can justify the title of this blog post.

  • When developers cannot unit test

    Unit tests is an essential method of ensuring quality and predictability of software. In my current work, we have been going through a hard learning curve involving many factors:

    • developers not familiar with unit tests.
    • a proprietary technology ecosystem where the community is typically not practicing unit tests at all.
    • a legacy code base not written with unit tests in mind
  • On the left-pad drama

    This week the internet exploded in drama after 11 lines of code got unpublished from npm. If you didn’t read about it, the summary is that the developer of left-pad removed his package from npm, after npm renamed another package of his because of some name conflict with some other company’s trademark or so. Lots of other packages broke because of this due to the missing dependency. What is interesting here, is that this removed left-pad package consists of a single function (only 11 lines of code). How can that tiny package break the internet?

  • Keepass - open source without VCS?

    For reasons that are not important, I have managed to be dependent on two different password managers: Keepass and KeepassX. Wanting to get rid of one of them, I started looking around in their websites.

  • Learn Java again

    I’ve been doing .NET for a long time. I started working on it exactly when .NET 2 was out, so I was lucky to avoid .NET 1 (almost) completely. I love .NET and C#. I think it’s not a coincidence that the main person behind it is the same person who was behind my favorite products when I was a teenage coder: Turbo Pascal, Object Pascal and Delphi. There is some sort of inexpressible similarity, I think, that reflects the designer’s choices in the framework and the language.

  • Sharing a green car

    There are some companies here in the Netherlands that rent electric cars. You can pay a subscription (there are various payment models actually) and you can pick up any car that is near you (you can see the available cars on the web). It’s an interesting solution and I happened to share a ride last week.

  • Τουλάχιστον ο Κώστας ζει

    Δεν υπάρχει κατάλληλος τρόπος να αρχίσεις για να σχολιάσεις όλα αυτά τα θεαματικά που ζήσαμε αυτή τη βδομάδα που πέρασε. Θα ξεκινήσω με την σειρά 24, αυτή με τον Τζακ Μπάουερ και τους τρομοκράτες. Σε κάποιον κύκλο, ο πρόεδρος Πάλμερ (ο αδερφός, με το μουστάκι, κι εκεί οικογενειοκρατία) απειλεί κάποια χώρα της Μέσης Ανατολής ότι θα τη βομβαρδίσει αν δεν δώσει πληροφορίες για τους τρομοκράτες και τελικά όντως εκτοξεύει ένα πύραυλο, υποτίθεται πυρηνικό. Υποτίθεται γιατί την τελευταία στιγμή ο πύραυλος πέφτει στη θάλασσα και ο πρόεδρος λέει «ήταν μπλόφα» για να τους κάνει να μιλήσουν. Και το πετυχαίνει. Και παίρνει όλα τα συγχαρητήρια και τον αγαπάνε όλοι και τον εκτιμάνε για τις ικανότητές του να κυβερνάει.

  • Greeks in space!

    I just got a video from an event in Paris that shows the Greek vice president of the government [*] been kicked out by several Greek protesters. A few days ago, in Berlin, the Greek prime minister had also troubles with Greek demonstrators that interrupted his speech. I think the one place Greeks haven’t demonstrated yet is… space!

  • Τα νέα κατορθώματα των ΜΑΤ και άλλες ιστορίες

    Σε κανονικές συνθήκες, όταν κάποιος παρανομεί, η αστυνομία αναλαμβάνει την διερεύνηση του εγκλήματος και παραδίδει τους ενόχους στη δικαιοσύνη. Η δικαιοσύνη δικάζει και απονέμει τις ποινές ή αθωώνει.

  • Pomodoro style

    Δοκίμασα χθες την τεχνική pomodoro για να κάνω λίγη δουλειά στο ResxTranslator. Την τεχνική την πληροφορήθηκα από αυτό το άρθρο. Η λέξη pomodoro είναι Ιταλική και σημαίνει ντομάτα. Η τεχνική pomodoro λέει ότι δουλεύεις για 25 λεπτά σε ένα task και αυτό το task το λες pomodoro. Μόλις ολοκληρώσεις ένα pomodoro κάνεις 5 λεπτά διάλειμα. Κάθε 4 pomodoro κάνεις ένα μεγαλύτερο διάλειμμα, π.χ. 10 λεπτά.

  • Δημοτικές και Περιφερειακές Εκλογές 2010

    Το πιο ενδιαφέρον με αυτές τις τοπικές εκλογές είναι το αν το αποτέλεσμά τους θα οδηγήσει σε εθνικές εκλογές ή όχι.

  • Protest for Rotterdam zoo

  • Flattr: Social Micropayments

    [ Ελληνικά ]
  • How to fail your project

    The following list presents a few ways to screw up a project. Please use it only to save your project and not otherwise. Using this list for intentionally screwing up a project is forbidden.

  • Δύσκολοι καιροί για φιλέλληνες

    Τον τελευταίο καιρό η Ελλάδα απασχολεί συχνά πυκνά την επικαιρότητα των ξένων μέσων ενημέρωσης. Για πολλούς ανθρώπους, η Ελλάδα ταυτίζεται με οικονομικά προβλήματα, απεργίες και αναταραχές. Οι Έλληνες παρουσιάζονται σαν τεμπέληδες που βγαίνουν στη σύνταξη στα 50. Συχνά έρχομαι αντιμέτωπος με αυτό το καινούργιο στερεότυπο και πρέπει τότε να εξηγήσω στους δυτικούς φίλους μας ότι ουσιαστικά το 8ωρο δεν υπάρχει στην Ελλάδα για τη δική μου γενιά (εκτός αν είσαι στο δημόσιο) ενώ τα όρια συνταξιοδότησης είναι περίπου τα ίδια (65 για την Ελλάδα, 67 για την Ολλανδία).

  • Δεν θέλει να δανείσει η Σλοβακία την Ελλάδα

    Διαβάζω ότι η νέα κυβέρνηση της Σλοβακίας αλλάζει την απόφαση που είχε πάρει η προηγούμενη και λέει τώρα ότι δεν θέλει να συμμετέχει στο πακέτο βοήθειας προς την Ελλάδα.

This site uses third party cookies from Google Analytics and Google AdSense x