jan
This user hasn't shared any biographical information
Homepage: http://www.penninkhof.com
Posts by jan
Stop software patents in Europe
Jan 19th
Today we face an unprecedented patent bubble of poisonous software and business methods patents. Most patents are stockpiled for strategic purposes. These poisonous assets generate no measurable benefits or insignificant licensing revenue for their holders. Large industry is aware of a patent inflation crisis but it seems too hard to march to the beat of a different drum.
Soft patents are still land mines for software development and stifle innovators. Under the EU Lisbon treaty a new instrument is set into force, the European Citizens’ Initiative. The EU-Commission is now obliged to present a legislative proposal when a critical mass of citizens demands it.
Currently, a new platform is built to get a new directive which bans software patenting once and for all. I would like to ask you to sign this new petition on:
http://petition.stopsoftwarepatents.eu
10 Reasons why I’m not an Apple fan-boy
Dec 20th
A few days ago, I had a twitter conversation with @molier about why the iPhone wouldn’t be my choice. I promised to get back to him about this in a blog:

So here are my reasons:
Developers are unhappy: Apple’s App Store is a mess for small and independent developers. Very few developers are making even a livable wage, and the approval process is a black box. Facebook developer Joe Hewitt, the man behind the immensely popular Facebook application for iPhone, said that he quit the project entirely on Apple’s tyrannical App Store approval policies.- Anti-competitive policies on the iPhone: Apple is disallowing applications because they “duplicate existing functionality”. This means that applications from competitors that offer similar functionaliy are automatically banned. What Apple does is 100x worse than what Microsoft does, although Microsoft also bundles a set of their own applications, at least Microsoft still allows other application to be installed. Recently, Apple lifted its ban for internet browsers.
- Apple prohibits Voice-over-ip: Apple prohibited the Google Voice or other Voice over IP applications from being distributed on its iTunes application store with no public explanation of why, a refusal to offer any suggestions that could permit the application to be distributed, and no process for appealing the decision. Apple also removed third-party Google Voice-compatible applications by explaining that they violate a policy against applications that duplicate native iPhone functionality, despite this rule being wildly inconsistent in its enforcement. Again, Apple refused to offer any suggestions for how developers could comply with the guidelines, and offered no process for appealing the decision. Only very recently Apple has started to allow VOIP applications, provided that they use wifi only.
- Telecommunications choice is gone: If you want to buy an iPhone and through the official channels, it is compulsory to do business with T-Mobile too (Or O2 in the UK, AT&T in the US).
- Apple sues bloggers: Once Apple found out that there was a leak in their development organisation, they went to the extend of sueing the bloggers that were reporting the novelties. In their opinion online journalists have less rights than offline journalists. Fortunately EFF jumped in and Apple lost.
- Exploiting trivial patents: Apple has filed and has been rewarded trivial patents, and isn’t scared of using a bunch of them to squeeze their competitors (yes a bunch, so that it will become very difficult for their opponent to invalidate all of them). They have 2,000 patents and if they want to start a battle, it’s quite likely that they can find a patent that applies. This also says a lot about the patent office that doesn’t care whether a patent existed before or whether there is prior act, but that’s a completely different story.
- Apple violates statutory warranty: Apple ignores the legal warranty rules in The Netherlands, as it refuses free repairs or replacements of their products after a one year warranty term. It is said to reverse the burden of proof and tries to sell expensive extended warranty packages to give consumers what they are already entitled to by law.
- Denying liability and trying to silence owners of exploding iPhones: Numerous press reports are claiming that iPhones are exploding or catching fire in the US, UK, France, Holland, and Sweden. If this wasn’t bad enough Apple managed to write one letter that both denies liability and offers an owner money to keep quiet. Even the European Commission has turned its attention to Apple and their mysteriously exploding iPhones.
- Will all Apple products going to display compulsory ads?: Apple is seeking a patent for technology that displays advertising on almost anything that has a screen of some kind: computers, phones, televisions, media players, game devices and other consumer electronics. The technology can freeze the device until the user clicks a button or answers a test question to demonstrate that he or she has dutifully noticed the commercial message. Because this technology would be embedded in the innermost core of the device, the ads could appear on the screen at any time, no matter what one is doing.
- Apple is over-priced: It is a public secret that Apple devices are over-priced. Currently (19-12-2009) the iPhone is exclusively available at T-Mobile. If you want the one that connects to the 3G network, prepare to fork out €99.95 for 24 months. The 32MB version will set you back €4800 in the 24 months that you’re under contract. That’s the price of a small car!
How to uninstall hidden devices, drivers, and services
Dec 7th
Ever have those drivers or devices that just won’t go away even though you’re sure you’ve uninstalled them? Or, say you replace your old 100Mbps network card with a faster Gbps adapter. But, you can’t re-assign it the same IP address because your system insists there is still an adapter installed with that same IP address and you forgot to remove the driver before removing the old card (which is now in your little brother’s pc)?
To get rid of that unwanted driver, device, or service:
- Open the “Start” menu and choose “Run…”
- Type in “cmd” (without the quotes) and click “ok”.
- At the cmd prompt, type in “set devmgr_show_nonpresent_devices=1″ (without the quotes) and press enter. (Note that nothing seems to happen–this is ok. We are actually setting an environment variable which is going to help us to see hidden devices)
- On the next cmd prompt line, type in “devmgmt.msc” (without the quotes) and press enter. This will launch the Windows Device Manager Console.
- In the Device Manager Console, from the “View” menu, select “Show Hidden Devices”.
Now, as you expand the different drivers and devices in device manager you will see not only the items that Windows currently detects as installed on your pc (these are the usual items displayed), but you will also see drivers, devices, and services which have been loaded in the past but were not uninstalled or are not currently started. You can find your offending device, right-click, and choose “uninstall” to remove it from the system completely.
Be careful though; you should note that non-loaded devices, drivers, and services are “grayed” out, but that doesn’t necessarily mean that you should delete all of them. Only remove items you know you don’t need. And, be careful that you don’t change too many devices or you might need to re-activate your Windows installation.
Last thing, if you accidentally exit the Device Manager Console you will need to start over again at the cmd prompt. To close the cmd prompt window, type “exit” (without the quotes).
What a excellent holiday story…
Dec 2nd
Out of sympathy it seems she made 117 transfers between 2003 and 2005, moving more than €7.6m (£6.9m) from richer accounts at a rural German branch to people who were suffering financially. Already, she has been dubbed “Die Robin Hood Bankerin”. Click here for full article.
- “The accused hasn’t put one cent in her own pocket. She did it purely out of sympathy with people who were suffering financially,” the woman’s lawyer, Thomas Ohm, said. She was a “good samaritan” with a ”Mother Courage” nature, referencing the Brecht character who believes she can do good in a bad world. The employee was accused of allowing overdrafts for customers who would not normally qualify for them. She then used the money from richer customers to temporarily disguise the loans during the bank’s monthly audit of overdrafts
- The woman knew most of the clients of her small rural branch and had access to their accounts, German TV station WDR reported – “They couldn’t get credit in a conventional way,” the woman told the court
- The judge said: “It’s difficult to find an appropriate punishment here. On the one hand we have big losses. But on the other hand we have here this altruistic behaviour, which makes the case very different from the norm.”
SAP Netweaver Individual Developer Licenses
Nov 2nd
As long as I am developing custom software based on SAP, I have always had
the need (or maybe desire) to play around with some new functions or try
something out that I didn’t want to do in a regular SAP enviroment, either
because it would jeopardise operation or just didn’t have anything to do with
the current project or business.
Previously SAP had several types of licenses available that could meet this
demand:
- SDN Trial licenses
- SAP Discovery server
- Netweaver Developer subscription
However, there was always a catch:
- No recent ABAP stack
- License expirations and the hassle of re-licensing
- High costs that would need management buy-in and business-cases
- Geographic availability
Introduction of Individual Developer Licenses
There is good news! SAP has promised to come up with Individual Developer
License that could put an end to many of the limitations of the previous
licenses. These Individual Developer Licenses were planned to be available in
either November or December this year.
During the Teched I learned about some excellent benefits:
- Available world-wide
- Contains a recent ABAP stack as well as a Java stack
- License does not expire
- Available for free
As with the previous license there are some caveats as well, but I can
understand where they come from and aren’t as limiting as the previous issues.
Rui Nogueira told me that they didn’t call it an “Individual Developer’s”
license for nothing. They don’t want companies to run productive applications on
it and also wouldn’t like to see ISVs to develop products on it. Not only would
it cause legal issues in the area of liability, but there are other and better
licenses available to fulfil that need. For my personal hacking and
experimenting with SAP’s latest development environment, this license is a
perfect fit though.
Wish-list
Although I might be too too late with my wish-list regarding this license, it
may not hurt either:
- Availability of both an ABAP and Java stack with CE. Inclusion of PI and
BW would be a nice bonus. - Updated to the latest versions: 7.2 Java and 7.0.2 ABAP.
- Links to SDN Code Exchange (maybe just Subclipse for Java, and a
derivative of SAPLink for the ABAP development)
SAP Netweaver versions
Nov 1st
During the SAP Teched 2009 most session were about new versions of SAP Netweaver or SAP Netweaver components. During these sessions the version numbers in which these features would be available were mentioned, but every time it seemed to be a different version than the other speaker was talking about. The list below gives an idea of some of the permutations that I have heard:
- 7.0 Enhancement Pack 1 / 7.0 Enhancement Pack 2
- 7.0.1 / 7.0.2 / 7.1.1
- 7.1 / 7.2
I’m not sure about how other folks received this version-puzzle, but it started to dazzle me. Especially when my junior colleague (he will probably slap me after he read this for calling him that) was asking about these versions, of course I couldn’t show that I was probably just as confused him. Fortunately, I was able to apply some logic to those version numbers and made a nice story out of that was actually not too far from reality.
Eventually, Thornsten Franz confirmed that our best guesses were actually quite close. As I can imagine that more folks would have the same questions, or would apply similar logic, but still not know how the versions correlate, I decided to write this down in a blog:
A few years ago, Netweaver 2004s was released and not much later rebranded to Netweaver 7.0. To avoid more confusion, I’ll take that as a starting point
Development on both the ABAP stack and Java stack were both proceeding and the besides support packs, enhancement packs were introduced. Contrary to support packs, enhancement packs would add new functionality to the system. Because of that, Enhancement Pack numbers are reflected in the version number, while support packs are not.
This means that 7.0 Enhancement Pack 1 is the same as 7.0.1, so that’s where the current version of the ABAP stack get its version number from. A new Enhancement Pack is planned for the ABAP stack, so soon we’ll have 7.0 Enhancement Pack 2, 7.0.2 in short.
At the same time, a larger “enhancement” was implemented at the Java-side of the house. While 7.0 was still running on Sun’s Java 1.4 release, the new version was based on Java EE 5 (the enterprise edition of Java 1.5). As upgrading the engine is quite a big step, SAP branded this version 7.1. Very quickly after 7.1 was released, Enhancement Pack 1 was released: 7.1.1.
According to rumours, the version after SAP ABAP 7.0.2 and SAP Java 7.1 was supposed to be version 7.2 which would be released in one big Netweaver release. Instead of individual components, a new version of all Netweaver components would be bundled in a big-bang. It seems however, that this isn’t feasible and that the Java stack will be released before other Netweaver components are ready. The first suite that is probably going to benefit from this is Netweaver CE, which is planned to be out by the end of the year.
Summary:
|
|
ABAP Stack |
Java Stack |
|
Previous versions |
7.0 |
7.0 (Java 4) & 7.1 (Java 5) |
|
Current version |
7.0 Enh. pack 1, a.k.a 7.0.1 |
7.1 Enh. pack 1, a.k.a. 7.1.1 |
|
Future version |
7.0 Enh. pack 2, a.k.a. 7.0.2 |
7.2 |
Financial crisis and bonuses
Mar 19th

