development, motivation, history, China Bored Of Your Daily Job? You do the same things every single day. You write code to solve a problem in the same way, week after week, year after year. You have reached the point where you think
development, working life, bugs Optimization Heisenbug Have you ever seen a bug that disappears when you try to debug it? This situation has a name: heisenbug[1]. A special type of heisenbug happened to me at least twice and
personal, development, embedded Be Careful With Those Resources Once, a friend of mine working for a big tech company told me: "I cannot give you the exact numbers but I usually work on a system with thousands of CPU cores
development, personal Why Tabs Are Better Than Spaces I think there is no doubt that readability is in the eye of the beholder. If you are customized with a certain code style, it will take some time before you become comfortable
development Disciplined Programmers Compared to C++, Python object oriented support lacks of the modifiers private and protected. Even if you can prefix an internal member with a double underscore, this is merely cosmetic. Nothing prevents accessing
development, choices Choices And Questions This is something we rarely think about, but, as programmers, every day we have to make several choices. Every step of our job involves a (conscious) choice. Which programming language, which technology or
development, working life, logging What To Log Ideally a log file should contain the exact amount of information you need to understand whether the system/application is running correctly or to find the causes of a bad functioning. Unfortunately, often
books, creativity, development About Creativity: Tolkien Vs Tolstoy They are great writers. They are known worldwide. They are the authors of two of my favorite books: Lord of the Rings and War and Peace. Those books have many things in common:
personal, working life, development Quick & Dirty Solutions Can Blow Up In Your Face Few years ago, I have been asked to create a component to manage a collection of items for an embedded system. The specifications were well written (actually the best I've ever received) and
development, personal, working life How I Estimate How long will it take to develop a particular project? This is a question that it's never easy to answer. When you start estimating, you have a partial idea of what you have
project management, agile, development Is Agile Evil? I’ve never applied real agile methodologies in my job, mainly because my company uses a tweaked waterfall process. However I’ve always looked with curiosity to other systems that can make me
C, development, GLib The Size Of Allocated Memory In a comment on Google+ to my previous post The Size Of Strings, my colleague Lee Berg asked: Other than sizeof(), what is the best way to ensure a safe implementation? This is
C, development, tips The Size Of Strings It's quite common to find pieces of C code like the following: void do_something() { const char foo[] = "This is foo"; ... func(foo, sizeof(foo)); ... } This is perfectly legal in C
personal, development Are You Experienced Programmers? Today, my nine year old daughter told me that she is able to do everything with her kick scooter. She mastered it. Even if she uses kick scooters since she was five (that
Lua, development Playing With Lua Undefined Behaviors Lua is a scripting language suitable for embedded systems. In fact, its interpreter has a small memory footprint and an high speed (there is also a JIT compiler available on some architectures). The
personal, development K.I.S.S. And The Experience This post (The Evolution of a Software Engineer) to a non-experienced developer may seems just hilarious. Instead it shows the reality. It takes many years (maybe even more than ten) to understand that
development, PLC PLC Programming Last week, my colleague Tania asked me if I could help her to create a single question to quickly understand if a developer has ever dealt with a PLC. I have to admit
development, working life, personal The Day That Never Comes The deadline is close. The customer is waiting for your fix. Your mate needs your patch before going home. No matter which of the above situations applies: the only way to accomplish your
development, working life, personal Code Will Tear Us Apart There's nothing worst than read the code of someone you consider a good programmer and find tons of anti-patterns. Of course often there are good reasons behind some choices. Such as deadlines. Jokes
development, music Studio Vs Live In Software Development I like rock music. And I love live performances. Well, you know, studio albums provide a great sound quality and the cure of small acoustic details. But songs registered during a tour are
development, personal Which Programming Language You Should Not Learn Lately, I've seen many times young developers asking which programming languages are worth learning. Obviously I've seen a lot of superficial answers, mainly because people tend to suggest things they like. Programming has
development, personal, Eclipse, IDEs Eclipse: Good Editor, Bad Build System For a large C/C++ project I'm involved in, Eclipse has been chosen as default IDE. I have to say that I really like the editor. It has some functions that make me
development, working life Narcissus Vs Getting The Things Done Do you know who Narcissus is? He is a character of ancient Greek mythology, so attracted from his own beauty to forget to eat only to look to his reflection in a river.
development, personal Please Optimize Every now and then, I find quotes against optimization, just like this: The First Rule of Program Optimization. Don't do it. The Second Rule of Program Optimization. For experts only Don't do it
development, working life Don't Wait For Bad Things To Happen This thing has happened to me so many times that I start to think bad luck is real. The situation is the following: a product is on the market since several years and