Keep it simple, stupid!
When we first released our tool to the end user, we proudly named it v1.0.0.
This is called semantic versioning – major.minor.patch
Makes sense for libraries where a minor change e.g. 1.0.0 to 1.1.0 means interface compatibility, just some new functions. A major change e.g. 1.0.0 to 2.0.0 means “Attention, I have to adapt interface changes” (renamed functions, added function parameter, different dynamic behavior )
But for a customer tool like a portal what does semver mean?
Is moving a button a major or minor change? What about renaming some menu items?
Ok, the next attempt was a bit more straight forward: we used the year and the calendar week like this 2017_cw16.
Not too shabby. But: Is a calendar week of any importance?
Versioning ala JetBrains
Sometimes You need that Eureka moment: staring at the splash screen of my PyCharm IDE:
Why don’t we use this sceme: YYYY.R (year.release e.g. 2017.2)?
What are the advantages?
Divide and Conquer: You can sort your backlog very roughly into the upcoming 4 releases.
Clarity about “What is the next release?” If 2017.1 is out, 2017.2 will be the next
JetBrains Toolbox—Release and Versioning Changes
We are running an experiment for multiple tools at the moment to see how it will work.
From time to time you have annoying things to do which you cannot avoid e.g. split names into surname and last name.
Here comes the flash fill feature:
Given you have the full names in column A
- Go to cell B1 and enter the last name
- Go to B2
- Go to tab “Data”
- Click Flash Fill (or Ctrl + E)
The rest of the B column should be filled with the last names
Repeat for first name in column C
After visiting my first bar camp last year, I became quite an aficionado of craftsmanship gatherings.
All very different formats, locations and price ranges as well. So I was curious what was going to happen at #bcwue. Continue reading “BarCamp Würzburg 2017”
In Windows 7 You can use Alt Gr + Print to take a screenshot of the currently active window and put it into the clipboard.
In 2006 I bought my first Bosch IXO. It did a wonderful job over the last years and helped a lot assemble and disassemble mostly furniture. (I moved 3 times in the last ten years)
But when we started to renovate our bureau at home the switch for changing directions started to get a slack joint. Here You can see the misery:
After a bit of a web search I finally found a replacement part and soldered it in:
Works like a charm!
- Replace battery
- Replace LED with brighter one
TL;DR: don’t use var anymore when You declare variables.
Continue reading “ES6: var vs let vs const”
I registered for the event “The Mobility Quotient” which features Steve Wozniak and Jimmy Wales as keynote speaker! It will take place on September 7th/8th in Ingolstadt. I am stoked!
I started to learn knockout.js therefor I will drop MeteorJS from my list. Instead of dealing with npm, I will try out yarn for a couple of projects. Grunt seems to be quite handy to handle client site development and bootstrap looks promising as well. Roll with the punches 🙂
New Year’s Resolutions and Technology Learning Roadmap 2017
Trying to contribute to the Flask plugin flask-login I just added these lines:
if isinstance(duration, (int, long)):
duration = timedelta(seconds=duration)
Looking quite plausible, isn’t it? But lo and behold: it doesn’t work under Python 3.x. Dang!
The reason: Python 2 has two integer types: int and long. In Python 3 there is only int, which makes it necessary to distinguish between these two major versions. I’ve found a nice page which deals with this issue. Here is what You must do to make it work in both Python 2 and 3:
if sys.version_info < (3,):
integer_types = (int, long,)
integer_types = (int,)
I pity the fool who hasn’t got a tool! After buying cheap tools all my life I’ve decided that I became too old for 5€ screwdriver. Our working student Michael Jäger introduced me to the brand PB Swiss Tools. They have lifelong guarantee on their tools and have some nice ideas like colorcoding their bits and screwdrivers. Continue reading “PB SwissTool Ratchet Screwdriver”