A friend send me the following story recently, explaining the financial crisis in a way that everyone can understand.
John is the proprietor of a bar in Surfers Paradise. In order to increase sales, he decides to allow his loyal customers, most of whom are unemployed alcoholics, to drink now but pay later. He keeps track of the drinks consumed on a ledger (thereby granting the customers loans).
Word gets around and as a result increasing numbers of unemployed alcoholics flood into John’s bar.
Taking advantage of his customers’ freedom from immediate payment constraints, John significantly increases his prices for wine and beer, the most popular drinks. His sales volume increases massively.
A young and dynamic customer service consultant at the local bank recognizes these customer debts as valuable future assets and increases John’s borrowing limit. He sees no reason for undue concern since he has the debts of the alcoholics as collateral.
At the bank’s corporate headquarters, expert bankers transform these customer assets into DRINKBONDS, ALKBONDS and PUKEBONDS. These securities are then traded on markets worldwide. No one really understands what these abbreviations mean and how the securities are guaranteed. Nevertheless, as their prices continuously climb, the securities become top-selling items because Lehman Bros recommended them as a good investment.
One day, although the prices are still climbing, a risk manager of the bank, (subsequently of course fired due to his negativity), decides that the time has come to demand payment of the debts incurred by the drinkers at John’s bar. But of course they cannot pay back the debts. John cannot fulfil his loan obligations and claims bankruptcy.
DRINKBOND and ALKBOND drop in price by 95 %. PUKEBOND performs better, stabilizing in price after dropping by 88 %. The suppliers of John’s bar, having granted her generous payment due dates, and having invested in the securities, are faced with a new situation. His wine supplier claims bankruptcy, his beer supplier is taken over by a competitor.
The bank is saved by the Federal Government following dramatic round-the-clock consultations by leaders from the governing political parties.
The funds required for this massive rescue are obtained by levying a new tax on all the non-drinkers. With the extra tax moneys, the banks will be able to maintain their disgusting system of greed, egocentrism and bonusses that eventually caused the financial crisis.
I couldn’t help adding the italic part to the story after the news came out about AIG and ING passing tax-payers’ money to their top-executives that should be kept liable for the financial crisis and perhaps should even be jailed.
With me, many people feel outraged with regards to these scandalous bonuses, which should immediately be eliminated and returned. Though politicians and high-ranked officers claim that this is impossible due to earlier agreements and contracts, I really doubt this and wonder if this isn’t just a political lie. If it is really not possible to prevent these bonuses from being payed, I would like to urge political leaders to implement new legislation that taxes these bonusses away and to get them back where they belong.
SSH login without password
Jan 20th
Your aim
You want to use Linux and OpenSSH to automize your tasks. Therefore you need an automatic login from host A / user a to Host B / user b. You don’t want to enter any passwords, because you want to call ssh from a within a shell script.
How to do it
First log in on A as user a and generate a pair of authentication keys. Do not enter a passphrase:
a@A:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@ANow use ssh to create a directory ~/.ssh as user b on B. (The directory may already exist, which is fine):
a@A:~> ssh b@B mkdir -p .ssh
b@B's password: Finally append a’s new public key to b@B:.ssh/authorized_keys and enter b’s password one last time:
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password: From now on you can log into B as b from A as a without password:
a@A:~> ssh b@B hostname
BStart a process on resume from S3
Dec 29th
When you want to run an application when resume your PC from stand-by, you can follow the following procedure:
- Open task sheduler [press windows key, type task, click on task scheduler at the top of the menu list]
- In Actions [menu or right pane] click ‘new task’
- In General tab, give your task a name
- In Trigger tab, click ‘new’
- Choose ‘on an event’ in the top drop-down list.
- Choose ‘custom’ radio button
- Click on the ‘new event filter’ button that now appears.
- For event level, choose ‘information’
- In ‘event logs’ drop-down menu, choose windows logs > system. Put a tick next to ’system’ only
- Click on the text ‘All event ID’s’ [the text will clear] and insert 1
- Click ok
- In the ‘Actions’ tab, choose the program you want to start by clicking ‘new’
- In the ‘new action’ window, use the browse button to navigate to the .exe of the program you want to run. If you have a shortcut on your desktop for the program, you can simply choose that and scheduler will extract the path from the shortcut.
- [optional] Add -fullscreen to the ‘arguments’ box if you want your program to start full screen and it supports this switch [argument]









