- Letting Agents Fail – Random Thoughts on Agentic Software Engineering – 2026-10-18 (2026-10-18) - I can iterate on a spec with an agent again and again, and it never fully converges. At some point, the only way forward is to let the agent fail. On the grass, not on the highway.
- Random Thoughts on Agentic Software Engineering – 2026-09-30 (2026-09-30) - Coming back to work on a codebase where I was part of the team that wrote the first lines of code: Defender for Storage Malware…
- Exploring AI-Assisted Software Development – Part 4: Endgame (2026-08-31) - Back on vacations and finally had time to come back to this again… so I opened my laptop, started Claude, and entered this prompt: /goal…
- The Agency of Agents: Why Your AI Agents Aren’t Following Orders (2026-02-02) - There’s a recurring complaint: people give AI agents detailed instructions, guides, and specific requirements, only to find the agent does something unexpected that is completely…
- Exploring AI-Assisted Software Development – Part 3: Third Time’s a Charm (2026-01-25) - Drawing from my previous experiences, I started again from scratch. But this time, I was more methodical with the AI coding agent. I’ve been exploring AI-assisted coding…
- Exploring AI-Assisted Software Development – Part 2: Crashed and Burned (2025-08-08) - A week later and after many hours in front of the computer, my project is a complete failure and a great success. Let me explain.…
- Exploring AI-Assisted Software Development – Part 1 (2025-07-31) - I’ve been working with AI coding agents for a while now in my professional environment, and overall, they’ve proven to be quite effective. While they…
- Learning .NET Aspire – Part 3: Deploying a Simple Web App (2025-05-18) - In the previous tutorial we created a simple web app using .NET Aspire. Now we will see how to deploy it to Azure. The simplest…
- Learning .NET Aspire – Part 2: Creating a Simple Web App (2025-05-02) - In the previous tutorial, we took a look at the basic sample Aspire web app works. This time, we’ll create a new app from scratch.…
- Learning .NET Aspire – Part 1: The Basics (2025-04-18) - .NET Aspire is a new “stack” for developing application for the cloud. I’m usually not into opinionated stacks, or stacks in general, because they create…
- Fetching Currency Exchange Rates in Excel (2025-02-01) - While Excel is not a programming language, it is one of those awesome tools that every person should be familiar with. You would be amazed…
- Creating a C# NuGet Package and Publishing it to NuGet.org (2024-12-16) - This turned out to be a lot simpler than I thought. First, we start with a C# class library project, which we can create by…
- Generating Code using C# Source Generators (2022-04-20) - Code generation is one of those things that divides programmers in two – either you love it or hate it. After having worked many years…
- Storing Context Data in C# using AsyncLocal (2022-02-23) - In procedural and functional programming, the way to pass data between methods is by either a parameter (incoming) or a return value (outgoing). This works,…
- Logging in .NET Core Console Applications (2021-05-11) - (Updated after David correctly pointed out that I was missing the Microsoft.Extensions.Logging.Console package. Sorry for all of you who wasted time trying to get this…
- Learning ML.NET (2) – Evaluating and Improving the Classifier (2021-03-22) - In the previous post (Learning ML.NET – Using ML to Identify Lego Colors), we wrote a program that trains an ML model to identify the…
- Book Review – Think and Grow Rich (2021-01-14) - Think and Grow Right, by Napoleon Hill, is highly recommended by many of the financial/investment blogs I read, so I decided it was time to…
- Learning ML.NET – Using ML to Identify Lego Colors (2020-12-27) - There comes a time in every LEGO® fan’s life where you have so many pieces that sorting stuff by the type of piece is not good…
- Uploading a File in ASP.NET Core with Razor Pages (2020-10-08) - In this tutorial I’m going to show how simple it is to create an upload file page using ASP.NET core and Razor pages. The codebase…
- Implementing a Background Task in C# ASP.NET Core (2020-10-04) - Web applications are usually reactive, which means that they receive requests from outside, process these requests, and return a response. At the same time, most…
- Scraping Dynamic Web Pages with C# and Selenium (2020-09-30) - A while back I wrote a post on how to scrape web pages using C# and HtmlAgilityPack (It was in May? So long ago? Wow!).…
- Scraping Web Pages with C# and HtmlAgilityPack (2020-05-06) - Web scraping is fun and very useful. There is a lot of information on the internet and creating applications that use this information is fun.…
- Playing with VSCode: C# Hello World Project (2020-05-03) - Visual Studio Code (or VSCode at it usually known) has become one of the most widely used IDEs, and not by mistake. The interface is…
- Book Review – Remembrance of Earth’s Past Trilogy (The Three Body Problem) (2020-04-21) - The Remembrance of Earth’s Past trilogy is the first Chinese Sci-Fi book(s) I’ve ever read. Actually, it’s probably the first Chinese book I’ve ever read.…
- Book Review – This is Going to Hurt (2020-02-12) - With a strong mix of reality, sarcasm, and medicine, “This is Going to Hurt: Secret Diaries of a Junior Doctor” by Adam Kay is the…
- Book Review – The Dance of the Possible (2019-12-13) - Can you learn creativity? Can you practice creativity? Or are some people just creative and others not? Scott Berkun answers some of these questions and…
- Learning C3.js – Lesson 5 – Mixing Chart Types (2019-10-28) - Previous Lesson: Learning C3.js – Lesson 4 – Bar Charts. As I wrote before, we (humans) have the capacity to get information from visual data…
- Learning C3.js – Lesson 4 – Bar Charts (2019-10-25) - Previous lesson: Learning C3.js – Lesson 3 – Line Charts Bar charts are the method to represent categorical data series, in which each category has…
- Learning C3.js – Lesson 2 – Chart Types (2019-10-14) - Previous lesson: Learning C3.js – Lesson 1 – Getting Started. Let’s do a short tour of the char types supported by C3.js and how they…
- Learning C3.js – Lesson 3 – Line Charts (2019-10-14) - Previous lesson: Learning C3.js – Lesson 2 – Chart Types. In the previous lesson I went broad showing all types of charts. Now it’s time…
- Learning C3.js – Lesson 1 – Getting Started (2019-10-12) - I’m working on a site where I talk about data in a specific field (not going to talk about it or promote it here for…
- Stop Wasting Time Trying to Fix the Past (2019-10-08) - Yesterday I found myself spending a lot of time reviewing old blog posts to see if they moved OK on my latest migration. Posts…
- Publishing to Azure hosted WordPress with C# using WordPressPCL (2019-10-02) - I’m writing this post because I wasted an unexpected (and long) amount of time doing this, and maybe with this post (and this SO question),…
- Don’t Break My Mental Model – Beware of C# Extension Methods (2019-07-23) - I think extension methods is one of the things I love most in C# and is definitely missing in Java. For those that are not…
- Book Review – Homo Deus (2019-06-29) - Yuval Noah Harari is a great storyteller. And he does a great job again Homo Deus: A History of Tomorrow, a kind of sequel to…
- Another Factor to Consider about the High Cost of Software Quality (2019-06-06) - Yesterday I read an article by Martin Fowler titled “Is High Quality Software Worth the Cost?” which really resonates with my experience as a software…
- Book Review – The Brain that Changes Itself (2019-05-28) - The brain is a very complicated system that we are still trying to understand. In the last decades the have been incredible leaps in this…
- Book Review – Start with Why (2019-05-01) - After watching a number of Simon Sinek videos and hearing a lot about this book from many sources, I had to read this book. It…
- Book Review – The 4-Hour Work Week (2019-03-19) - Oh yes. We all dream of this. Working 4 hours a week, and then enjoying the rest of the time for things that we want…
- Book Review – Man’s Search for Meaning (2019-02-27) - In this excellent mind-turning book, Viktor Frankl writes about the deeper meaning of life, and how important this is to all of us. Having lived…
- Azure Functions – Part 7: Blob, Queue, and Cosmos DB Triggers (2018-11-28) - Previous tutorial: Azure Functions – Part 6: HTTP and Timer Triggers Continuing with theme of the previous tutorials, let’s investigate data triggers work. There are three…
- Azure Functions – Part 6: HTTP and Timer Triggers (2018-11-18) - Previous Tutorial: Azure Functions – Part 5: Deploying to Azure from VSCode Two basic and important concepts to understand in Azure Functions are Triggers and Bindings.…
- Azure Functions – Part 5: Deploying to Azure from VSCode (2018-11-10) - Previous Tutorial: Azure Functions – Part 4: Working with Visual Studio Code and Persisting Data Continuing from the previous tutorial, we’ll deploy the function we…
- Azure Functions – Part 4: Working with Visual Studio Code and Persisting Data (2018-11-07) - Previous Tutorial: Azure Functions – Part 3: Handling HTTP Query GET and POST Requests While writing code directly in the Azure portal is awesome, the…
- Book Review – How to Fail at Almost Everything and Still Win Big (2018-10-28) - I’m a long time reader of anything that goes out of Scott Adams’ hands: Dilbert comics, books, non-Dilbert books, his blog. He is smart, funny,…
- Azure Functions – Part 3: Handling HTTP Query GET and POST Requests (2018-10-22) - Previous Tutorial: Azure Functions – Part 2: Serving HTML Pages with Azure Functions Serving static pages is interesting, but a real application needs input from the…
- Book Review – Death is of Vital Importance (2018-07-20) - What is death? How can we cope better with the death of those close to us? Dr. Elisabeth Kubler-Ross talks about this in her great…
- Azure Functions – Part 2: Serving HTML Pages with Azure Functions (2018-03-17) - Previous Tutorial: Azure Functions – Part 1: Getting Started In the last tutorial we created a simple Azure Function that returned a value. I’m going…
- Azure Functions – Part 1: Getting Started (2018-02-06) - I love to write software. And because I’m not a software developer anymore I don’t get much time to do it, and it has always…
- Book Review – The Journey (2017-12-24) - Another venture into the “I can cure myself” theme that I started with I Can See Clearly Now, Brandon Bayes tells her story managed to…
- Book Review – Sapiens: A Brief History of Humankind (2017-12-17) - Reading (and finishing) this book was a great experience for me. I decided to read it in Hebrew, my 3rd language and the language in which…
- How I Broke Facebook’s Algorithm (2017-12-13) - If you are a user of Facebook, you are their product. Their strongest desire is for you to stay on the site/app as much as possible, and if…
- Book Review – Hooked: How to Build Habit-Forming Products (2017-06-25) - Habits are we do without thinking, things we do with little or no conscious thought, which take minimal mental effort, and simply happen. From a…
- Book Review – I Can See Clearly Now (2016-11-17) - When I started reading I Can See Clearly Now, I had no idea why it was on my kindle. And this made me very curious……
- Book Review – Influence: The Psychology of Persuasion (2016-09-12) - A lot of the time in my position as Product Manager is invested in convincing people (mainly developers, but also managers, and sometimes even customers)…
- Book Review – And Then I Thought I Was a Fish (2016-09-04) - This book is the amazing story of a guy (who from his writing seems very smart) that went for an acid trip, and almost never…
- The Wonderful World of Podcasts (2016-08-02) - Did you know that handwriting may be better for taking notes than a computer? Or that blind persons can see, literally, see? Or that underhanded
- Book Review – Hogfather (2016-05-29) - I thought there couldn’t be a more philosophical Terry Pratchett book than Small Gods. It was so deep, so… right, that I thought that no…
- Book Review – The China Study (2016-04-15) - How much does food affect our health? And how does traditional medicine work with this relation? From my experience, it is hard to know. We…
- Book Review – Thinking, Fast and Slow (2016-02-14) - Continuing on the subject of human behavior (started with this book), I finished reading Thinking, Fast and Slow, by Nobel prize winner Daniel Kahneman. What a…
- Adding JAR Dependencies to an Eclipse Plugin Maven Tycho Build (2016-01-23) - Something that is constantly bothering me when developing the OPP project is the use of hard-coded Java library dependencies. I manually downloaded the jars for…
- Book Review – Predictably Irrational (2016-01-17) - If you ask most people around you if they are rational beings, I’m fairly sure most will answer that yes, they are rational. But if…
- Shaping the Future of Visual Programming (2015-12-02) - But seriously – those following me for some time, know that I’m really into visual languages and visual programming. After a lot of work and…
- Changing the Font of a JOptionPane (2015-10-31) - When working with a high-resolution monitors, like the one in the Surface Pro 3 (did I tell you how awesome this baby is?), programs need…
- JSONPlaceholder: a “mock” RESTful API for Learning/Testing (2015-10-25) - When I’m learning new things, I always like to have real, simple examples that work. This makes for easier progress and also gives a good…
- Calling a Web API from Java using Unirest (2015-10-14) - Working with web services has become standard practice today, and it always felt strange to me how much work it took me to call one.…
- Book Review – The Lean Startup (2015-09-02) - I approached this book with some skepticism. After having read “Who moved my cheese”, which is basically a repetition of a very simple idea for…
- Creating Azure Environments using Azure Resource Manager Templates (2015-08-31) - Automation is cool. I love automation. Many times I created scripts to build and rebuild my test/demo/play environments in azure. Most of the time my…
- Must Read – Marketing Myopia, by Theodore Levitt (2015-08-19) - I don’t quite remember how I came by this article, but after reading it, re-reading it, marking the jewels in it, and memorizing them, I’m…
- A Lone Developer Can’t Hunt a Mammoth (2015-08-09) - I’ve noticed lately that I spend a lot of my time just sitting and talking with other people in my team about the things we…
- Please Don’t Force Async On Me (2015-06-18) - I am working lately with some C# libraries (won’t name the suspects as they are not alone in their crime) which for some unknown reason,…
- Lenovo X1 Carbon (1st Gen) vs Microsoft Surface Pro 3 (2015-06-17) - The main tool of a developer is his computer. Some years ago laptops were not powerful enough for most development tasks, but today they have…
- Letting Go – A Foundation of Agile Software Development (2015-05-28) - During the last months I’ve had some personal issues that required me to take some time of work and dedicate myself to my family. Things…
- JavaScript Tutorial – Part 5: Statements (2015-05-17) - Previous Tutorial: Object Creation and Prototype Chains While theoretically we can do anything with functions and basic data structures, programmers (unlike mathematicians) like their code…
- Creating an OPM GEF Editor – Part 26: Activating Tools from the Context Menu (2015-05-06) - Previous tutorial: Creating an OPM GEF Editor – Part 25: Showing Feedback to the User Usability is very important when creating user interfaces, adn having…
- JavaScript Tutorial – Part 4: Object Creation and Prototype Chains (2015-04-27) - Previous Tutorial: Variable Scope and Closures The term “Object-Oriented programming (OOP)” has been greatly overused, and JavaScript is not one of the exceptions. For someone…
- JavaScript Tutorial – Part 3: Variable Scope and Closures (2015-04-19) - Previous Tutorial: Variables, Functions, and Objects Naming is one of the hardest problems in programming. Since there are many things to decide when creating a…
- JavaScript Tutorial – Part 2: Variables, Functions, and Objects (2015-04-11) - Previous Tutorial: Hello JavaScript! Variables Javascript is a dynamically typed language, so variables don’t have types (opposite to strongly typed languages such as Ada, Java,…
- JavaScript Tutorial – Part 1: Hello JavaScript! (2015-04-08) - I am now starting to learn JavaScript, and one thing I have learned over the years is that the best way for me to remember…
- The Javascript “var” Keyword (2015-02-03) - As all dynamic languages, javascript lets you set a value to a variable anywhere in code, without having to declare the variable. But there are…
- Stop doing what you hate (2015-01-27) - Regular readers of my blog may have noticed that I stopped sending my weekly readings summary. So yes, I stopped doing it, and not only…
- My First Year at Microsoft (2015-01-01) - Today (more or less) I celebrate my first years as a Microsoft FTE (Full-Time Employee). And I say celebrate because I am very happy of…
- Overcoming Analysis Paralysis (2014-12-27) - Four months ago my car (a 1998 model) started giving me too many problems, so I decided it was time to sell it before it…
- On leadership, the developer’s job and speed, and the lead’s paradox – Vainolo’s Weekly Readings (2014-12-01) - Agile and Leadership – Turn the Ship Around A leader-follower team has one head telling others what to do. But a great team works with…
- New Page – PowerShell Notebook (2014-11-30) - I did a lot of work recently with PowerShell, learning a lot on the way (and also cursing a lot :-)). As I like to…
- On Motivation, Obligations, Alerting, and the MLP – Vainolo’s Weekly Readings (2014-11-24) - How a Small Change Can Boost Your Motivation and Performance I love empirical psychology that helps us learn how to trick ourselves into being more…
- My TechEd EU 2014 Presentation (2014-11-23) - I forgot to tell you! I presented my product, Azure AD Application Proxy in TechEd EU 2014. This is me on the podium before the presentation: Listening…
- A tale of Dependencies, Maven, Eclipse and Wasting Time (2014-11-22) - This should have been easy. Last week I started doing some refactoring on my OPP code and took the opportunity to start using dependency injection.…
- On Leading, Software Defects, Technical Debt, and Big Data – Vainolo’s Weekly Readings (2014-11-19) - I’ve been somewhat silent lately, because of a three-week long hiatus (I always wanted to use that word!) of business and personal travel + getting back to…
- Book Review – Influence, The Psychology of Persuasion (2014-10-26) - There are things that are hard to change, and one of them is human nature. And this book, written 30 years ago, is a proof of…
- Email in the Morning, Transparency, the Two-Pizza Rule, and Statistics – Vainolo’s Weekly Reading (2014-10-21) - Don’t Check Your Email in the Morning Why do you check your email in the morning? Because something crucial may have happened overnight. Get over…
- Autumn Cleaning (2014-10-18) - Somewhere in my life, it became quite important to me not wasting other people’s time (probably because I hate when other people waste my time…). This is…
- On Solving Pains, Architecture, Snippets and Superpowers – Vainolo’s Weekly Readings (2014-10-06) - What type of pain are you solving? For a new product to succeed, it must solve a “pain” that someone is suffering. How much they…
- Filtering PowerShell Output as Text (2014-09-30) - The PowerShell command-line shell is very powerful, and for people coming from *nix backgrounds (like me), it is the closest thing in Windows to the…
- Prototype Driven Development (2014-09-28) - When starting a new software project, the number of unknowns is huge. We have learned the hard way that one of the most costly problems…
- We Don’t Know Enough About Software Development (2014-09-23) - It has become a trend to have opinions on how software should be developed. No, let me rephrase that, software developers have always had very…
- FDD, Agile Pitfalls, Tricks to make Progress, and the MCR – Vainolo’s Weekly Readings (2014-09-22) - Fear Driven Development – FDD There are many methodologies that can help you deliver better products: TDD, BDD, and even DDD. And there is also…
- Dead Code, Application Monitoring, Tips for Software Engineers and Things they should Know – Vainolo’s Weekly Reading (2014-09-15) - The cost of dead code and the only technique you need to know to clean it up “Dead code isn’t always obvious. It has a…
- Truths for Developers, Software Complexity, Happiness and Procrastination – Vainolo’s Weekly Reading (2014-09-09) - What I tell all new programmers A good list of what is programming and how you can be a great programmer. Some truths that many…
- 2 Tools to Find and Install Great Software to Your Computer (2014-09-05) - One problem of having too many information sources (basically using the internet) is that there are too many things available. This is a problem for me when…
- On Code Reviews, DevOps Culture, Why companies fail to change, and Why software development is Hard – Vainolo’s Weekly Reading (2014-09-01) - Don’t waste time on Code Reviews Code reviews are good, but they should not be overused. Research has shown that most of the bugs are…
- Taking Azure Redis Cache for a ride – testing a simple Producer/Consumer program (2014-08-26) - In my “younger” days, I worked in a team that developed/maintained an application written in Ada, which used Oracle 8 as its database. Our performance…
- The Elevator Test, the Theory of Motivation, DRY enough, and are Humans “Resources?” – Vainolo’s Weekly Readings (2014-08-24) - Can Your Team Pass The Elevator Test? “Software developers think their job is writing code. But it’s not. Their job is to solve the customer’s…
- How Microsoft became agile, being a doctor, defining quality, and writing a blog – Vainolo’s weekly reading (2014-08-14) - How Microsoft dragged its development practices into the 21st century A story of how Microsoft moved from the good-old waterfall software development methodology to more…
- Culture, Standups, Hating your code, and Sharing information – Vainolo’s weekly readings (2014-07-24) - Based on suggestions from a number of sites, I decided to update the title of my weekly reading list to include more data on what…
- Weekly Reading Material – 28/04/2014 (2014-07-17) - Getting back to normal after some very complicated months… Here it is again – the weekly reading list. Why A Secured Network Is Like The…
- C# for the Impatient, Lesson 1 – The Basics (2014-05-14) - To be able to follow this tutorial, I assume that you have a working Visual Studio environment (I’m using VS2013). I’m pretty sure there are…
- Book Review – Zen and the Art of Motorcycle Maintenance (2014-05-09) - I heard a lot about this books many years ago and never got my hands on it, but after my latest streak of philosophy reading,…
- Weekly Reading Summary (2014-05-09) - Here are some interesting articles from my last week of internet reading. Enjoy. Trojan Infects Linux, Unix Servers Worldwide Yes, against conventional knowledge, *nix can…
- Weekly Reading Material – 28/04/2014 (2014-04-28) - Highlights from my last week of internet reading. Happy software developers solve problems better: psychological measurements in empirical software engineering Software companies invest a lot…
- Be Proud of Who You Are (2014-04-28) - I am proud of who I am, of what I am. Not because I think I’m better than others, not because I think that my…
- Weekly Reading Material – 17/04/2014 (2014-04-22) - A bit late this time because of the holidays. The highlights of my last week of internet reading. Enjoy 5 People Who Destroy Your Culture…
- Open Source Contributions – Can you really make a difference? (2014-04-08) - Last week I read this interesting post by Lars Vogel, promoting people to contribute to the Eclipse project. He shows that a single developer can…
- Weekly Reading Material – 03/04/2014 (2014-04-03) - Here are some interesting articles from my last week of internet reading. Enjoy. How Fast Web is Impairing How You Think Slow down and smell…
- Programming – Not for the family guy/gal? (2014-04-01) - Disclaimer: as most non-technical posts in this blog, what follows are gut-feelings that transferred to writing. These are neither proven facts nor truths, so handle…
- Weekly Reading Material – 27/03/2014 (2014-03-27) - Here are some interesting articles from my last week of internet reading. Enjoy. How to be a sane programmer, The Stress Of Being A Computer…
- Automation is not about saving keystrokes (2014-03-24) - There are many posts out there calling us to automate everything. And some think that the main reason to automate a task is to save…
- Weekly Reading Material – 20/03/2014 (2014-03-20) - Here are some interesting articles from my last week of internet reading. Enjoy. The Programmer Productivity Paradox “If the average programmer writes about 50 lines…
- Two tales of great customer service (2014-03-16) - Good service creates happy customers, and happy customers keep coming back to spend more money. Here are two examples of GREAT customer service that I…
- Weekly Reading Material – 14/03/2014 (2014-03-14) - Summary of my weekly readings. The Test Waste Ratio Have we replaced bugs with test failures? Interesting analysis. http://www.gilzilberfeld.com/2014/03/the-test-waste-ratio.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+gilzilberfeld+%28Geek+out+of+water%29 Treat bugs as fires Fire deaths…
- StackExchange Software Recommendations in Beta (2014-03-10) - In software development, we are always asking ourselves which tool to use to solve the problem we are trying to solve. Should we use SQL…
- Weekly Reading Summary – 07/03/2014 (2014-03-07) - Some very interesting non-technical material this week. But as you know, the biggest problem in software development is not technical, it’s human. The Science of…
- Vooza – It wouldn’t be so funny if it wasn’t so real (2014-03-06) - I don’t know how this video got into my reading list (oh, now I know, thanks to Software Lead Weekly). So what is this? it’s…
- Weekly Reading Summary – 27/02/2014 (2014-02-27) - This week something terrible happened… on Monday my RSS feed went down to ZERO!!! Disaster. But the next day I woke up with 100+ new…
- Coding in the Train (2014-02-26) - Since the start of this year, I travel to work using the train, which gives me about 30 minutes of programming time (more or less).…
- StackOverflow is Testing You (2014-02-24) - Sometimes, to clear up my head, I go to StackOverflow and review some edits (yes, I’m that kind of person…). Couple of small tasks with…
- Weekly Readings – 23/2/2014 (2014-02-23) - A couple of weeks ago I started sending to my co-workers a weekly summary of what I read that week. But why not share this…
- Start-up workers have it easier (2014-02-05) - In the start-up world, you have a clear goal – your product. It either works or you’re out of a job. It is also easier…
- Becoming a slave of your phone (2014-01-25) - My kid made this sculpture for me in his ceramic lessons. I guess he is trying to tell me something 🙂 (I you didn’t see…
- Contributing to Open Source – The Good and The Bad (2014-01-20) - I am not a big contributor to Open Source. If you don’t count the random code that I have written in my blog and host…
- Theme Playing (2014-01-15) - I’m playing a bit with the site’s theme lately. I’m trying to find a theme that I like, looks good on desktop and mobile for…
- Access Control, Privacy, and Accessibility – The Security Triangle (2014-01-15) - I wanted to write a post on this subject, but while searching for sources I found that my idea of a security triangle is not…
- Book Review – A Clash of Kings, A Storm of Swords, A Feast for Crows, and A Dance with Dragons (2014-01-01) - Well… The title probably says it all – once I started reading A Clash of Kings, I just couldn’t stop. And in these modern days…
- Is your computer slow? Maybe it’s your browser’s fault (2013-12-15) - I revived one of my old computers recently. Not a very old computer – built-in 2007, with a Quad Core Intel QX9650, 2GB RAM, 500GB…
- Today Someone Died (2013-11-13) - Someone I know was very sick for the last couple of months. Not someone close but someone very similar to me. Relatively same age, same…
- Running Eclipse Plug-In Unit Tests with Maven and Tycho (2013-11-05) - After my latest round of tooling for the Object-Process Programming project, I have done a lot of development, adding on the way many new unit…
- Paying the Price for Not Doing Continuous Deployment (2013-10-17) - Some time ago I had some problems maintaining my CI (Continuous Integration) build. I run my CI build in Tracis-CI, which hooks to Github and…
- Gittip – A New Way to Give Back (2013-10-14) - The classic way to give thanks to a developer/blogger for their work is by giving them donations, usually through Paypal. But Paypal is both limited…
- Robotics – The Next Revolution (2013-10-11) - Robots are nothing new. They have been part of our society for many decades already, starting from science fiction books and then becoming real in…
- Why I Hate Company Politics (2013-10-09) - I hate company politics. I hate when people walk around talking low between each other regarding who is doing what, and that A is plotting…
- DevOpsDays TLV 2013 Reading List (2013-10-06) - A list of all the books mentioned in the DevOpsDays TLV 2013 presentations and tweeter feed. There are some duplicates because some books were mentioned…
- From Compiled Procedural Strongly Typed to Interpreted Weakly Semi-Functional (Part 1) (2013-10-04) - The first language in which I programmed real systems was Ada (Ada83 to be exact). Ada was developed by the US DoD and was originally…
- How Technology is Making Me Lazy (2013-10-03) - A couple of months they installed new electronically activated faucets at work Nothing special happened at once… but after a couple of weeks I started…
- One IDE to Rule Them All (2013-10-01) - Well, not really an IDE, but a web application in which you can write code in any language, compile it and execute it. I’m talking…
- Book Review – A Game of Thrones (Book one of A Song of Ice and Fire) (2013-09-15) - I heard so much about Game of Thrones the last couple of months that I could not stop myself from seeing the series, and WOW!…
- Book Review – Thief of Time & Feet of Clay (2013-09-12) - I read these two books during my last vacations. While I enjoyed them a lot (as usual for most Pratchett books), they are not very…
- Bad UX – On Purpose (2013-09-11) - Today LinkedIn asked me if I wanted to add my GMail contacts as connections. Why not… This is the screen I got: Ok, but I…
- The Return of the Mailing List (2013-08-22) - Today I was browsing the web as usual, when something strange happened – a site wanted me to subscribe to their weekly email. I dismissed…
- WordPress 3.6 Upgrade Breaking Visual Editor – Solved (2013-08-20) - Today I upgraded WordPress to 3.6. As usual, the upgrade was fast and without any problems… except that the Visual Editor stopped working :-(. From…
- I Want to be a Superhero (2013-07-29) - I want to be a superhero. Two things I did this week convinced me of this. First, I saw Iron Man. Great movie. I also…
- Life and Death. We are in the Middle (2013-07-22) - Two weeks (or is it three already?) my uncle died. Seems that cancer had been eating him for the last couple of years and in…
- Learning to Stop. And Start Again (2013-06-19) - Three weeks ago I started coursera’s “Introduction to Systematic Program Design” course. The name seems compelling – someone has found a way to develop software…
- Getting Back on Track – Eclipse Tools to Create Context (2013-06-16) - It has been a while since the last time I did some coding in my OPP project, and today I am returning. One thing that…
- Is Culture Everything? Beware of the Survivor Bias (2013-06-04) - Survivor bias is defined (by wikipedia) as “the logical error of concentrating on the people or things that survived some process and inadvertently overlooking those that didn’t…
- Book Review – I Am A Strange Loop (2013-05-26) - I have mentioned this book (or it’s author) several times in previous posts, so I was surprise to find out yesterday that I never sat…
- The Importance of the IDE in Software Development (2013-05-22) - I have written a couple of times about programming language and how they are only part in the large toolbox (or arsenal) used in software…
- Fixing Twitter Problems in Azure WordPress Hosting (2013-05-19) - There is a problem with the certificates that used on the Azure hosted sites (I’m not exactly sure what this means) which causes some problems…
- Book Review – The Wee Free Men (2013-05-19) - Another literary masterpiece by my loved author Terry Pratchett, the Wee Free Men is a mixture of the usual Pratchett fantasy with some pretty weird…
- How Twitter Flattens the World (2013-05-06) - I love Tweeter. I was once a Tweeter skeptic – what can one say in only 140 characters? I thought of it as another example…
- Assimilation has been Achieved – Vainolo.com is Now Hosted @ Azure (2013-05-01) - I was never a person to use Microsoft technologies as a platform for development – I am pretty comfortable with Java, Linux (for Dev, not…
- Book Review – The God Delusion (2013-04-29) - Ok. First of all I have to disclose that I am a kind of religious person (Jewish), so if you think this makes me incapable…
- Book Review – The Science of Discworld (2013-04-24) - After reading “The God Delusion” by Richard Dawkins (a book I had to make myself finish although I hated it), I needed some light reading…
- Moooooving, Once Again (2013-04-24) - After finding that the performance of my blog is disastrous, I decided to move my blog to a new provider. I am in the middle…
- Last Week They Sent Me Flowers… (2013-04-13) - After 2 years of being full-time in the academia, I understand that academic life is not for me. It is full of very interesting things,…
- Eclipse Draw2D Layouts Reference Card (2013-03-21) - FlowLayout (source) Lays out the children a row or a column, wrapping the row/column when no more space is available. GridLayout (source) Lays out the…
- Another WAT Moment, Python Style (2013-03-21) - You have probably seen the famous WAT video from Destroy All Software. If you haven’t seen the video, it is a MUST. As part of…
- Improving the Performance of my Blog (2013-03-12) - Yesterday I checked the Google Analytics for my site and saw that the average page load time is approaching 8 seconds! that is way too…
- Push, Baby, Push! (to Github) (2013-03-11) - I did it! I did it! I managed to destroy one of my Git repositories. Don’t ask me how. I was working just like every…
- The Builder Design Pattern – Sequence Diagram (2013-03-11) - The Builder design pattern is useful in two cases: When you want to create a complex object and having one constructor with millions of parameters…
- Creating and Using an Eclipse Update Site using Maven, Tycho and Github (2013-03-06) - After deciding that it was about time to learn maven, I managed to convert all of my projects to maven, using m2e and tycho. Everything…
- Creating an OPM GEF Editor – Part 25: “Smart” Multi-line Text Figure (2013-03-05) - Previous tutorial: Creating an OPM GEF Editor – Part 24: Showing Feedback to the User One of the problems with visual programming languages is layout…
- Achieved 3K Reputation on SO! (2013-02-28) - Check out my profile: http://stackoverflow.com/users/817399/vainolo
- Programmers are Problem Solvers (2013-02-19) - This post was in my “drafts” for some time, and yesterday after the “final class” panel of the Reversim 2013 summit, I decided it was…
- Creating an OPM GEF Editor – Part 24: Showing Feedback to the User (2013-02-17) - Previous tutorial: Creating an OPM GEF Editor – Part 23: Drag & Drop from the Palette Giving feedback to the user is very important in…
- GEF Edit Policy Reference Card (2013-02-17) - I have a bad memory. No matter what happens I forget things. To cope with this, I try to write down everything I learn for…
- Book Review – The Appeal, by John Grisham (2013-02-17) - I usually like books by John Grisham. They are easy to read, have a good plot, the characters are neither too complex nor simple. Just fun reading to…
- Temporary Solutions Usually Become Permanent (2013-02-11) - There’s a saying that temporary solutions usually become permanent. And there is no better place validate this than version control systems. I noticed this comment…
- Starting an Eclipse Plug-In Project From Scratch – The Tycho and Travis CI Way (2013-02-06) - Eclipse Tycho is a Maven plugin for building eclipse components. I’m not such a fan of Maven because it feels too much like black magic,…
- Creating an OPM GEF Editor – Part 23: Drag & Drop from the Palette (2013-02-06) - Previous tutorial: Creating an OPM GEF Editor – Part 22: Enabling Select-All Action in a GEF Editor Doing D&D from the palette never seemed to me…
- Bridge Design Pattern – Sequence Diagram (2013-02-03) - The Bridge Design Pattern is a structural design pattern used to completely decouple an abstraction from it implementation, so that both of them can change…
- From LaTeX to Word and Back (2013-01-29) - I started using during my undergraduate studies (late 90s). In those days, MS Word had a bad tendency of dying suddenly and taking with it…
- JJTV Presentation – Creating Graphical Editors with GEF (2013-01-21) - Last week I gave a short presentation in JJTV meetup on how to create graphical editors with Eclipse and GEF. This is a very short and…
- Object Pool Design Pattern – Sequence Diagram (2013-01-20) - An Object pool is used when object allocation is expensive, either in time or memory, and you know there is a limited number of instances…
- Adapter Design Pattern – Sequence Diagram (2013-01-17) - The Adapter (or Wrapper) design pattern is used when you want to adapt a class to an interface that it can implement. One example where…
- Being nice costs nothing, and you never now when it will pay off (2013-01-15) - Last week I interviews for a company where I REALLY want to work. This was the second and final round of interviews (after having passed…
- Book Review – Snuff (2012-12-27) - If you have read any of my previous book reviews, you know I am a big fan of Terry Pratchett. Sadly, Snuff was not good.…
- Thoughs on software engineering research (2012-12-12) - The distance between what they teach us at the university and what happens in the real world is sometimes very large. And I can say…
- It’s the end of the mouse as we know it, and I feel fine… (2012-12-02) - My wife bought me this beautiful toy for my birthday (and this was very hard for her, for reasons that I cannot post here): For…
- Compiling with Black Magic (2012-11-26) - Today I decided to stop being a bad software craftsman (for the $(n^n)^th$ time), starting with the simple task of getting my project to compile…
- The Inefficient Concert! – Some Thought on Project Effectiveness (2012-11-25) - I received this mail from my father yesterday and it rang a bell in my head concerning how software teams are managed. I though I…
- If mice could program: Some thoughts on software engineering research (2012-11-22) - One topic that interests me a lot is software development. I also do research on this topic (in my PhD), but my interest is not…
- The Android API Tells You If The User Is a Goat (2012-11-20) - This one made me laugh pretty hard 🙂 It still seems to be in beta, since the implementation always returns false. But I trust that…
- Reading Strange Product Information – Jumex Juice (2012-11-04) - Jumex is a company that produces really tasty juices, which are now being imported to Israel. Their taste is incredible (although probably they have…
- Codeacademy – Bugs in Online Teaching Platforms (2012-10-21) - Last week I decided to learn Python. My office-mate keeps on telling me how cool it is, how he can write impressive code in no…
- Economic Interfaces and Programmer Skill (2012-10-17) - “The Pragmatic Architect” is a column written by Frank Buschmann in the IEEE Software journal. It provides nice insights (although many of them with no…
- Article Review – New Programming Language Makes Social Coding Easier – Technology Review (2012-10-15) - I got this article a while ago as part of my regular subscriptions. Yet another computer language developed by another professor, because: “I had to…
- More Problems in Automobile Software (2012-10-12) - As software becomes more ubiquitous (I always wanted to use that word) software problems are also becoming ubiquitous. Related to my earlier post quoting an…
- No Brains – No Problems (2012-10-10) - I was talking today with a friend of mine of how many things we think about all day, and we arrived at the conclusion that…
- Interesting Articles from CACM (2012-10-10) - I’m doing some house cleaning on my read articles and found these interesting ones, that while are not directly relevant for my research (i.e. I…
- Predicting Software Development Time – New Insights (2012-10-02) - One of the hardest tasks in software development is planning how much time it will take you to develop a feature. It is even harder…
- Book Review – Outliers, The Story of Success (2012-09-23) - After having read Gladwell‘s “Blink” and “The Tipping Point“, I was expecting a lot from “Outliers: The Story of Success“. And while it is a good…
- Improving My Writing Using Semicolons (2012-09-13) - Last semester I took a (compulsory) course on English writing. The course was actually both interesting and fun; It helped me improve my writing a…
- Dijkstra – What a Humble Man (2012-09-03) - I was reading today Dijkstra‘s “Notes on Structured Programming”, and was very impressed to see the following written there: As a slow-witted human being I…
- Daddy, What Comes Before Strawberries? – or Why Computers are Dumb (2012-09-02) - Yesterday we sat at the table and as usual, we had to send the kids to the bathroom to wash their hands (again). My little…
- What Framework is Better? (2012-08-30) - My subscription to I Programmer provides some nice reading material. I don’t read all of the content, but have found that the articles they have are…
- Extending and Modifying Eclipse – The Basics (2012-08-29) - This post is written for a team of students with which I am developing a meta-modeling platform based on the OPM modeling methodology and the…
- Stop Being Religious About Software Development (2012-08-28) - More material read during my vacations. A parody on how we software developers (and the managers behind us) act not-very-rationally, being more religious than pragmatic,…
- Vacation’s Over – Long Live School! (2012-08-27) - I love my children, I really do. But every year after the summer vacation ends and school year begins, I need a vacation from my…
- Press Release: “UCSB Researchers Demonstrate That 15=3×5 About Half of the Time “ (2012-08-24) - You are probably asking yourself what the hell is going on here. Obviously 15=3×5, and not half the time, but all the time. But in the…
- “The Cathedral and the Bazaar” and Other Writings by Eric S. Raymond (2012-08-23) - There should be a guide somewhere which lists all the material that a software craftsman should read. And the works by Eric S. Raymond should…
- Welcome Korean Readers (2012-08-21) - This week I started receiving a relatively large number of hits from http://cafe.naver.com/eclipseplugin (relative to the number of hits I get every day). I couldn’t help…
- Upgrading to Eclipse 4.2 (Juno) (2012-08-19) - I have delayed this upgrade for some time for no specific reason, and decided to give it a try, and was encouraged to do it…
- A Story of Passion and Programming (2012-08-16) - Yesterday I stumbled upon “The Graphing Calculator Story” (also in video). It is not a new story – at least goes back to 2006, but…
- This Is Scary – A Story of How Hackers Stole A Person’s Digital Identity (2012-08-14) - Imagine what would happen if someone stole your facebook account? your email? your whole digital identity? This is what happened to Mat Honan, a writer…
- More on Web Fonts (2012-08-12) - My readings on usability took me to the site of Jakob Nielsen, who seems to be one of the most knowledgeable persons in usability out there (from what…
- The Haxe Programming Language (2012-08-09) - Yesterday I stumbled upon a new programming language called Haxe. The most prominent feature this language has over many other languages is that it is…
- Can’t Keep Up With Technology (2012-08-07) - Although I am not of the “latest technology” camp (I programmed in Ada83 for many years and even liked it), I still try to understand…
- Do You Know How To Calculate The Real Discount? (2012-08-06) - The Free Money Finance blog posted and interesting piece on how we don’t know how to calculate the best discount when offered with a choice…
- Typical Errors of a Financial Advisor – Also for the Individual Investor (2012-08-05) - The Big Picture blog posted a list of typical errors that a financial advisor should avoid. This list is also VERY relevant to individual investors. I specially…
- Grading Exams (2012-08-01) - This semester I was TA of the “Analysis and Design of Information Systems” course taught at the Technion‘s Industrial Engineering faculty. As I write these lines…
- CACM Viewpoint – The Lack of Evolution of Software Engineering (2012-07-30) - Interesting article by Marvin V. Zelkowitz in Communications of the ACM complaining on how little software engineering has evolved since its start. Short but with a lot of…
- The Visitor Design Pattern with Sequence Diagrams (2012-07-30) - The visitor design pattern a pattern to support separation of concerns in programming languages that support method overloading (OO languages, but also functional languages can…
- Two Great Posts on Using Graphics in GUIs (2012-07-29) - One very important part of developing a visual programming language (VPL) is deciding how the language should look. So lately I have read some material…
- Filtering Collections using Guava – Performance Analysis (2012-07-29) - As I showed in my previous post, Guava Predicates let you write code that is clearer (at leas IMHO). As explained in the Guava site,…
- Guava Predicates – Programming with Intention (2012-07-25) - Last month I discovered Google’s Guava library, a really useful set of utility classes for everyday java programming. One of these classes, better yet, one…
- Learning the Language is Only the Beginning (2012-07-23) - Everyone can learn to code. Seriously, there are a number of web pages (check this one for example) on which you can start learning right…
- TDD and the Creative Process (2012-07-19) - As described in my previous post, I decided to try TDD to get out of my “writer’s block“. Good thing is, that I did get…
- 1K Reputation Achieved on Stack Overflow (2012-07-05) - Wheehe! Check out my profile!
- What Happened to Web Browsers? or Web Browsers – the New Operating System (2012-07-05) - A long time ago I stopped using IE and became a Firefox user. By a long time, I mean a couple of years. After a…
- Going TDD – Initial Thoughts (2012-07-02) - After a few month developing my OPM Editor, it is now in a fairly usable stage. At least enough to start working on the OPM…
- Book Review – Rendezvous with Rama (2012-07-01) - Rendezvous with Rama, by Arthur C. Clarke is considered on of the classic, must-read books of science fiction. The book has a good plot which…
- Book Review – Hyperion (2012-06-24) - Hyperion, by Dan Simmons, is a great Science-Fiction that is also loaded with Fantasy. It is a novel told using many short stories (much like…
- Book Review – The Moon is a Harsh Mistress (2012-06-17) - After reading Starship Troopers and Stranger in a Strange Land and The Moon is a Harsh Mistress, I have definitively become a Robert Heinlein fan. This last…
- Book Review – I, Robot (2012-06-17) - “I, Robot“, by Isaac Asimov, is on the first science fiction books I read, and in my memory it was a very good book. How…
- Meetings are a Waste of time (2012-06-06) - Well, not all meetings, but most of them. And almost all meetings are too long, principally because it is hard to schedule meetings that are…
- Installing Eclipse for EMF/GEF Development (2012-05-31) - The eclipse development platform is one of the easiest programs to install. You just download it from the eclipse web site packed in a zip…
- The Story of Send – How Your Gmail Travels the World (2012-05-24) - Very nice interactive presentation of how Google handles your email. I really enjoyed it: http://www.google.com/green/storyofsend
- Creating an OPM GEF Editor – Part 22: Enabling Select-All Action in a GEF Editor (2012-05-17) - Previous tutorial: Creating an OPM GEF Editor – Part 21: Adding Keyboard Shortcuts Today I was working on a model using my OPM GEF editor, and…
- Font Change (2012-05-14) - After previewing some of my posts I saw that the font I chose for my site (Tahoma) is very hard to read. So after reading…
- Extracting the Contents of a Zip File in Java (2012-05-08) - The following short program shows how to extract all of the files that are inside a Zip file. Java provides us with a number of…
- Java Examples Repository – First Example: Copy a File from a URL to a Local Path (2012-05-07) - There are programming tasks that I don’t do a lot, and they are forgotten in the depths of my brain, never to be seen again.…
- Book Review – Childhood’s End (2012-05-03) - A classic sci-fi book by Arthur C. Clark, Childhood’s End is a very enjoyable book. The end of the human race has come, but in…
- Factory Method Design Pattern – Sequence Diagrams (2012-05-02) - As defined by the GOF, the Factory Method Design Pattern is used to “Define an interface for creating an object, but let the classes which implement…
- Creating an OPM GEF Editor – Part 21: Adding Keyboard Shortcuts (2012-04-30) - Previous Tutorial: Creating an OPM GEF Editor – Part 20: Creating a Context Menu and Adding Custom Actions Keyboard shortcuts are very useful for activating actions.…
- Book Review – Neuromancer (2012-04-30) - Neuromancer, by William Gibson, is an EXCELLENT book. I always though that the ideas behind the movie “The Matrix” were a complete creation of their creators. How…
- Singleton Design Pattern – Sequence Diagram (2012-04-29) - Last semester I taught an undergraduate course on system analysis and design using graphical modeling (UML and OPM). I decided that one important subject the…
- What is Wrong with being a Software Engineer? (2012-04-11) - We nave rock stars, super stars, luminaries, evangelists, trolls, hackers, craftsmen, … what else? Why can’s software engineers be software engineers? Do you know of…
- Gav Yam (Bayside): A Stock to Sleep Well at Night (2012-04-08) - Disclaimer: I am not a certified investor of any kind. These are my personal views and are solely for informational purposes. The numbers I have…
- Book Review – Starship Troopers (2012-03-28) - Just finished reading Starship Troopers, another great book by Robert A. Heinlein. I saw the movie a couple of years ago, but the book is…
- Code Generation is Not Agile (2012-03-26) - I am a great advocate of software modeling, which provides a higher abstraction of software artifacts that allow us easier work with them. For my…
- Book Review – Fahrenheit 451 (2012-03-18) - Fahrenheit is a strange book. Not so much science fiction, more of social fiction. It tells of social fiction, of a world were “happiness” (fun)…
- Book Review – The Hitchhiker’s Guide To The Galaxy Trilogy (2012-03-17) - This is the second time I have read the full Hitchhiker’s trilogy (in four parts), and the third time reading the first book of the trilogy –…
- Book Review – Stranger In A Strange Land (2012-03-08) - The classic science fiction novel, Stranger in a Strange Land started pretty good, moved partly into a cheap soft porn mini-novel of the 70’s and…
- How To Create A Private Git Repository Server (2012-03-01) - A year ago I created a git repository in my linux box at home using a tool called gitosis, but since then I had to…
- More Proof that Programmers are Nuts (2012-02-23) - Have you heard of the “Facial Hair Theory“? Until yesterday I was unaware of it. But now I understand why I have to grow a…
- CoffeScript – Syntactic Sugar for JavaScript (2012-02-21) - I attended today a meetup about CoffeeScript. I am not a javascript programmer (and never was), but CoffeeScript seemed to me from the presentation as…
- How To Manage Copyright Licenses In Eclipse (2012-02-20) - It comes a time in every project’s life when the owner decides that he needs to copyright his work. This time came to me a…
- How To Reset Your Windows Password (If You Can Log-in As An Admin) (2012-02-18) - The laptop I use has a fingerprint reader so I rarely (if ever) write a password to enter my windows account. Today the fingerprint reader…
- Book Review – Going Postal (2012-02-18) - As I mentioned in a previous post, I should have read Going Postal book before reading Making Money, because it gives some interesting background on…
- Book Review – Small Gods (2012-02-08) - It probably won’t surprise you that this is another Terry Pratchett book. I have read a lot of them lately to fill in the blanks…
- Book Review – Moving Pictures (2012-01-31) - After a few months of reading books in their natural form (you know… paper. Remember?), my pad (an Archos 10.1, pretty cheap stuff, not fancy…
- Book Review – Rework (2012-01-26) - A friend of mine gave me Rework two weeks ago after a talk we had over my post on how finishing things helps you finish…
- Linux is Evolving… Into Windows!!! (2012-01-20) - Yesterday I upgraded my Linux box from Ubuntu 10.04 (or something like that) to 11.10, and my the build-in vncserver (vino) stopped working. My client…
- Chrome Reopen Last Closed Tab Shortcut – Ctrl+Shift+T (2012-01-16) - Ever happens to you that you close a tab in your browser by mistake and then you have to go to the history to search…
- UML Superstructure 2.4.1, Page 327: “An activity execution represents an execution of the activity” (2012-01-15) - I thought an activity execution meant cutting the activity with an axe in front of the whole townspeople and then singing “long live the king”……
- GEF Internals Part 2 – Mouse Interaction and the Creation Tool (2012-01-08) - After investigating the complex interactions that occur with the selection tool in my previous post, we will now focus on a simpler case, the creation…
- Book Review – Making Money (2012-01-06) - Taking a rest from all the serious reading I have done in the last couple of weeks, I decided to go and have some fun reading…
- GEF Internals Part 1 – Mouse Interaction and the Selection Tool (2012-01-01) - There are some explanations on the net on how GEF works (see here ) but I have not found a good description on how GEF…
- Renamed VPL Page (2011-12-31) - Last week I decided to add a page to my blog containing all of the papers I have read during my PhD studies, with comments…
- Do You Like Wikipedia? (2011-12-29) - I am personally a big fan of Wikipedia, and since last year I am also a proud donor to the Wikipedia foundation. I think the…
- Visual Languages, Visual Notations and Visual Programming Languages in Software Development (2011-12-25) - This is my current field of interest and I am reading many of papers (some good and some bad) on the subject. I searched the…
- The Fine Thread between Being a Good Researcher and a Good Programmer (2011-12-22) - My “day job” is studying a PhD in Information Systems Management, where I am investigating the executable aspects of OPM (the Object-Process Methodology). While doing…
- Book Review – The Next 100 Years: A Forecast for the 21st Century (2011-12-14) - I am a regular reader of the weekly economic newsletter published by John Mauldin, both Thoughts from the Frontline and Outside the Box, which are…
- Book Review – The Passionate Programmer (2011-12-06) - The Pragmatic Programmer was a book that had a great impact on my view of programming. I read it after having programmed for 6 years,…
- Book Review – The Girl With The Dragon Tattoo Trilogy (2011-12-05) - I am driving to the university almost every day, a trip that takes about 35 minutes (in public transportation it would take about one hour…
- Estimating the Unknown – Series of Posts by Johanna Rothman (2011-11-30) - Johanna Rothman‘s blog is one of the RSS subscriptions that I constantly read in my coffee breaks (she and some hundred more RSS… I simply…
- Welcome to JAR Hell (2011-11-21) - Object orientation has given us great things, but lately I have felt that we are having great problems managing the highly coupled components that OO…
- Book Review – The Book Thief (2011-11-20) - I started reading the book thief just as I started reading the black book. It was the next book in the shelf on the side…
- The More You Do The More You Can Do (2011-11-16) - My mom says that the more things you do the more things you are able to do. She always tells when she comes to see…
- Is UML for Real? (2011-11-14) - I’m teaching this semester a course on software analysis and design, with special emphasis on software system modeling. Obviously this means that I am teaching…
- One Week in Bogota, Colombia (2011-11-04) - I had to travel unexpectedly to my home country Colombia because my father had to undergo an unexpected surgery (a Carotid Endarterectomy). It has been…
- Book Review – The Little Book that Beats the Market (2011-10-28) - The Little Book That Beats the Market, by Joel Greenblatt is a really short book for investors searching for a magic formula for stock exchange…
- Book Review – The Little Book that Beats the Market (2011-10-28) - The Little Book That Beats the Market, by Joel Greenblatt is a really short book for investors searching for a magic formula for stock exchange…
- Book Review – The Black Book (2011-10-23) - From the list of books that I have already read, you can deduce pretty fast that I am not the type who reads Nobel-prize authors.…
- Creating an OPM GEF Editor – Part 20: Creating a Context Menu and Adding Custom Actions (2011-09-19) - Previous Tutorial: Creating an OPM GEF Editor – Part 19: Displaying Tooltips. Wow. It’s been almost two weeks since my last post on this subject.…
- Choosing an Open-Source License (2011-09-18) - Since the code-base that I’m sharing on the internet is getting larger, and the product being created is starting to work, it is not time…
- Really Cool (and Cute) Video (2011-09-10) - How to make a baby. I loved it.
- Book Review – Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman (2011-09-07) - Just finished reading this great book about how to become a great software craftsman. While the comparison may be strange, this book is fairly similar…
- Book Review – Managing Humans: Biting and Humorous Tales of a Software Engineering Manager (2011-09-04) - First, if you are a manager of a software team PLEASE go and read this book (available from amazon.com ) and read it. But only…
- Creating an OPM GEF Editor – Part 19: Displaying Tooltips (2011-09-04) - Previous Tutorial: Creating an OPM GEF Editor – Part 18: Snapping to Grid and to Geometry. Well, I was wrong by saying that there would…
- Getting Rid of the Ugly “Resource is out of sync” Message (2011-09-04) - While working with my OPM GEF editor, I sometimes saw the current exception in the eclipse console: While this was bothersome, it didn’t affect the…
- Creating an OPM GEF Editor – Part 18: Snapping to Grid and to Geometry (2011-09-04) - Previous Tutorial: Creating an OPM GEF Editor – Part 17: How to Define Container Edit Parts. As a finishing touch to our editor, we will…
- Creating an OPM GEF Editor – Part 17: How to Define Container Edit Parts (2011-09-01) - Previous Tutorial: Creating an OPM GEF Editor – Part 16: Displaying EMF Properties in a GEF Editor. The Object Process Methodology‘s modeling language allows (and…
- Book Review – The Monk Who Sold His Ferrary (2011-09-01) - Since I am an avid book reader and love what books can teach us, I’m will start writing short book reviews of the books I…
- Google’s Android App Inventor – The Death of Another Visual Programming Language? (2011-08-31) - As part of the closing of Google Labs, the Android App Inventor visual programming engine for the Android platform will be shut down and the…
- Is Software Development an Art? (2011-08-25) - I am a passionate software developer, making it both my job and my hobby. I sometimes wonder what makes good software good, and how it…
- Creating an OPM GEF Editor – Part 16: Displaying EMF Properties in a GEF Editor (2011-08-22) - Previous Tutorial: Creating an OPM GEF Editor – Part 15: Adding Structural Links. The eclipse workbench provides us with ready-made views, which can be populated…
- Creating an OPM GEF Editor – Part 15: Adding Structural Links (2011-08-16) - Previous Tutorial: Creating an OPM GEF Editor – Part 14: Refactoring, Refactoring and More Refactoring. In the last tutorial we learned how to refactor classes…
- Don’t Let Your Team Develop Things Which They Can’t Understand (2011-08-14) - Just finished reading a nice article by Fank Buschmann, one of the authors of Pattern-Oriented Software Architecture called Unusable Software is Useless, Part 2. The…
- An Exact Interface (2011-08-11) - A lot of thought is invested in creating Object Oriented programs, specially when creating their models. We want to have a simple yet powerful model,…
- Your Co-Workers Can Kill You (2011-08-11) - While you may think having bad co-workers is bad, take a look at this article here: Are Your Co-Workers Killing You?. This is another example…
- Creating an OPM GEF Editor – Part 14: Refactoring, Refactoring and More Refactoring (2011-08-07) - Previous Tutorial: Creating an OPM GEF Editor – Part 13: Adding Procedural Links In the last tutorial we modified the model adding both procedural links…
- The Internet Is Addictive (2011-08-04) - Something that us geeks found out a long time ago is now mainstream. http://techcrunch.com/2011/07/25/technology-is-the-new-smoking/ Will electronic be forbidden in public places just like smoking? Well,…
- Creating an OPM GEF Editor – Part 13: Adding Procedural Links (2011-08-03) - Previous Tutorial: Creating a GEF Editor – Part 12: Enable Save Action on the Editor In this tutorial we’ll be adding more link kinds to…
- Creating a GEF Editor – Part 12: Enable Save Action on the Editor (2011-08-01) - Previous Tutorial: Creating a GEF Editor – Part 11: Creating Link Bendpoints So, after managing to break my laptop’s screen last week I’ve been pretty…
- Sob! I Broke My Laptop :-(. Help Me Continue Coding (2011-07-29) - After I managed to break the screen of my android phone 6 months ago, and my NAS broke down a month ago, I opened my…
- Creating a GEF Editor – Part 11: Creating Link Bendpoints (2011-07-24) - Previous Tutorial: Creating a GEF Editor – Part 10: Deleting Connections and Fixing of Thing Delete Command When I used tools to automatically create UML…
- Creating a GEF Editor – Part 10: Deleting Connections and Fixing of Thing Delete Command (2011-07-22) - Previous Tutorial: Creating a GEF Editor – Part 9: Connections This tutorial continues the development of our OPM editor, adding a rarely useful functionality: deleting…
- Check Your Style (2011-07-20) - I decided that it is about time to stop coding like a monkey and start doing things right from the start (and I should also…
- Extending org.eclipse.draw2d.Shape – A Short Experience (2011-07-20) - I am creating a GEF editor for the Object Process Methodology modeling language. The modeling language uses an isosceles triangle, resembling the one that is…
- Repost – Who is an Expert? (2011-07-19) - Great post by Hayim Makabee. Completely agree with him. Experts are not people that know all the rules, they must also know when they don’t…
- Creating a GEF Editor – Part 9: Connections (2011-07-13) - Previous Tutorial: Creating a GEF Editor – Part 8: Delete, Undo and Redo Having a functional editor on which we can add figures is already…
- Creating a GEF Editor – Part 8: Delete, Undo and Redo (2011-07-10) - Previous Tutorial: Creating a GEF Editor – Part 7: Moving Elements and Direct Editing In this tutorial we are going to add functionality to delete…
- Creating a GEF Editor – Part 7: Moving Elements and Direct Editing (2011-07-07) - Previous Tutorial: Creating a GEF Editor – Part 6: Model Refactoring and Editing Diagram Entities In today’s tutorial we will continue adding more editing capabilities…
- What a Week This Has Been (2011-07-07) - I had two very traumatic experiences this week… but survived :-). Saturday night my NAS decided to break down. A Segate GoFlex Home 2TB drive…
- Creating a GEF Editor – Part 6: Model Refactoring and Editing Diagram Entities (2011-07-06) - Previous Tutorial: Creating a GEF Editor – Part 5: Loading the Model from an EMF File We finished the last tutorial with a working “editor”…
- Repost – Software – more than code: Software in pictures (2011-06-30) - A picture is worth a thousand words. Use these to explain to your boss how bad code looks: Software – more than code: Software in…
- Seem that Tshuva is Going for a Haircut (2011-06-22) - It seems that Tshuva is going for a haircut or at least postponement of debt payment, as has been published in the Israeli financial media.…
- Creating a GEF Editor – Part 5: Loading the Model from an EMF File (2011-06-22) - Previous Tutorial: Creating a GEF Editor – Part 4: Showing the Model on the Editor Hi everyone. In this tutorial we will learn how to…
- Creating a GEF Editor – Part 4: Showing the Model on the Editor (2011-06-21) - Previous Tutorial: Creating a GEF Editor – Part 3: Basic GEF Editor The last episode of “Creating a GEF Editor” ended with the creation of…
- Creating a GEF Editor – Part 3: Basic GEF Editor (2011-06-17) - Previous Tutorial: Creating a GEF Editor – Part 2: EMF Code Generation In the previous tutorial we finished the definition of the model and generated…
- Creating a GEF Editor – Part 2: EMF Code Generation (2011-06-14) - Previous Tutorial: Creating a GEF editor – Part 1: Defining the Model The eclipse EMF framework provides tools for the creation of structured data models…
- Creating a GEF editor – Part 1: Defining the Model (2011-06-12) - I am creating a new editor for the Object-Process Methodology Modeling language. Since at the same time I am learning both EMF and GEF, it…
- A Ad Add Adds! (2011-06-10) - I am seeking some revenue from my site, at least to pay the hosting… the stock market has not been nice lately:-). You are invited…
- Transfer Finished (2011-06-09) - All systems going back to normal status.
- Moooooving! (2011-06-01) - I’m moving my site to a new hosting, much cheaper than the one I’m using today, so there will be some downtime. The blog’s address…
- The Seven Laws of Investing (2011-05-25) - Just finished reading James Montier‘s article on this subject (available for free at the GMO site). A definite recommendation for any serious investor. Enjoy it.
- The Quest for the Perfect Java Graph Framework (2011-05-24) - After testing JGraphX for a couple of days and reading some of its code, I have come once again to the conclusion that while it…
- New Blog Pages (2011-05-22) - Sometimes information must be static (as in blog pages), therefore I decided to add two new pages to my blog: Useful Links and Reading List.…
- I used to eat beans, but the moon now shines more bright (2011-05-21) - You are probably wondering what the hell I’m talking about. Well, I’ve switched to eclipse after using netbeans for the last 5-6 years. I liked…
- JGraph Styles (2011-05-13) - I build a reference program to test some of the styles that JGraphX provides. This is the result of the program: The full source code…
- Is UML out of fashion? (2011-05-02) - Maybe it is, if Martin Fowler says so in his bliki. In his own words: “UML has got rather out of fashion it seems.” Can’t…
- I’ve been a bit busy lately (2011-04-26) - While I would have liked to advance some more in my JGraph learning, life has been keeping me busy. But life is good. Welcome to…
- Another day with JGraph – Styles and Constrained Children (2011-04-11) - Today I spent some more time playing with JGraph. The application I am creating requires three basic shapes: a rectangle, an ellipse and a roundtangle…
- JGraph – Another Java Graph Framework (2011-04-10) - After some playing with JUNG (see examples 1, 2 and 3), I feel that it will be hard to use it for the application that…
- Sipdroid and SMSDiscount – VoIP on the Android without Pbxes (2011-03-04) - Configuring sipdroid to use SMSDiscount is a lot easier than most tutorials on the internet show. There is no need to create any pbxes.org account…
- Learning JUNG (3) – Changing the vertex’s shape (2011-02-15) - To change the way a vertex is rendered, you provide an implementation of the Renderer.Vertex interface. The interface has one function – paintVertex – where…
- Learning JUNG (2) – Adding labels (2011-02-14) - That was very easy. First I changed the VisualizationImageServer for a VisualizationViewer. The name of the variable was also changed from vs to vv. The…
- Learning JUNG – Java Universal Network/Graph Framework (2011-02-14) - I’m searching for “user-friendly” java graph frameworks for an application that I’m developing for my studies. I stumbled upon JUNG. After 15 minutes searching and…
- Opportunities Ahead (2011-01-30) - The latest developments in Egypt are starting to create new opportunities that lately have been hard to find in the Israeli market. Updating on my…
- Delek Nadlan Bonds – Speculate on Tshuva’s Image (2011-01-25) - Delek Nadlan‘s short duration bonds are selling at a nice discount lately: Delek Nadlan B4 (DLKR.B4): yielding 19.02% (At least by themarker and globes, although…
- Economists vs Astrologists (2011-01-17) - I am an avid reader of John Mauldin (one of his 1.5 million closest friends, as he puts it).His weekly mail is a must-subscribe for…
- Big Changes (2011-01-10) - This is my second week of my new life. On the 30/12/2010 I stopped working and started full-time Ph.D. studies. Changes are difficult, and only…
- How I calculate P/E and dividend returns (2010-08-15) - In some posts and in the analysis worksheets I calculate these values, but I have found that their values differ from the ones posted in…
- Relax and Enjoy (2010-08-13) - For our last anniversary I surprised my wife with a nice set of red roses. She decided so she had to give me something in…
- My Latest Analysis (2010-08-09) - I just finished the complete analysis of one nice israeli company, Chilan Tech (חילן טק) and finished the initial analysis of the israeli communication company bezeq…
- The Price of Stocks (2010-06-16) - Today I’m going to write about a complicated topic that confuses many new investors (like me), which is the price of a stock (that is,…
- Nexus one – still working after two days (2010-06-08) - I am happy to tell you that after two full days playing with my new nexus one smartphone it is still working! Not hard when…
- Android (2010-06-06) - This post is sent from my new nexus one android. Cool :-).
- My First Investing Post (2010-05-16) - One of the things that I do in my spare time (competing with caring for 3 children, loving my wife, programming, reading and knitting) is…
- The Perfect Asado (2010-05-10) - I am in Argentina, known as the “Meat Country”. And guess what I had for lunch yesterday? ASADO!. Strangely enough, the asado has no steaks…
- But really, can I? (2010-04-27) - Every time I make a decision this question comes to my head… Can I change this later? The answer is not always easy. If I…
Vainolo's Blog