- 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 take the plunge. The only way I can define my experience is this – the book is good, but it is not the book I was expecting. The book deals … Continue reading Book Review – Think and Grow Rich
- 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 enough (following the 6 steps of lego organization). But this is not a simple task since there are many colors, some with very subtle differences. So what can a typical … Continue reading Learning ML.NET – Using ML to Identify Lego Colors
- 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 I’m working on is using Razor pages so I’m doing this way even though I know most people are probably using MVC, but there should be minimal difference between doing … Continue reading Uploading a File in ASP.NET Core with Razor Pages
- 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 systems need to perform background maintenance tasks or long-running jobs that are not suited for this request-response paradigm. When running ASP.NET core web applications, this can be done using Background … Continue reading Implementing a Background Task in C# ASP.NET Core
- 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!). This works fine for static pages, but most web pages are dynamic apps where elements appear and disappear when you interact with the page. So we need a better solution. … Continue reading Scraping Dynamic Web Pages with C# and Selenium
- 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. And there are great tools to do this. If you are using C# as I am, a great one is Html Agility Pack (HAP). Let’s see how it works. First, … Continue reading Scraping Web Pages with C# and HtmlAgilityPack
- 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 simple and very fast. Although it doesn’t have all of the goodies that come with “bigger” IDEs (Eclipse, PyCharm, Visual Studio), it has many extensions that fill parts of this … Continue reading Playing with VSCode: C# Hello World Project
- 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. The friend who recommended it said this made a big difference. I did find some differences from other Sci-Fi books but nothing that I would have noticed if he hadn’t … Continue reading Book Review – Remembrance of Earth’s Past Trilogy (The Three Body Problem)
- 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 story of a British doctor during his medical training and practice. Every time I started a chapter I couldn’t put it down and had to stop myself from going on … Continue reading Book Review – This is Going to Hurt
- 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 many others about creativity, which is seen by many as something innate, but as the saying goes, “It takes 10 years to be an overnight success”. So yes, there is … Continue reading Book Review – The Dance of the Possible
- 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 very fast. When we are using one chart type we can show a lot of information in a chart, and when we have two chart types, we can show even … Continue reading Learning C3.js – Lesson 5 – Mixing Chart Types
- 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 a numerical value. They are very good for comparison between different series because the bars give each data point a high visual representation that makes it faster for us to … Continue reading Learning C3.js – Lesson 4 – Bar Charts
- 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 look. Here’s a summary view of all types except “Stanford” type which I never knew existed and even worse, couldn’t find on the net references on when or how to … Continue reading Learning C3.js – Lesson 2 – Chart Types
- 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 to go deep into each type of chart (or at least the interesting ones). Let’s start with line charts. In the following lessons I will include only the javascript code … Continue reading Learning C3.js – Lesson 3 – Line Charts
- 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 many reasons), and there is no better way to show data that using charts. Charts give a fast, high-level view of how the data “looks” (we are visual creatures). Initially … Continue reading Learning C3.js – Lesson 1 – Getting Started
- 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 from a year ago, two years ago… Afterwards I asked myself – was it worth the effort? Does it really matter if they look good or not? If all their … Continue reading Stop Wasting Time Trying to Fix the Past
- 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), it won’t happen to you. TL;DR – should work out of the box, but make sure that define('JWT_AUTH_SECRET_KEY', 'your-top-secrect-key'); is in the right place and that you are NOT using … Continue reading Publishing to Azure hosted WordPress with C# using WordPressPCL
- 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 familiar with extension methods, they let you add methods to existing classes. You do this by creating a static method that receives the class you want to extend as the … Continue reading Don’t Break My Mental Model – Beware of C# Extension Methods
- 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 his widely acclaimed book, Sapiens: A Brief History of Humankind. I came to this book with an expectation of some short to long-term predictions of what the future (historically-wise), and … Continue reading Book Review – Homo Deus
- 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 developer. But (there is always a but), after sleeping it over, there is an assumption to which I disagree, and an economic issue that is not addressed. Following the example … Continue reading Another Factor to Consider about the High Cost of Software Quality
- 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 understanding, but we are just scratching the surface of an incredible machine that works in a way that we don’t understand, and doing so in a very efficient way. And … Continue reading Book Review – The Brain that Changes Itself
- 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 turned out to be a great time investment. Even though sometimes if feels a bit repetitive, it drives a very good point – it’s not what you build that that … Continue reading Book Review – Start with Why
- 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 to do, and don’t have to do. That would be the life, right? This is the idea behind this book, and I was really surprised by how the author really … Continue reading Book Review – The 4-Hour Work Week
- 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 through one of the toughest experiences in history – being in the holocaust, where people were murdered systematically – he found that people whose life had meaning survived (I’m obviously … Continue reading Book Review – Man’s Search for Meaning
- 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 possibilities: Blob, Queue, and Cosmos DB (maybe there are more but these are a good starting point). For some reason Azure Tables are not supported, and there is an open … Continue reading Azure Functions – Part 7: Blob, Queue, and Cosmos DB Triggers
- 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. Triggers are what case the function to execute. Bindings are a simple way to connect data with the function, be it incoming data or outgoing data. Up to now we … Continue reading Azure Functions – Part 6: HTTP and Timer Triggers
- 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 created to Azure. First thing we want to do is replace the storage account used to store the UserData (the default storage is a good way to start, but we … Continue reading Azure Functions – Part 5: Deploying to Azure from VSCode
- 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 next step in a real-world developer experience is to have a local environment where we code, build, and test our functions, and from there sent them the cloud. And this … Continue reading Azure Functions – Part 4: Working with Visual Studio Code and Persisting Data
- 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, and writes/speaks his mind in a way that makes you think about the world in a different way. And he’s getting even better because of having a lot of FYM … Continue reading Book Review – How to Fail at Almost Everything and Still Win Big
- 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 user, and in the web this is mostly done by sending a query strings in an HTTP GET request, or by posting data in an HTTP POST request. Let’s see … Continue reading Azure Functions – Part 3: Handling HTTP Query GET and POST Requests
- 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 book “Death is of Vital Importance: On Life, Death and Life After Death”. The book is the summary of many presentations done by Dr. Kubler-Ross, who was both a psychiatrist … Continue reading Book Review – Death is of Vital Importance
- 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 to improve on that project and return an HTML page from the function. As this turned out to be a lot simpler that I though, I’m spicing this up by … Continue reading Azure Functions – Part 2: Serving HTML Pages with Azure Functions
- 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 bugged me the incredible amount of work that is needed to configure, maintain, and in general, manage the infrastructures on which the software runs, which is what I really want … Continue reading Azure Functions – Part 1: Getting Started
- 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 hear herself from cancer, with no drugs, no operations, just by herself, trying to understand what was causing her this damage and how she could let go rid of it. What … Continue reading Book Review – The Journey
- 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 the book was originally written, and just the feel of the 400+ pages written in the “wrong” direction was intimidating. But it was a great selection for this challenge. History is … Continue reading Book Review – Sapiens: A Brief History of Humankind
- 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 you leave, to make sure that you come back often. They have a full feedback look, they know what to show you to capture your interest, they know what you like, who … Continue reading How I Broke Facebook’s Algorithm
- 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 product development perspective, managing to make a product a habit, is winning. How many times do you check Facebook every hour? (I stopped counting, just too many times). How about … Continue reading Book Review – Hooked: How to Build Habit-Forming Products
- 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… I’m happy that I found it, and when I later found out that my wife had bought it and never read it, we had a good laugh together :-). As … Continue reading Book Review – I Can See Clearly Now
- 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) of my ideas. So being persuasive is an trait that I need to master to do my job well (at least from my point of view). Because of this, Influence … Continue reading Book Review – Influence: The Psychology of Persuasion
- 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 came back. It’s a story about how you can go crazy little by little without the people around you noticing, and suddenly it happens – and in most cases there … Continue reading Book Review – And Then I Thought I Was a Fish
- 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 shots are better than overhand shots? Probably not, and neither did I. Enter the wonderful world of podcasts.
- 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 other book could make the same impression on me. I was wrong. Hogfather is filled with insights into the inner workings of human belief, and how they affect our daily … Continue reading Book Review – Hogfather
- 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 all think we know, but how much does science really know about this? The China Study is a book that deals in the first part with the statistical relation between … Continue reading Book Review – The China Study
- 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 great book! His main idea is that our cognitive functions are executed by two different systems: The first one (system 1) is automatic, fast, doesn’t require much energy, and isn’t … Continue reading Book Review – Thinking, Fast and Slow
- 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 the libraries I use, copied them to a directory in the plugin that required them, and the added them to the MANIFEST.MF file. You are probably asking why am I … Continue reading Adding JAR Dependencies to an Eclipse Plugin Maven Tycho Build
- 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 you look at the way some people behave (for example, waiting in lines for days to get the latest gadget), it’s clear that rationality has left the building. And this … Continue reading Book Review – Predictably Irrational
- 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 effort, the pre-release version of the Object-Process programming language is ready. You are invited to visit the official OPP site where you can learn more about the language, get instructions … Continue reading Shaping the Future of Visual Programming
- 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 to be configured to use larger fonts, otherwise their text is completely unreadable, especially when you are presenting to someone else and don’t want them to have to come closer … Continue reading Changing the Font of a JOptionPane
- 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 feeling that I’m on the right track. As I was learning how to work with APIs in Java, I needed some simple API to call to check that I was … Continue reading JSONPlaceholder: a “mock” RESTful API for Learning/Testing
- 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. I was doing it wrong :-). I found the Unirest library, and my life has been happy ever since. To show how simple it is, I wrote a short program … Continue reading Calling a Web API from Java using Unirest
- 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 about a hundred pages, I expected something very similar here. I was very wrong. Not only was it a pleasant reading experiences, the book has many insights and teachings that … Continue reading Book Review – The Lean Startup
- 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 efforts felt a lot like the lower graph below: It was simply too complex. Every time I wanted to add/change something, I had to remember how to do it; search … Continue reading Creating Azure Environments using Azure Resource Manager Templates
- 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 finally sitting down to share it with you. First, go read the article, which you can find here. It was original originally written in 1960, yet most (if not all) … Continue reading Must Read – Marketing Myopia, by Theodore Levitt
- 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 are doing and the things we want to do. But it’s not only me (I am a PM, so talking is part of my job description). After we moved to … Continue reading A Lone Developer Can’t Hunt a Mammoth
- 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, expose only asynchronous operations. For example, let’s say I want to fetch a coconut from my palm tree. This method would be defined as: Simple, right? But let’s say this … Continue reading Please Don’t Force Async On Me
- 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 become powerful enough to do most things. Yea, most of us still have a desktop hidden somewhere below our desks, running tens of VMs and stuff like that. But out … Continue reading Lenovo X1 Carbon (1st Gen) vs Microsoft Surface Pro 3
- 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 are a lot better now and I’m more or less back to normal, but sometimes my availability is unexpectedly lower. As I am a product manager, this has been a … Continue reading Letting Go – A Foundation of Agile Software Development
- 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 to be readable and understandable by other human beings. So programming languages (and of course, JavaScript) have some build in statements to help us create more readable and easier to … Continue reading JavaScript Tutorial – Part 5: Statements
- 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 to click every time in a different tool in the OPP palette to create different model entities made the experience of creating a new diagram very cumbersome. The diagram canvas … Continue reading Creating an OPM GEF Editor – Part 26: Activating Tools from the Context Menu
- 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 who comes from many years programming in Java, learning JavaScript made me realize that the correct name for the paradigm used by programming languages like Java, C++, and C# (to … Continue reading JavaScript Tutorial – Part 4: Object Creation and Prototype Chains
- 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 program, programmers tend to use the same name for variables in many places. And because JavaScript is a very “promiscuous” language, this can cause serious bugs that can be very … Continue reading JavaScript Tutorial – Part 3: Variable Scope and Closures
- 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, or Scala). In general, you can declare a variable anywhere in the program by assigning it a value, but its a very good practice (and helps reduce bugs) to declare … Continue reading JavaScript Tutorial – Part 2: Variables, Functions, and Objects
- 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 things Is to write then down, so if I’m already doing this, why not write a tutorial on the subject? so here it goes. hope this will be the first … Continue reading JavaScript Tutorial – Part 1: Hello JavaScript!
- 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 two ways to do this, with the var keyword, or without the var keyword. Like this: Both are valid statements in Javascript… so what is the difference? As usual, thank … Continue reading The Javascript “var” Keyword
- 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 because I have been somewhat busy with both work-related and personal issues, but also because I stopped enjoying it. About a year ago I decided to start sending a weekly … Continue reading Stop doing what you hate
- 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 my decision to work here. And as a year has passed, this is a great moment to look back. It all started with a call from a good friend (and … Continue reading My First Year at Microsoft
- 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 broke down completely (I sold it for pocket money, but it was more expensive just maintaining it). At the moment we were just before the Holidays here in Israel, which … Continue reading Overcoming Analysis Paralysis
- 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 Leader-Leader behavior: you don’t have to be the leader to say how things should be done, and if you say it right (and your leader has your trust), your will … Continue reading On leadership, the developer’s job and speed, and the lead’s paradox – Vainolo’s Weekly Readings
- 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 share what I learn, I have created a PowerShell Notebook that will store all this information. This content was previously part of my Microsoft notebook, but since there is a … Continue reading New Page – PowerShell Notebook
- 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 motivated and having a better performance. This article shows how long-term goals and personal targets make for better motivators than external factors like paybacks or titles. Very interesting. http://www.theeffectiveengineer.com/blog/frame-your-goal-to-increase-motivation The … Continue reading On Motivation, Obligations, Alerting, and the MLP – Vainolo’s Weekly Readings
- 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 now to the recording. Funny how my voice sounds on the recording 🙂
- 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. I downloaded Guice, added it to my libraries project, installed it in my local maven repo, referenced it from my interpreter project, and started using it. From the eclipse environment, … Continue reading A tale of Dependencies, Maven, Eclipse and Wasting Time
- 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 regular life. But on the plus side, there’s a lot of good material that I read during this time, so enjoy! Why Do You Want to Lead People? Many engineers see … Continue reading On Leading, Software Defects, Technical Debt, and Big Data – Vainolo’s Weekly Readings
- 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 this. While society has changed a lot in the last 30 years, technology has revolutionized the world, communication is now instantaneous… but our brain hasn’t evolved that fast, and we still … Continue reading Book Review – Influence, The Psychology of Persuasion
- 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 it. Most things are not urgent, and if they are, you won’t be able to handle them before you are sitting in your office. So you will only become anxious … Continue reading Email in the Morning, Transparency, the Two-Pizza Rule, and Statistics – Vainolo’s Weekly Reading
- 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 sometimes counter-productive as good human interaction requires wasting time – small chat, watching and talking about sports… (and yes, I have more than one friend, if you are asking), but this … Continue reading Autumn Cleaning
- 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 will search, and how much they are willing to pay is directly dependent on how much pain they currently have. And this helps us understand how to promote and sell … Continue reading On Solving Pains, Architecture, Snippets and Superpowers – Vainolo’s Weekly Readings
- 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 *nix command line. Today, I wanted to find if I had installed one service in my computer, and instead of going through all the required clicks in the UI, I … Continue reading Filtering PowerShell Output as Text
- 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 in software development is getting our requirements wrong, and by using Agile, MVP, and similar techniques, we have improved this somewhat in that at least we know think we know … Continue reading Prototype Driven Development
- 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 strong opinions on how they should develop software, but lately the number of opinions has increased exponentially, and as usual, everyone (including me) thinks their opinion is the right one. … Continue reading We Don’t Know Enough About Software Development
- 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 one that can help destroy your team and create failed projects. And that is FDD. Make sure you are not practicing it. http://www.hanselman.com/blog/FearDrivenDevelopmentFDD.aspx Pitfalls on Agile Software Development Agile is … Continue reading FDD, Agile Pitfalls, Tricks to make Progress, and the MCR – Vainolo’s Weekly Readings
- 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 tendency to impact how developers think the system actually works. Often, it requires studying the system in detail to uncover. Without the time to do this, dead code competes for … Continue reading Dead Code, Application Monitoring, Tips for Software Engineers and Things they should Know – Vainolo’s Weekly Reading
- 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 developers still fight about, like “There is no ‘best language’. Some languages & tools are better at solving some problems than others. As you learn different languages, don’t try and … Continue reading Truths for Developers, Software Complexity, Happiness and Procrastination – Vainolo’s Weekly Reading
- 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 I need a piece of software that does something. First thing I do is a search for the best alternatives for what I want; for example: “What are the best image … Continue reading 2 Tools to Find and Install Great Software to Your Computer
- 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 found by the first reviewer, and from the second one onwards the cost is not worth the returned value (most of the time). Actually, self-code reviews (re-reading your code a … Continue reading On Code Reviews, DevOps Culture, Why companies fail to change, and Why software development is Hard – Vainolo’s Weekly Reading
- 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 requirements didn’t allow us to query the DB all the time, so the team had developed an in-memory cache on top of the database. We had a full-blown ORM mapping … Continue reading Taking Azure Redis Cache for a ride – testing a simple Producer/Consumer program
- 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 problem”. Are you simply writing core or are you solving YOUR customer’s problem? http://blog.codinghorror.com/can-your-team-pass-the-elevator-test/ 95% of Managers Follow an Outdated Theory of Motivation “a recent study by psychologist Susan David … Continue reading The Elevator Test, the Theory of Motivation, DRY enough, and are Humans “Resources?” – Vainolo’s Weekly Readings
- 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 agile, fast and customer friendly methodologies. http://arstechnica.com/information-technology/2014/08/how-microsoft-dragged-its-development-practices-into-the-21st-century/ At the office, are you a doctor or a patient? When you go to your boss, are you talking to him as a … Continue reading How Microsoft became agile, being a doctor, defining quality, and writing a blog – Vainolo’s weekly reading
- 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 is inside. Let’s see if the data supports this :-). So here they are, some interesting articles from my last week of internet reading. What Will Fast Company Write about … Continue reading Culture, Standups, Hating your code, and Sharing information – Vainolo’s weekly readings
- 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 Human Body It’s time to throw away the analogies about building fortresses and perimeter defenses and start to approach InfoSec with the same standard of care we use for public … Continue reading Weekly Reading Material – 28/04/2014
- 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 other ways to create C# programs (mono for example) but for beginners VS does a lot of magic that saves time. Maybe later as I understand the basics, I’ll investigate … Continue reading C# for the Impatient, Lesson 1 – The Basics
- 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, it came back to my head, and with amazon giving me the possibility to read a book whenever I want, I started the journey. The book starts pretty simple, a … Continue reading Book Review – Zen and the Art of Motorcycle Maintenance
- 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 be attacked by viruses. http://www.computer.org/portal/web/news/home/-/blogs/trojan-infects-linux-unix-servers-worldwide Ameba Teams and Amoeba Management An ameba team is a team that is self-contained and contains all skills necessary to perform it’s task – from … Continue reading Weekly Reading Summary
- 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 of money in order to make their employers happy. Now we have initial empirical evidence (which is better than nothing), that happier developers perform better on analytical tasks. Science rocks! … Continue reading Weekly Reading Material – 28/04/2014
- 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 color, country, religion, company (or any other categorization you can make) is better than others. In this day, when I remember the atrocities performed in the past, I think of … Continue reading Be Proud of Who You Are
- 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 While culture is a bit overrated lately, it is still very important. Check the list to see if you fit one of the profiles; if you do, you are hurting … Continue reading Weekly Reading Material – 17/04/2014
- 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 make a great difference to a project, giving as example how two developers have done more than 50% or all commits of the Eclipse JDT project. After my previous experience … Continue reading Open Source Contributions – Can you really make a difference?
- 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 the flowers, because the fast pace can hurt you. “One of the byproducts of a fast-paced internet lifestyle is the crushing weight of information — and inside this snowball is … Continue reading Weekly Reading Material – 03/04/2014
- 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 with care. I may be completely wrong in what I’m saying here 🙂 Software development (a.k.a.Programming) is a skill that requires constant learning. Reading blogs, books, listening to podcasts, watching … Continue reading Programming – Not for the family guy/gal?
- 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 Programmer Is Literally Driving Many Of Them Crazy, and I Knew a Programmer that Went Completely Insane Three related posts about the programmer culture. Some say that a real programmer … Continue reading Weekly Reading Material – 27/03/2014
- 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 time. While I don’t completely disagree with this idea, I think this is not the main value of automation. Let’s say for example you have a deployment process. You can … Continue reading Automation is not about saving keystrokes
- 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 of production code a day. A 50,000 line program would take 1,000 man days to produce. The 50,000 line listing can be entered by a programmer at about 1,000 lines … Continue reading Weekly Reading Material – 20/03/2014
- 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 experienced last week. Is your cat hungry? I have two cats at home, and like all members of the animal kingdom, they have a tendency to eat their food and … Continue reading Two tales of great customer service
- 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 have been drastically reduced by using a continuous improvement methodology. Are we doing the same for our products? “Here is the typical sequence of actions for a production bug… 1.Alarm … Continue reading Weekly Reading Material – 14/03/2014
- 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 or NoSQL? And if we want to use NoSQL, what specific implementation should we use? What about authentication frameworks? or performance testing? the list is infinite. And the biggest problem … Continue reading StackExchange Software Recommendations in Beta
- 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 Failure: Why Highly Successful People Crave Mistakes We are hard-wired to reject failures – rejecting them, having excuses, and simply ignoring them. But we should embrace failures, and learn from … Continue reading Weekly Reading Summary – 07/03/2014
- 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 Vooza, a parody about the start up world. Even the advertisements are funny. “I call myself a Futurist because Professional Liar didn’t fit on my business card template” – promoting … Continue reading Vooza – It wouldn’t be so funny if it wasn’t so real
- 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 articles, so never mind :-). Here’s my weekly update: Your Code Ain’t Your To-Do List How many times have you added a “TODO:…” row in your code? Do you really … Continue reading Weekly Reading Summary – 27/02/2014
- 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). I use this time to advance my PhD project, the Object-Process programming language. The short time span creates new “constraints” on my work: I have found that have to tackle … Continue reading Coding in the Train
- 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 relatively low complexity and also giving back to the community. Sometimes I even learn interesting stuff. Usually I take 4-5 suggested edits, check them, and return to my regular tasks. … Continue reading StackOverflow is Testing You
- 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 with all the world? So here it goes, a summary of my weekly readings. I love new sources, so if you have something to share, leave me a comment. (This … Continue reading Weekly Readings – 23/2/2014
- 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 for your manager to see your progress, the work you do, and how it advances (or not) the final product. Not only that, but most people who join a young … Continue reading Start-up workers have it 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 it, it is a sculpture if a person carrying a gigantic phone on his back)
- 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 on GitHub, I have only made two real contributions. But the difference between these two is so big, and the way they ended is so different, that I had to … Continue reading Contributing to Open Source – The Good and The Bad
- 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 both text and code, and is free. I hope the search will finish soon. For now, please cope with me. And if you have suggestions, you know how to contact … Continue reading Theme Playing
- 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 something new. Maybe I read about this some time ago and it was in the back of my head. Move along… Nothing to see here 🙂
- 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 where buying a book is done from you own couch, I could not stop reading. So I just finished all the available “Game of Thrones” Books: A Clash of Kings, … Continue reading Book Review – A Clash of Kings, A Storm of Swords, A Feast for Crows, and A Dance with Dragons
- 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 – 7200 RPM SATA HD. After installing on it a freshly minted Win8.1 and some other stuff, it was ready to go. When I’m at my computer, I always have … Continue reading Is your computer slow? Maybe it’s your browser’s fault
- 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 background (at least as far as I know), with family and kids. One day she got sick, and after fighting death for some months, she lost. Events like this change … Continue reading Today Someone Died
- 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 tests (which I had stopped doing… but after my CI disaster, I am being more careful). I am not a TDD purist/evangelist, but sometimes it is a good methodology. So … Continue reading Running Eclipse Plug-In Unit Tests with Maven and Tycho
- 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 on every repository change pulls the latest commit and build it. Don’t remember how it happened but one day it stopped working, and I was too lazy to fix it. I … Continue reading Paying the Price for Not Doing Continuous Deployment
- 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 (donations have an upper limit) and non-recurrent (at least from what I know). Enter Gittip, a new way to thank others. Specifically, it is for people that are continuously doing things … Continue reading Gittip – A New Way to Give Back
- 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 many areas such as the automobile, military, space exploration and others (although not exactly like as described en most books). But these are large, expensive robots, never becoming commonplace in … Continue reading Robotics – The Next Revolution
- 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 against B. I hate when a coworker tells me that I should not waste my time on my current project because this other guy is going to kill it, but … Continue reading Why I Hate Company Politics
- 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 more than once. John Willis – @botchagalupe The New Economics Who Says Elephants Can’t Dance?: Leading a Great Enterprise through Dramatic Change Statistical Method from the Viewpoint of Quality Control … Continue reading DevOpsDays TLV 2013 Reading List
- 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 targeted for embedded and real-time systems – think your typical airplane’s computer. Ada is a REALLY strongly typed language. For example, if you want an array of fruits, you would … Continue reading From Compiled Procedural Strongly Typed to Interpreted Weakly Semi-Functional (Part 1)
- 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 noticing something very interesting. Whenever I went to public bathrooms, I would find myself standing in front of the faucet and waiting for it to turn itself on, regardless of … Continue reading How Technology is Making Me Lazy
- 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 about Ideone, where I landed last week while searching for a place where I could write so Ada83 code to see if I remember how it is done. The site … Continue reading One IDE to Rule Them All
- 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! It was incredible. And after a friend of mine told me that the series was based on a book (actually a series of books), I just had to read the … Continue reading Book Review – A Game of Thrones (Book one of A Song of Ice and Fire)
- 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 deep so I decided to put them together in one review. Thief of Time is a simple and funny novel, with not many special things going on (the plot is … Continue reading Book Review – Thief of Time & Feet of Clay
- 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 don’t want to add all of my contacts… there are many people there I don’t even know… So I deselected “select all”, and this is what I got: Do you … Continue reading Bad UX – On Purpose
- 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 it as something strange, since nowadays most people use RSS, Twitter, Facebook, and (God forbid) G+ to distribute their content. But it happened again in the afternoon. And yet again … Continue reading The Return of the Mailing List
- 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 a short internet search it seems that I am not the only case. So I followed the troubleshooting guide, refreshed my browser cache, changed computers, disabled all plugins, and voila! … Continue reading WordPress 3.6 Upgrade Breaking Visual Editor – Solved
- 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 finished reading Choose Yourself! by James Altucher. I decided to write about this because most people think that heroes need superpowers, or at least very good hardware like Iron Man. … Continue reading I Want to be a Superhero
- 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 the last month it did its final act and took him away. We loved you when you lived and we will miss you now. But life goes on. We are … Continue reading Life and Death. We are in the Middle
- 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 in a systematic way! Finally!!! But after three weeks in the course, learning the “Beginning Student” programming language (something similar to Lisp), I am disappointed. Not only is the course … Continue reading Learning to Stop. And Start Again
- 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 always problematic for developer is creating the context in which they are developing. Experiments have shown that an uninterrupted task takes twice as long and has twice as many errors … Continue reading Getting Back on Track – Eclipse Tools to Create Context
- 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 because of their lack of visibility“. This subject came to my mind after a long talk with a friend that works in one of the “cool” companies around here (at … Continue reading Is Culture Everything? Beware of the Survivor Bias
- 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 down and wrote a review for it. The time has now come :-). From my understanding, Hofstadter‘s I Am a Strange Loop is a shortened and simpler version of his “Gödel, … Continue reading Book Review – I Am A Strange Loop
- 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 development. Another very important tool are IDEs (well, there are some that say that real programmers don’t use IDEs, but I’m not one of them, although I really like emacs … Continue reading The Importance of the IDE in Software Development
- 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 with the services provided by WordPress’ Jetpack plugin, specifically updating Twitter accounts. I think I solved this problem with the information provided in this two links: http://www.stefanjohansson.org/2013/05/moving-the-blog-to-azure-websites/ http://www.tpateman.co.uk/reboot/error-activating-jetpack-plugin/ And I … Continue reading Fixing Twitter Problems in Azure WordPress Hosting
- 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 dreams stuff that feel taken out of an a Lewis Carroll book (Through the Looking Glass, or Alice in Wonderland). And to top it all, we also have the Nac Mac … Continue reading Book Review – The Wee Free Men
- 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 of the modern culture of superficiality – where you don’t have to go deep to understand anything. Boy was I wrong. Since joining Tweeter this year, it has become my … Continue reading How Twitter Flattens the World
- 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 desktop – Windows rules there), etc. But since I started working at MS, I decided to give them a try – specifically Microsoft Azure (I also get some freebies because … Continue reading Assimilation has been Achieved – Vainolo.com is Now Hosted @ Azure
- 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 of reviewing this book, go ahead and stop reading here. You stayed… good. This means you have an open mind. Just like me, otherwise why would I have read “The … Continue reading Book Review – The God Delusion
- 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 material to clear up my brain, and what better than a Terry Pratchett book to do the job! But “The Science of Discworld” is not your ordinary Discworld book. It … Continue reading Book Review – The Science of Discworld
- 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 of the move, posts and comments have been transferred, but images not. There may also be some other problems that I haven’t seen yet. Hope to have this finished by … Continue reading Moooooving, Once Again
- 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, but most of them are theoretical, and I found that I more of a practical than theoretical person. So I decided to start looking for a job. One good thing … Continue reading Last Week They Sent Me Flowers…
- 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 children in a grid. The name of this layout is deceiving, because while it sounds like you could instantiate this grid to have a number of rows and columns and … Continue reading Eclipse Draw2D Layouts Reference Card
- 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 a recent StackOverflow letter, I saw that Python should also be part of that presentation. The question is, “what is the difference between i += x and i = i … Continue reading Another WAT Moment, Python Style
- 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 much time (almost double what most people are willing to wait for a site to load, which is about 4 seconds). For all of you who have suffered, I’m really … Continue reading Improving the Performance of my Blog
- 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 day (or night) and my computer suddenly crashed (turned itself off, just like that). Oh well, I said to myself, hope not too many files were destroyed… and that the … Continue reading Push, Baby, Push! (to Github)
- 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 is not a good option (it NEVER is). When you want to abstract the way an object is created by using different builders depending on the required task. These are … Continue reading The Builder Design Pattern – Sequence Diagram
- 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 was fine until I decided to use non-eclipse libraries inside my eclipse projects. This is one of the points I REALLY hate about eclipse – its either their way or … Continue reading Creating and Using an Eclipse Update Site using Maven, Tycho and Github
- 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 – you can stay endless hours just arranging the figures in the diagram without any real changes in the program, just to “make it look better”. This is a complete … Continue reading Creating an OPM GEF Editor – Part 25: “Smart” Multi-line Text Figure
- 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 time to close it up. It all started while trying to explain to my wife what I’m doing in my PhD research. Some background: my wife is a Chemical Engineer, … Continue reading Programmers are Problem Solvers
- 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 graphical editors which may have lots of information and we would like to minimize the amount of mistakes the user does. One example of feedback is coloring a figure when … Continue reading Creating an OPM GEF Editor – Part 24: Showing Feedback to the User
- 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 future reference. So after developing a couple of GEF editors I think I can write down a small table of GEF edit policies, what each policy does, where they can … Continue reading GEF Edit Policy Reference Card
- 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 pass the time without having to re-read entire paragraphs just to understand what he was trying to say (Try reading “God in search of Man” and you will understand what … Continue reading Book Review – The Appeal, by John Grisham
- 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 today in the Eclipse SWT framework: I decided to check when this “temporary” code came to existence, and found it was added about 12 years ago (June 2001 to be … Continue reading Temporary Solutions Usually Become Permanent
- 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, but on the other hand it is the de-factor build tool used in java (sounds familiar… Oh, I know – “UML is the de-factor software modeling language”, a sentence written … Continue reading Starting an Eclipse Plug-In Project From Scratch – The Tycho and Travis CI Way
- 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 an important feature, but after seeing this question on SO, I thought to myself that this shouldn’t be so complicated. So I took the challenge, and after 1 hour of … Continue reading Creating an OPM GEF Editor – Part 23: Drag & Drop from the Palette
- 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 independently. This may sound a bit strange because this is the reason interfaces exist – to decouple abstractions from implementations. But the Bridge DP goes a step further, not just … Continue reading Bridge Design Pattern – Sequence Diagram
- From LaTeX to Word and Back (2013-01-29) - I started using $latex \LaTeX$ during my undergraduate studies (late 90s). In those days, MS Word had a bad tendency of dying suddenly and taking with it all of the work you had done in the last hours. Also, using the equation editor those days was banned by the Geneva convention because it was worse … Continue reading From LaTeX to Word and Back
- 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 fast tutorial that shows the basic concepts and how they are developed. The code that implements the examples is far from being complete, but for those who are just getting … Continue reading JJTV Presentation – Creating Graphical Editors with GEF
- 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 that need to be alive at all times (this is not a requirement, but if you are always adding objects to the pool without releasing them, you are not making … Continue reading Object Pool Design Pattern – Sequence Diagram
- 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 this pattern can be used is in the eclipse draw2d framwork. This framework is build on top of SWT, but this is just because of historical reasons. To work, draw2d … Continue reading Adapter Design Pattern – Sequence Diagram
- 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 the first round), after which I would get a go/no go answer. I trained for the interviews with a friend of mine that works there are read lots of material … Continue reading Being nice costs nothing, and you never now when it will pay off
- 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. To tell the truth, it was actually pretty bad; it was the first time I started looking forward in his books to see where the chapter ends so that I … Continue reading Book Review – Snuff
- 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 this from my personal experience as a lecturer in an Information Systems Analysis and Design course at the Technion. I’ve taught this course for 3 semesters (including this). The course … Continue reading Thoughs on software engineering research
- 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 those who don’t recognize it, and think this is a regular laptop or some kind of netbook, guess again. It is an Asus Transformer Prime, with an added docking station … Continue reading It’s the end of the mouse as we know it, and I feel fine…
- 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 in Travis CI. For those of you who haven’t met Travis CI, it is a free cloud-based continuous-integration server. You can configure it so that every time you push to … Continue reading Compiling with Black Magic
- 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 would share it with you, with my thoughts added. The Inefficient Concert! The CEO of a company fell ill on a day when he had tickets to see a concert. … Continue reading The Inefficient Concert! – Some Thought on Project Effectiveness
- 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 new and goes back to my first management meeting. In this meeting, my boss showed us lots of graphs showing how me managed to catch bugs early, and how this … Continue reading If mice could program: Some thoughts on software engineering research
- 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 the most intelligent guys at Google are working hard to get this feature in the next version of android.
- 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 a lot of sugar…). Being a strange person (or maybe too bored), I started reading the nutritional information, and below it, all the small letters telling the name of the … Continue reading Reading Strange Product Information – Jumex Juice
- 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 time, that would have taken him like millions of years to write in Java. So I decided to give it a try and started the Python track at Codeacademy. This … Continue reading Codeacademy – Bugs in Online Teaching Platforms
- 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 scientific proof) on software development, architecture and other related subjects. The March/April 2011 instance of this column named “Unusable Software is Useless, Part 2” talks about how developers must be “comfortable” … Continue reading Economic Interfaces and Programmer Skill
- 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 write code at a lower level of abstraction than I had to think about the interactions,” he says. “And so I thought it would be interesting to start writing a … Continue reading Article Review – New Programming Language Makes Social Coding Easier – Technology Review
- 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 article on hacking automobile software, This article tells that GM has found problems in its car diagnostic software that requires fixing the software in about 60,000 cars. Nothing dramatic, but things are … Continue reading More Problems in Automobile Software
- 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 too much thinking is a problem in itself. If we were dumber, would we be happier? If instead of thinking of the rice milk, and the granola, and the whole … Continue reading No Brains – No Problems
- 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 won’t quote from them) are very relevant to any software developer and craftsman. First, a short article named “Hacking Cars” (testing the link it shows that the content is premium, which … Continue reading Interesting Articles from CACM
- 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 to know how much it will take you to develop a program. As Niels Bohr said, “Prediction is very difficult, especially about the future”. And this article called “The Hyperdimensional … Continue reading Predicting Software Development Time – New Insights
- 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 book overall, it was somewhat disappointing. “Outliers” is a book about what makes some people more “special” thank others. How highly successful people like Mozart, The Beatles, Bill Gates, professional hockey/soccer/basketball players, … Continue reading Book Review – Outliers, The Story of Success
- 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 lot. One of the things I remember from the course is that most people don’t know how to use the semi-colon (;), but it is a helpful tool to create … Continue reading Improving My Writing Using Semicolons
- 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 have a very small head and I had better learn to live with it and to respect my limitations and give them full credit, rather than try to ignore them, … Continue reading Dijkstra – What a Humble Man
- 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 daughter (3.5y) came back from the bathroom and asked “Daddy, what comes before strawberry”? My brain started working – what is she asking? what fruit comes before strawberry? is there … Continue reading Daddy, What Comes Before Strawberries? – or Why Computers are Dumb
- 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 short and to the point, although sometimes a bit shallow. But this week their newsletter had two very interesting articles: JQuery Ever More Popular, published 23/08/2012. Vanilla JS Used On … Continue reading What Framework is Better?
- 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 OPM editor I am implementing. And since I am already creating the knowledge, why not share it with everyone else. So here it is. The eclipse IDE, which I think … Continue reading Extending and Modifying Eclipse – The Basics
- 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, blindly following “experts” instead of being inquisitive and questioning. A very good read: The best approach to software development. It reminded me of Pratchett‘s Small Gods: “The merest accident of … Continue reading Stop Being Religious About Software Development
- 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 vacation :-). Also, I feel that all the money that goes to day-care and extra-curricular activities is worth every penny. I did manage to do a lot of reading during … Continue reading Vacation’s Over – Long Live School!
- 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 world of computer science, quantum computing and the academy, things are a bit different. Quantum computers are a “new” kind of computational machines, that from what I understand behave similarly … Continue reading Press Release: “UCSB Researchers Demonstrate That 15=3×5 About Half of the Time “
- “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 definitely be on this list. I’m not sure how I arrived at his site, but his writings are very interesting and engaging. And he has very strong views which he’s … Continue reading “The Cathedral and the Bazaar” and Other Writings by Eric S. Raymond
- 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 and take a look at the source of the hits, which turned out to be a Korean eclipse developer forum, linking to some of my GEF tutorials. So hello to … Continue reading Welcome Korean Readers
- 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 when I saw that the eclipse “download” link takes you directly to eclipse 4.2 and not to older versions. So the release must be fairly usable at the least. Firs … Continue reading Upgrading to Eclipse 4.2 (Juno)
- 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 it is really impressive. It tells how two guys created a program inside Apple, after being fired from the company. The kept on coming to the building for a long … Continue reading A Story of Passion and Programming
- 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 at Wired. The story is both amazing and scary. It also shows that the biggest security problem is not technological but human – customer service providers where the hole used … Continue reading This Is Scary – A Story of How Hackers Stole A Person’s Digital Identity
- 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 I have read). In his site I found an article about fonts, a topic that came to my interest not long ago after reading my site and finding it awfully … Continue reading More on Web Fonts
- 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 multi-platform (I heard that before… wasn’t Java also multi-platform? and Isn’t JavaScript multi-platform, running on top of most browsers?). But here multi-platform means that the language is compiled to many other languages, … Continue reading The Haxe Programming Language
- 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 what technologies are around, how they work, and most important, how can they help me get my job done better. But with the advent of the internet, the “anyone can … Continue reading Can’t Keep Up With Technology
- 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 of getting more of a product or getting the product for less (full post here). If you are given a 20% discount on a product or a 20% increase in … Continue reading Do You Know How To Calculate The Real Discount?
- 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 liked “People don’t have money problems, money has people problems”. Cute.
- 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 there is a pile of exams right beside me waiting to be checked (and another pile already checked to my left. 70 exams overall). Oh! How I hate to check … Continue reading Grading Exams
- 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 feeling. I completely agree.
- 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 work). The pattern is hard to understand first, but it is very useful once understood. A Visitor is a class that has a method visit which is overriden for every … Continue reading The Visitor Design Pattern with Sequence Diagrams
- 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 on the web about topics such as usability, user experience, and user interface design. These two posts by Michael Zuschlag are a nice introduction to the topic, for anyone interested: Putting the … Continue reading Two Great Posts on Using Graphics in GUIs
- 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, the most basic use of Predicates is for collection filtering, which is also where I am using them. But since there is no such thing as a free beer, I … Continue reading Filtering Collections using Guava – Performance Analysis
- 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 concept that I have grown to love are Predicates. A Predicate is a very simple interface that determines truth or falsehood for a given input. Just that. So what is … Continue reading Guava Predicates – Programming with Intention
- 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 away. And with the increased popularity of interpreted languages, you get almost instant satisfaction! Type some code, press enter, and voilà! the code executes and you can see the output … Continue reading Learning the Language is Only the Beginning
- 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 out of the “block” and in one and a half weeks managed to finish implementing a visual programming interpreter. The “bad” thing is that I stopped doing TDD. After a … Continue reading TDD and the Creative Process
- 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 while, which every plug-in/extension added, the browser became slower and slower and it’s memory footprint skyrocketed. JIT, google came out with Chrome, a web browser that promised to be fast. … Continue reading What Happened to Web Browsers? or Web Browsers – the New Operating System
- 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 Interpreter, the real reason behind the editor. My idea is to use OPM as a high-level visual programming language, implementing low-level operations being implemented in textual programming languages. So where do I start? … Continue reading Going TDD – Initial Thoughts
- 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 is easy to follow and does not make your head ache to understand what is going on (unlike Neuromancer… which I’m still trying to figure out). Because of this, it … Continue reading Book Review – Rendezvous with Rama
- 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 I, Robot), told by the last pilgrims to the Time Tombs located at the Hyperion world, at the edge of the current galactic civilization. Each story tells a different angle … Continue reading Book Review – Hyperion
- 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, like the previous ones, has both good narrative and impressive philosophical depth. The Moon is a Harsh Mistress tells the story of how the moon colonies became independent, being helped by … Continue reading Book Review – The Moon is a Harsh Mistress
- 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 sad that now that I read it again it seems very shallow. “I, Robot” introduces the three laws of robotics and then tells a number of short stories about how … Continue reading Book Review – I, Robot
- 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 shorter than half an hour. In Meetings: Where Work Goes to Die, Jeff Atwood gives us a few guidelines on how to lower your meeting “dead time”. I loved the phrase “Meetings: … Continue reading Meetings are a Waste of time
- 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 file, unpack… and that’s it. No need to do anything else. But that is just the start. After this you have to download added plug-ins, depending on what you want … Continue reading Installing Eclipse for EMF/GEF Development
- 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 wanted to select all elements of the model… but for some strange reason the “Select All” action in the “Edit” menu was disabled… So I started to investigate. First, the … Continue reading Creating an OPM GEF Editor – Part 22: Enabling Select-All Action in a GEF Editor
- 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 some discussions about which font is the most readable, the site is now in Verdana font. A definite improvement.
- 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 classes to work with zip files, and their use is pretty straightforward. To extract the files to their original directories, I also had to create the directory in the file … Continue reading Extracting the Contents of a Zip File in Java
- 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. That is why I try to store all of the code I have written so that I can fetch examples when needed (and now that github exists, why not share … Continue reading Java Examples Repository – First Example: Copy a File from a URL to a Local Path
- 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 a way that nobody expected. Before we could reach the stars, the stars came to us, and with them came the Overlords, which basically told the world to behave itself … Continue reading Book Review – Childhood’s End
- 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 the interface decide which class to instantiate. The Factory method lets a class defer instantiation to subclasses”. Factory methods can be used in place of constructors to create objects, doing … Continue reading Factory Method Design Pattern – Sequence Diagrams
- 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. There are many shortcuts that are common in all environments – and for better usability, enabling this shortcuts give the user a better user experience. In my case, I wanted … Continue reading Creating an OPM GEF Editor – Part 21: Adding Keyboard Shortcuts
- 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 wrong I was. This book is the prequel to The Matrix. Or at least its the place where many of the ideas came from. The book portrays the story of a … Continue reading Book Review – Neuromancer
- 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 students should learn (and was not taught in previous semesters) was design patterns. Although I already knew some of them, I searched for some place where there is a full … Continue reading Singleton Design Pattern – Sequence Diagram
- 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 more names that I forgot?
- 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 provided here were digged up by me from many sources and may be wrong in many places. User discretion is advised. I may or may not own the stocks named in … Continue reading Gav Yam (Bayside): A Stock to Sleep Well at Night
- 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 very different from the movie, and as expected, a lot better. Like Stranger in a Strange Land, the author toys with a the idea of a new world society, this … Continue reading Book Review – Starship Troopers
- 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 current project (OPM Editor and Interpreter) I use a model based on the eclipse modeling framework (EMF). Until now I had only a model for the editor, and when I … Continue reading Code Generation is Not Agile
- 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) is the only value and it is forbidden to read (maybe even own) books, because they make you think and in doing this they make you sad. There is a … Continue reading Book Review – Fahrenheit 451
- 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 – The Hitchhiker’s Guide to the Galaxy. And I have enjoyed all of them very much. Douglas Adams was a completely insane guy, and it is a very sad thing he … Continue reading Book Review – The Hitchhiker’s Guide To The Galaxy 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 in between provided interesting views on religion, life and may other things. While the book shows many ideas that may bother the reader, like free sex, lots of sexism and … Continue reading Book Review – Stranger In A Strange Land
- 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 “lend” my servers to the kids (I have no TV at home, they can only watch movies which my wife and I put in the computer. Call us crazy, but … Continue reading How To Create A Private Git Repository Server
- 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 beard. For those not interested in JavaScript, watch until you just can’t stop laughing, and then continue until you stop understanding what is written on the screen. Enjoy
- 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 a language that compiles to JavaScript, and was created to fix the problems that exist in that language (the hilarious WAT video shows some of them, but a nice series … Continue reading CoffeScript – Syntactic Sugar for JavaScript
- 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 while ago and to implement my wish I searched for some tool to help me update my code files without having to do it manually. Thankfully the guys at eclipse … Continue reading How To Manage Copyright Licenses In Eclipse
- 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 didn’t work (probably something to do with my KVM switch being connected or some other strange mixture of variables) and when I wrote my password… it told me it was … Continue reading How To Reset Your Windows Password (If You Can Log-in As An Admin)
- 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 the characters that appear in both of the stories, and reading Making Money before Going Postal does spoil some of the fun. But nonetheless, this is another EXCELLENT book by … Continue reading Book Review – Going Postal
- 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 that I had in the Discworld series (I used to buy them printed and here in Israel they are not always available. But now that I am using my Kindle … Continue reading Book Review – Small Gods
- 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 like an IPad but OK and a third of the cost), or through my car’s speakers, my Kindle was revived by an amazon gift certificate that a friend gave me … Continue reading Book Review – Moving Pictures
- 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 more, and how overwork starts creeping up on you and causes you to make mistakes (my friend was in one of those one-week deadlines, working 18 hours a day minimum … Continue reading Book Review – Rework
- 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 received “connection refused” and nothing happened in the Linux box. As usual I asked Google how to solve the problem, and then I found this interesting solution: just uninstall and re-install the … Continue reading Linux is Evolving… Into Windows!!!
- 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 for it? or open some other strange add-on? Well chrome has a highly useful shortcut for this case – Crtl+Shift+T. I love it!!!
- 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”… But now it is clearer. Thanks. Really.
- GEF Internals Part 2 – Mouse Interaction and the Creation Tool (2012-01-08) - After investigating the complex interactions that occur with the a title=”GEF Internals Part 1 – Mouse Interaction and the Selection Tool” href=”http://vainolo.com/2012/01/01/gef-internals-part-1-mouse-interaction-and-the-selection-tool/”selection tool in my previous post/a, we will now focus on a simpler case, the creation tool. When the mouse moves over the canvas, the codeLightweightSystem/code system catches the mouse move event and forwards … Continue reading GEF Internals Part 2 – Mouse Interaction and the Creation Tool
- 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 Terry Pratchett‘s Making Money. The book was quite fun, although not as great as Interesting Times, Mort or Reaper Man (Death is hilarious). It also seems to me that I … Continue reading Book Review – Making Money
- 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 really works, so I will try to unravel the secret and post it here for the world to know. My investigation began when I found that although GEF EditPolicy instances … Continue reading GEF Internals Part 1 – Mouse Interaction and the Selection Tool
- 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 and links to the original papers. I named this page after my main research subject, Visual Programming Languages, but after adding some papers I noted that my research also spans … Continue reading Renamed VPL Page
- 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 Wikipedia project is an awesome example of what people can do when they work together towards a common goal. It is impressive. And if you have read my posts, it … Continue reading Do You Like Wikipedia?
- 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 net and found that there are some lists with papers on the subject but most of them are outdated, so I decided to create my own list. You are invited … Continue reading Visual Languages, Visual Notations and Visual Programming Languages in Software Development
- 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 this I am also developing an open source tool where I am able to create OPM diagrams, and my plans are to use this tool as the interpreter of the … Continue reading The Fine Thread between Being a Good Researcher and a Good Programmer
- 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 excellent sources for macroeconomic information and education (not that I have enough money to do something on this, but learning always enriches, even if not materially). In his Outside the … Continue reading Book Review – The Next 100 Years: A Forecast for the 21st Century
- 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, and the book just put names on so many things I had felt and done during this time. It was like the time when I was studying my B.Sc, I … Continue reading Book Review – The Passionate Programmer
- 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 or even more). This daily driving would have been very boring if I had not discovered the world of audio books. This week I finished listening the much enjoyable trilogy … Continue reading Book Review – The Girl With The Dragon Tattoo Trilogy
- 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 love the concept of content subscription for offline reading). I don’t remember how I arrived at her blog but it seemed interesting and was added to my long list. She … Continue reading Estimating the Unknown – Series of Posts by Johanna Rothman
- 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 has created. I regularly search the web when I need code that does something, but the problem is that the functionality comes wrapped inside class libraries with complex internal relations … Continue reading Welcome to JAR Hell
- 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 of my bed. The book seemed fun to read, even though it is a book about the second world war. The back cover promised some fun since the book is … Continue reading Book Review – The Book Thief
- 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 me, because I was working, studying a Master’s degree, raising 3 small children and learning to knit (a hobby I have since left because it made my shoulders ache… probably … Continue reading The More You Do The More You Can Do
- 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 UML, because it is the standard in the industry… But the more I’m teaching the more I’m learning, and the more I’m learning the more I’m despising UML. My first … Continue reading Is UML for Real?
- 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 more than five years since the last time I was here and it is always a bit shocking coming back. Colombia is an incredibly beautiful country that has been torn … Continue reading One Week in Bogota, Colombia
- 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 investing. I like the idea behind the book, but the book itself is well below my standards. First of all, anyone who invests in the stock market should do his … Continue reading Book Review – The Little Book that Beats the Market
- 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 investing. I like the idea behind the book, but the book itself is well below my standards. First of all, anyone who invests in the stock market should do his … Continue reading Book Review – The Little Book that Beats the Market
- 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. In truth, I usually approach them with sincere dislike, and rarely touch one. But somehow The Black Book by Orhan Pamuk made it into the bookcase on the side of … Continue reading Book Review – The Black Book
- 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. I’ve been really busy preparing lectures for the upcoming semester – I’m teaching an undergraduate course on “Information Systems Design and Analysis” at the Technion‘s Industrial Engineering faculty. Almost two … Continue reading Creating an OPM GEF Editor – Part 20: Creating a Context Menu and Adding Custom Actions
- 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 to add some licensing to the code that is being distributed. Of course, the license has to be open source… but how to choose from all of the available ones … Continue reading Choosing an Open-Source License
- 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 to The Monk Who Sold His Ferrary – it shows you how to better yourself (one at software, the other in life), explains some paths (none of them scientific or … Continue reading Book Review – Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman
- 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 after you have read The Mythical Man-Month). And if you are not a manager, also read this book because it will teach you why it is also important to manage … Continue reading Book Review – Managing Humans: Biting and Humorous Tales of a Software Engineering Manager
- 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 be more tutorials :-). The tooltip functionality is simply great eye-candy and easy to implement, so why not do it (I may be suffering from featuritis, please call a doctor). … Continue reading Creating an OPM GEF Editor – Part 19: Displaying Tooltips
- 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 editor’s contents and didn’t bother, so I did nothing to fix the problem. But now that I am working more with the editor itself and not developing it, it seemed … Continue reading Getting Rid of the Ugly “Resource is out of sync” Message
- 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 now add snapping functionality to our editor. This will probably be the last tutorial I’ll be writing for some time since I have now a working editor that can be … Continue reading Creating an OPM GEF Editor – Part 18: Snapping to Grid and to Geometry
- 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 even encourages) the definition of processes by “in-zooming” (enlarging) the process to define and inserting into it internal process that constitute the process that is being defined, something like this: … Continue reading Creating an OPM GEF Editor – Part 17: How to Define Container Edit Parts
- 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 finish, not only to share them with the world, but also for me to better understand what I received from the book and what was in it. Some times a … Continue reading Book Review – The Monk Who Sold His Ferrary
- 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 code transferred to MIT labs for maintenance and future use (see this and this articles). From what the articles said, the programming environment was primary used in learning environments, and … Continue reading Google’s Android App Inventor – The Death of Another Visual Programming Language?
- 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 is compared to other engineering fields like mechanical engineering, chemical engineering or electrical engineering (since I know people on these fields), and I have always felt that writing code was … Continue reading Is Software Development an Art?
- 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 by the editor to support the information that is provided by it. One very useful views is the properties view, which can show us name-value properties of the diagram elements. … Continue reading Creating an OPM GEF Editor – Part 16: Displaying EMF Properties in a GEF Editor
- 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 using the build-in operations in eclipse. While automatic refactoring is very useful, there are times when you just have to do the changes manually. For example, the OPMThingEditPart creates a … Continue reading Creating an OPM GEF Editor – Part 15: Adding Structural Links
- 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 conclusion of the article gave words to a feeling I had when managing a software team a couple of years ago and my brightest programmer produced a brilliant solution to … Continue reading Don’t Let Your Team Develop Things Which They Can’t Understand
- 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, where objects can act in many different ways (polymorphism), some of them which have a fairly common implementation that can be reused all over the class hierarchy. To achieve this … Continue reading An Exact Interface
- 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 that going to the gym, running tree times a week and eating healthy may help you live longer, but having good company around you can be as important, or even … Continue reading Your Co-Workers Can Kill You
- 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 and something called a OPMStrucuralLinkAggregator. Structural links in OPM define structural relations between elements in the model, and are drawn using different kinds of triangles that are connected on one … Continue reading Creating an OPM GEF Editor – Part 14: Refactoring, Refactoring and More Refactoring
- 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, it has already happened.
- 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 our editor. OPM has to main link kinds: Procedural Links: links that denote some kind of procedural relation between two things in the diagram. They normally connect between an Object … Continue reading Creating an OPM GEF Editor – Part 13: Adding Procedural Links
- 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 down… but as the saying goes, the show must go on. Here goes a small tutorial that fixes something that is probably bothering you (It bothered me a lot): saving … Continue reading Creating a GEF Editor – Part 12: Enable Save Action on the Editor
- 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 laptop today after taking it for a ride in the car (I wanted to do some work while waiting for my car to get fixed, but the wait was very … Continue reading Sob! I Broke My Laptop :-(. Help Me Continue Coding
- 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 Class diagrams, one of the things that bothered the most was the way the connections were spread all over the diagram, and the editor didn’t allow me to organize them … Continue reading Creating a GEF Editor – Part 11: Creating Link Bendpoints
- 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 links (only used by dumb people like me who never get things right the first time :-)). Furthermore, we must fix the Command used to delete things, since it does … Continue reading Creating a GEF Editor – Part 10: Deleting Connections and Fixing of Thing Delete Command
- 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 quit smoking… o well, let’s take life one step at a time). So I installed a couple of eclipse plug-ins to help me in this, guided by the “Automation for … Continue reading Check Your Style
- 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 provided by the org.eclipse.draw2d.Triangle class. Problem is the Triangle provided by the framework cannot be extended or customized (it is always draw having base=2*height, inside the bounds of the figure). … Continue reading Extending org.eclipse.draw2d.Shape – A Short Experience
- 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 apply. As I used to say (a lot) at work, “God is in the details” (os the devil, whichever you like most). I once worked in a project which did … Continue reading Repost – Who is an Expert?
- 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 pretty neat, but we are still missing one very important element in our editor: connections. Connections are generally used to describe some kind of relation between different entities in the … Continue reading Creating a GEF Editor – Part 9: Connections
- 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 diagram entities and also to undo and redo editing operations. This is going to be a short tutorial because thankfully most of the functionality that we want to add only … Continue reading Creating a GEF Editor – Part 8: Delete, Undo and Redo
- 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 to our GEF editor – we’ll be able to move graph entities and to edit their content directly (so we can change the annoying “<…>” text that is currently shown … Continue reading Creating a GEF Editor – Part 7: Moving Elements and Direct Editing
- 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 just started doing “clank clank” and me OBVIOUSLY with no recent backups of the information in the drive (all of my kid’s pictures, lots of movies, music…). Went to the … Continue reading What a Week This Has Been
- 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” on which not much editing could be done… So in this tutorial we’ll be adding some editing capabilities to the GEF editor. But before this, while preparing this tutorial I … Continue reading Creating a GEF Editor – Part 6: Model Refactoring and Editing Diagram Entities
- 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 pictures.
- 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. My previous point of view has been proven wrong and I am really sad for this, because the guy put in a lot of his money into the business and … Continue reading Seem that Tshuva is Going for a Haircut
- 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 load the model from an EMF file (Seemed easy but took me some searching to find how this is done, and I’m not sure I’m doing it the best way … Continue reading Creating a GEF Editor – Part 5: Loading the Model from an EMF File
- 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 a magnificent GEF-based editor that did… well.. nothing. But it worked!. In this tutorial we will add some more spice to the brew and will teach you how to display … Continue reading Creating a GEF Editor – Part 4: Showing the Model on the Editor
- 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 the model code for our editor. It is now time to start working on our editor. The GEF editor we create will be implemented inside an eclipse plug-in. I will … Continue reading Creating a GEF Editor – Part 3: Basic GEF Editor
- 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 and the generation of code based on these models. In this tutorial we generate the model and edit code for the model we created on the previous tutorial. Just a … Continue reading Creating a GEF Editor – Part 2: EMF Code Generation
- 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 seems a good opportunity to share what I learn. This first tutorial will describe how to create an EMF model. You may ask why I am using EMF and not … Continue reading Creating a GEF editor – Part 1: Defining the Model
- 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 to click and help me with this. And if you know of some good wordpress addsense plugins (I am using AdSense Now! but I like to check alternatives), please leave … Continue reading A Ad Add Adds!
- 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 will not change.
- 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 is a good framework, it still has some problems, doesn’t have some features I need (features which I can implement since I have the source code, but oh, is this … Continue reading The Quest for the Perfect Java Graph Framework
- 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. Enjoy.
- 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 using netbeans for a number of reasons: It is pure java, no SWT, no bananas, no nothing. I was a purist once, but I guess growing older makes you more … Continue reading I used to eat beans, but the moon now shines more bright
- 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 for this program follows:
- 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 say I’m sad. Except for class diagrams I never found UML very useful.
- 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 the world little angel.
- 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 (rounded rectangle). All of these shapes are supported in JGraph using the styles mechanism, descibed here in the user manual. A very useful class that must be read and re-read … Continue reading Another day with JGraph – Styles and Constrained Children
- 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 I am writing… I need more edge versatility that the one provided by the simple API of Jung. So some more searching brought me to the JGraph framework. JGraph seems … Continue reading JGraph – Another Java Graph Framework
- 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 or anything else. Just download the latest version of sipdroid and go to the sipdroid settings screen: In one of the SIP accounts (in my phone I used the first … Continue reading Sipdroid and SMSDiscount – VoIP on the Android without Pbxes
- 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 you can draw anything you like, like in the graphics of any JComponent. I changed my example, adding 3 nodes: a circle, a square and a rectangle, each one painted … Continue reading Learning JUNG (3) – Changing the vertex’s shape
- 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 new class is the one used in all the JUNG examples, therefore it is probably better (talk about programming by coincidence). After doing this, I added the following lines after … Continue reading Learning JUNG (2) – Adding labels
- 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 reading, I managed to create a directed graph and show it on screen. And this is the output graph: You can fetch this example’s code here Next step: Try to … Continue reading Learning JUNG – Java Universal Network/Graph Framework
- 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 last post, DLKR.C3 is now selling at 21.3% yield and DLKR.B4 at 23.27%. The crisis in Egypt can have two outcomes (this is very simplistic, but I think that underneath … Continue reading Opportunities Ahead
- 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 bizportal gives it 9.04%… someday I will try to understand why), due 30/05/2012. Initial offering as 250 million shekels. Delek Nadlan C3 (DLKR.C3): yielding 19.75%, due 30/05/2011 (both in themarker … Continue reading Delek Nadlan Bonds – Speculate on Tshuva’s Image
- 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 any investor. I’m a bit behind on my reading material, so just a couple of days ago I finished reading his “Out of the Box” article, which was written by … Continue reading Economists vs Astrologists
- 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 now I am starting to understand that I am not on vacation, that this is it, I left my job… Strange, specially after 8 years on the same project, many … Continue reading Big Changes
- 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 investment sites. This require some explanation. First of all I have no idea how these sites calculate the values. And second, when I do understand how the did it I … Continue reading How I calculate P/E and dividend returns
- 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 return… I’m now after two hours of massage, jacuzzi… Life is good I definitely recommend the place: villa belle. Worth every penny
- 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 (בזק). These are the results for Chilan Tech: Chilan Tech – חילן טק. The company does outsourcing of some HR services like pay-slip creation, work-time management and such, IT services outsourcing and … Continue reading My Latest Analysis
- 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, common stocks traded at stock exchanges around the world). A stock or a share is an investment instrument that gives ownership of a company. For example if company A has … Continue reading The Price of Stocks
- 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 I decided not to do any changes that may causeit any damage (I haven’t even rooted it!!!). And boy is this fun! Tomorrow I’m taking it to the technical service … Continue reading Nexus one – still working after two days
- 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 stock analysis for investment purposes. With all of the other competing hobbies (specifically the kids), I don’t have much time to do this, but when I get to analyze a … Continue reading My First Investing Post
- 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 (some say for cultural reasons, others say that the steaks are all sold overseas), but has some other strange parts of the cow (chinchulines – small intestine; mollejas – sweetbreads) … Continue reading The Perfect Asado
- 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 buy clothing, there is no problem changing it. Same thing for basic electronics. But when the cost is high, this becomes more difficult, which makes the decision-making process time and … Continue reading But really, can I?