Ramen (ラーメン)

I hear the term “Ramen” already before and about the hype on Ramen shops all over the world but never payed attention to it. Now it happened a couple of weeks ago that, when dining out with my girl friend at Karl’s kitchen in Breuninger Stuttgart, they offered Ramen soup. Always open to sumptuous experiments, I tried … and was positively surprised. It tasted delicious.

Now what followed is, that’s my style, a thorough research about Ramen. Where does it come from and how to prepare it yourself. I quickly found out some basic receipts for the Japanese fast-food and set out to go practical. 

First of all, there are 3 steps to get a ramen soup:

  1. Base broth
  2. Spice broth
  3. Soup with toppings

When you watch receipts in youtube, you see that often for sake of efficiency the distinction between base and spice broth is ignored and one broth according to the local habits is prepared only. Here we want to stick to the original as close as we can.

Base Broth

First is to note, that ramen is used in all of Japan and this is a country that stretches from the sub-tropical south of Okinawa up to frozen north of Hokkaido. So it is natural that depending on region the basic style is different and adapted to what’s available there. This is why one distinguishes different ramen types:

  • Shōyu ramen (醤油, “soy sauce”) with soy sauce
  • Shio ramen (塩,”salt”) based on fish and seafood
  • Miso ramen (味噌) based on fermented soy beans (miso paste)
  • Karē ramen (カレー,”curry”) with curry
  • onkotsu ramen (豚骨ラーメン) based on pork meat and bones

You can find quite original receipts on Lecker (onkotsu ramen) and Chefkoch. For the first time, I did indeed follow the basis receipt with pork meat and bones, as that’s what I could get. Getting pork bones is rare actually as they do not keep up very well and you don’t use it for cooking sauce or broth normally but rather beef bones. So lucky coincidence.

So I used:

  • Pork bones with meat
  • Mixed vegetables for soup (mirepoix)
  • Garlic
  • Chicken wings
  • Kombu alga – hard to get because it is obviously expensive

For detailed preparation see the receipts, I had to exchange Kombu alga for Wakame alga. You cook for 2 hours. The broth can be frozen, taken care to not fill the bottles or other containers very full in order to avoid that they burst. 

Spice Broth

The spice broth is made, short term, from

  • Soy sauce
  • Flares of bonito (dried thin sliced tuna) – one can buy in the local Asia shop
  • The meat from the base broth

The spice broth does not have to be cooked long up-front but, when needed as it does not take too much time. The spice broth is added to the base broth to create the soup’s broth.

Soup and Toppings

Now you can start creating the soup itself. With ramen it’s like Pizza, you can add what you like if not following some traditional receipts. Here some ideas:

  • Sautéd Mushrooms are always good: Shiitake, Enoki or other asian mushrooms are must have. 
  • Spring onions, I like them sautéd as well
  • Pak Choi, again sautéd shortly
  • Sprouts, sautéd
  • Meat, fish from the broth or shrimp
  • Roasted vegetables like corn, thin sliced carrots
  • Cooked eggs
  • Pumpkin
  • Sesame paste

and of course noodles, either ramen noodles or other asian noodles like soba or udon. The ramen noodles are made of wheat, soba from buckwheat. Arrange everything neatly, with the half eggs on the top and ready is the ramen soup. It’s not really fast to prepare with all the stuff to roast and the hour-long broth cooking but well prepared you can re-use the frozen broth and then it’s not too much effort.

Delicious and good for a whole meal, enjoy!

And next time another variant …

Peter

Produkte digital-first denken

Barbara Hoisl, ist eine freiberufliche Business- und Strategieberaterin und eine lang-jährige Freundin aus alten Zeiten, als ich bei Hewlett-Packard (HP Openview Software, ein Bereich, den es in dieser Form nicht mehr gibt) gearbeitet hatte.  Barbara ist eine, nun ja visionäre, Expertin für Software-Produktmanagement, Finanzierung von Startups und den Software-Business. Ich hatte die positive Erfahrung Barbara früher bei HP eine kurze Zeit als Chefin zu haben. 

Letztes Jahr hat Barbara doch tatsächlich ein eigenes Buch geschrieben, “Produkte digital-first denken“, auf Deutsch. Ich schätze mich glücklich zu denjenigen zu gehören, die Anfang des Jahres eine (kostenlose) Ausgabe ihres neuen Buches bekommen hat. Daher wollte ich hier darüber berichten, wie das Buch geworden ist und was ich daraus gelernt habe.

Erst ist man irritiert, muss man ein deutsches Buch über das Thema Digitalisierung schreiben? Aber ich habe auch in der Arbeit schon öfter festgestellt, man vergisst schnell, dass ich Jahre-lang bei einer amerikanischen Firma gearbeitet habe und die Verwendung von English als Umgangssprache für mich zur Selbstverständlichkeit geworden ist, aber für doch noch viele, die nicht aus der Softwarebranche kommen eher noch ein Problem darstellt. Und ihr Buch wendet sich ganz klar an deutsche mittelständige Unternehmen, wo Deutsch doch noch die Fachsprache darstellt. Bis vor wenigen Jahren war das bei meinem Arbeitgeber (Bosch) auch noch der Fall.

Das ist auch schon einer der interessanten Punkte, warum dieses Buch eine Lücke im Portfolio der Bücher über Digitalisierung darstellt, es ist wirklich für den Personenkreis geschrieben, der die Digitalisierung und die Einführung von Softwareprodukten, IoT und IIoT durchführen muss um fit für die Zukunft zu werden. Und den Zielgruppen-gerechten Schreibstiel hat Barbara auf faszinierende Weise getroffen. Da sind auf der einen Seite doch die vielen anglophilen Ausdrücke, die für uns Softwerker so selbstverständlich sind, für das Zielpublikum aber hole Phrasen darstellen. Aber hinter den “Phrasen” stecken eben wesentliche Konzepte der Softwarewelt, welche die heute großen IT-Player (GAFA = Google Apple Facebook Amazon) eben erfolgreich gemacht haben und die ohne eine Anpassung der etablierten Produktionsfirmen in Deutschland in Zukunft auch deren Geschäft gefährden werden. Das heisst, wenn sie eben nicht die Digitalisierung und die Einführung von Softwareprodukten ernst nehmen.

Und genau das erklärt Barbara in verständlichen Worten, erklärt die Sätze wie “Software is eating the world”, “Winner takes it all” Effekt in Platform-Geschäftsmodellen, “Think big, smart small” und “Sell the future” Strategie. Interessant ist dabei, dass ich, der sich auch schon intensiv mit Software-Platform Geschäftsmodellen auseinandergesetzt habe und der all diese Prinzipien der Softwarewelt als gegeben und als klar versteht, dabei immer noch etwas lernen kann. Man wird sich über die Unterschiede zwischen den deutschen erfolgreichen Produktionsunternehmen und den (meist amerikanischen) IT-Unternehmen noch klarer und erkennt den Handlungsbedarf Produkte digital neu zu erschaffen.

Bosch ist eine solches Unternehmen, mit hunderten Produktionswerken und unglaublichem Wissen über Fertigung und Logistik und ein Unternehmen, dass sich ganz klar auf den Weg zum Software-Unternehmen befindet. Mein Geschäftsbereich “Bosch Connected Industry” ist an vorderster Front mit dabei. Aber ich habe auch schon, auf Messen oder in Gesprächen, bemerkt, dass dies durchaus nicht für die Masse der kleineren mittelständischen Unternehmen, insb. in Baden-Württemberg gilt. Dabei gibt es hier viele heutige Weltmarktführer in hunderten technischen Nischenmärkten. Und genau diese muss das Wissen über die wirkliche, Buzzword-erklärte Bedeutung erreichen. Barbara’s Buch ist einzigartig darin, genau das hoffentlich erreichen zu können.

Was mich dabei fasziniert hat ist, durch die Darstellung im Buch wieder klar zu werden, wie wichtig dabei die richtige Denkweise (“Digital Mindset”) zu bekommen (zu erlernen?). Zu verstehen wie die neuen großen innovativen IT-Player denken gegenüber den traditionellen etablierten aber langsamen Unternehmen. Barbara erklärt dabei viele Modelle, wie den Produkt-Lifecycle, Moore’s Law und exponentielles Wachstum, 3 Horizonte der Innovation, Innovator’s Dilemma, 10 Types of Innovation, 6D-Modell. Die beiden letzen waren z.B. auch für mich neu und ich habe mir gleich die dazugehörende Literatur besorgt.

Das schöne an ihrem Buch ist, dass sie die abstrakten Modell immer mit praktischen Beispiele aus B2B und B2C Märkten erklärt. Bosch Software Innovations (mein erster GB bei Bosch) kommt übrigens auch darin vor (sic!). Lieblingsbeispiel Tesla, wo es für mich auch noch etwas zu lernen gab. 

Schliesslich gibt sie auch noch einige Empfehlungen am Ende des Buchs wie man die Transition zu einem Unternehmen, das “digital-first” denkt organisieren sollte. Nicht, dass jedes Unternehmen das so angehen würde und man sieht die Probleme, die dadurch in der Umsetzung entstehen im eigenen Unternehmensbereich. Alles in allem eine bereicherndes Buch, dass ich jedem der im IIoT Bereich unterwegs sind oder sein sollten, und das sind eben alle traditionellen Produktionsunternehmen, wärmstens and Herz legen kann. 

Viele interessante Erkenntnisse beim Lesen!

Peter

Bulletproof SSL and TLS

As I’m currently involved with lots of openssl automation at work, I bought the book “Bulletproof SSL and TLS” from Ivan Ristić. See the book’s site at https://www.feistyduck.com/books/bulletproof-ssl-and-tls/. Attention, it looks like on Amazon there is only the 2014 edition available, while on Ivan’s blog (https://blog.ivanristic.com/2017/07/announcing-bulletproof-ssl-and-tls-2017-revision.html), which I found out after the purchase of course, there is a 2017 version mentioned. Nevertheless that the book edition I read was a bit dated, I learned a lot, despite having been engaged with openssl before. 

It is a difference being able to generate and sign some certificates and knowing the history, the vulnerabilities and mechanisms of the protocol itself. This book is definitively the “bible” of TLS from the founder of the (Qualys) SSL Labs with the famous SSL server test tool (btw. also available as standalone tool: ssllabs-scan on github). So there is quite some expertise and mastership behind this book.

What can one learn from the book? Well first a thorough basis and the insight, or maybe reminder, that TLS is not just encryption but also certificate-based authentication and provides integrity and session management. So it’s a bundle of security functionality that can be used not only for HTTPS but also any other protocol that you can run over TCP. There are many articles about TLS port forwarding, but with the book, I have finally gotten the differences. 

There is by the way also a github repository to the book that contains among other resources configuration files for setting up a own root CA for self-signed certificates. That being a task that I’m just involved in and this thus very handy to verify my configuration taken from other sources in the web. Clearly for public customer or browser-facing endpoints one will always have to use purchased certificates from a public CA. But in the innards of a system, behind a reverse proxy or from the application backend to a infrastructure service, such as RabbitMQ or a DB, self-signed certificates, well-configured, serve well their purpose. And you save money and have the full control over expiration time and what not.

Especially interesting for were the details on OSCP and OSCP stapling and all the other initiatives that there are. Certainly a topic that one would like to explore at work for getting an additional grain of security into especially cloud-hosted services. Another concept that was covered were the different ways of pinning and what it really means. It is not so a sophisticated concept that nobody uses, anyhow. 

What I found especially helpful were, beyond some openssl command-line examples also a in-depth chapter on configuring Nginx with TLS, something that I happen to just do at the moment at work, too. What a coincidence. That adds well to the Nginx TLS documentation, which is more reference than tutorial. Especially the securing of a down-stream connection to backend services in a reverse proxy scenario.

Well, this is thick book and it took a while to get through but it was worth it and I’m now feeling much better prepared for practical work with TLS, openssl and juggling with certificates.

Yours, Peter

Books for Learning

Books, printed books, despite the promise that e-books will kill them in the age of the Internet, they’re still there and sold in millions by Amazon and the like. But I observe, that they’re still on the decline. Not because everyone would only read them in electronic form only. For this the smartphone is simply not really convenient. You need a tablet/iPad to enjoy reading e-books IMHO. No, it’s because books aren’t used anymore for learning. 

When I look around me at work, nobody other than me has books besides his desk and seems to read any book for work. Maybe they only read prose for pleasure, fine as well. But even that you see less and less in public transportation. What I see is that people don’t use books for learning but use other media instead. They watch videos, listen to podcasts or read articles in the world-wide web as they need it. You have an issue, you search and find some resource that tells you how to get ahead. On-demand learning, so to say. 

A book is something longer-term, you buy, you watch is waiting for you and you spend weeks, if not months to digest it in one piece if it is a good one. That takes time and effort and persistence to do. That’s not like a two-page article or 20min video that comes right to the point. I guess this is really the point, these other internet-based media are easier to digest and solve your problem of learning that you have right in this moment.

But this type of learning is a shallow one. You don’t really learn the fundamentals of the technology or topic. You learn how to solve exactly this one problem and the next day you’re as dump as you were. This is why people always say “I have no idea”. Really I avoid this phrase like hell. I do want to have a clue, an idea on the topics, I speak about, otherwise I shut my mouth. 

And for this you need deep knowledge, expert knowledge. Books are written usually by experts, at least if it’s a good book. They build up the topic from the grounds and systematically consolidate the matter using examples and give you reasons and arguments. At the end you are maybe not an expert yourself, experience is missing. But at least you have the feeling that you have profound knowledge to start from. 

There is the model of “cone of learning” from Edgar Dale, I think. It explains how good media are for learning. The book is doing pretty bad in this model. It is passive learning and you remember only small parts of what you read. In contrast a video or podcast is remembered much more. And that is probably right in the general. How long do you remember what you read a year ago in a book? Nevertheless the depth is a different in a book in contrast to other media. and I would say it needs to stay in the learning mix also these days, electronic or not. 

There is one more aspect, that I reflected about. Exactly that is the point, writing a book is equally more effort and takes more time than creating a podcast, video or writing an article (like this one, lol). So there is so much preparation going into writing a (good) book. A good friend of mine, Barbara Hoisl, wrote a book last year. Content-wise this is a completely own article, but she worked for more than a year only on the book, left apart the time for thinking about it and preparing the steps to get to start at all. But this is not only time, it is reflection and thinking time. And a book includes this reflection and thinking of months and years. It is maybe courageous to talk about wisdom, but a book certainly captures more wisdom than other media. And this is why one should read books in addition to consuming internet-based media.

Well, think about it, yours

Peter

Installing filebeat on Raspberry PI 3 (amd64)

Currently I’m experimenting with using a Raspberry PI 3 B+ as a network security monitoring (NSM) sensor node. So I have Bro and Suricata installed on that little guy running Kali Linux for arm64. But I need a modern way to transport the logs to its log monitoring station. So not using syslog-ng or ryslog but the best log shipper for the elastic stack, and that is Beats, better the Filebeats.

Problem: Elastic does, unfortunately, despite desperate inquiries from users in the forums not provide binaries or a .deb package for Beats. After trying some other paths I came across some receipts to install Beats on arm64 by manually compiling the binary with Go. I have to say, Go is marvelous! On the PI itself, I had bad luck, because the “go build” quickly finished with out-of-memory. So that didn’t work unfortunately on that little pal.

But because Go is so cool, I just “cross-complied” it on a bigger laptop, also running Kali Linux. And that’s so easy that I have to tell the world, because the other receipts are sometimes too specific and parts are missing for a full running manual installation, which is more than just the filebeats binary.

Step one on the other Debian-base system, the laptop, you need of course also Go installed.

# mkdir -p go/src/github.com/elastic
# cd go/src/github.com/elastic
# git clone https://github.com/elastic/beats.git
# export GOPATH=$PWD/go

You could also get the sources with “go get” bu that doesn’t matter, result the same.
Now the important step, watch out:

# export GOARCH=arm64
# cd beats
# go build -v -x

Flags just so see what’s happening, as go build is very silent otherwise. Magic, in a few seconds, you have a “filebeat” binary in this directory!
Try:

# file filebeat
filebeat: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=svVi8LJGhqXEjRJveTrA/7cOYouMPn1VzyeJqwq3W/TXZ3DZ8Wa_QYdKnsR8cm/8bg35yoawYw18mAJ30oX, not stripped

Remember we are on amd64 not arm64 on the laptop!
Now just copy the file over to the PI using ssh and test it there:

# ./filebeat –help

Works! But when you try

# ./filebeat modules list

It does not show any, because we are missing something, all the module configuration and kibana dashboards that are normally also contained in the .deb package.  So on the laptop just install filebeats, as for amd64, there is of course package:

# cd ~/Downloads
# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.1.1-amd64.deb
# dpkg -i filebeat-7.1.1-amd64.deb
# filebeat modules list

Here you get the modules of course.
Now just let’s see what’s in the debian package:

# dpkg –listfiles filebeat|more

As you can see, besides the binary (for amd64) no other binaries are really in the .deb, just lots of YAML and JSON files. Now that’s of course good news.
So what I did for getting a fully functional installation is just copy the files over form the laptop to the PI using SSH in /etc/init.d/filebeat, /etc/filebeat/*, /usr/share/filebeat, /lib/systemd/system and /usr/bin/filebeat (a script). Then place the compiled arm64 binary in “/usr/share/filebeat/bin/filebeat” and we’re got to go on the PI:

# filebeat modules list

And here we get the list.
Now this is not a package that will be manged by apt-get of course. Maybe, I didn’t try one could for to install the official amd64 .deb package and only exchange compiled binary.

Hope this helps, Peter

Book Platform Ecosystems

There are a couple of books on platform business models and ecosystems. I recently bought two of them. One is “Platform Ecosystems, Aligning Architecture, Governance and Strategy” from Amrit Tiwana (see cover). The book is built up very systematically in explaining what the difference between a platform business model in a multi-sided platform and a classical product or solution business in a single-sided model is. He stresses the important of the interaction between architecture and governance in the evolution of a platform. Something a platform software architect likes to hear of course. Some later chapters are too advanced for my current needs at the moment but very very informative and clearly written. This will be for me a very influential book and is definitively worth a read!

TRIZ

End of last year I read this book on the TRIZ methodology, in English “theory of creative problem solving” originally developed by Genrich Saulowitch Altschuller in the former soviet union. Quite some time already I wanted to read about TRIZ, as I’m fascinated by the idea that you could systematically find and direct innovation. The book is also a nice introduction to innovation management by the way. Of course the method comes more from mechanical engineering and unfortunately does not translate directly to my space of computer science. That remains the open question for me, is it possible to find and document similar patterns in software engineering as TRIZ does it? Or do we maybe have something like this with architecture and design patterns more or less? It was an interesting read nevertheless and gets you thinking about how to systematically find new ideas and solutions for problems. And of course it is a nice piece of off-the-path thinking from Russia!

New paknet blog

Hi,

in the past there were multiple blogs for private, software architecture and the unofficial MIDAS weblog. I decided to restart with one single blog that can potentially include material for all topics and probably new ones as well.

Don’t expect any more material on MIDAS though. First Blue Elephant Systems is dead, MIDAS as a product is dead and the whole topic of IT management is dead in my mind. You will potentially see references to MIDAS from Atos or 4Things Solutions. These companies try to market what is left from MIDAS to HP OM customer that did not notice yet that MIDAS is gone with its author. The last brain that knew anything about the complete product suite is me, and I’m not with Atos nor 4Things. And don’t believe anyone else that they understand the product nor further develop it nor be able to maintain its rests, just don’t. I will keep the old content of the blog in the archive, this is where it belongs.

I’ve changed work and also the area. No more IT management, monitoring or stuff that is just a necessary evil that needs to be done. IoT and industrial internet/i4.0 or connected industry as it’s called is now the new topic. And its thrilling and interesting like hell! This is the topic I will be writing about.

Peter

6. Jahrestagung DGSD

Since June 2012 blue elephant systems is member of the “Deutsche Gesellschaft für System Dynamics” (DGSD), German chapter of the “System Dynamics Society” (SDS), the institution for the advancement of the system dynamics methodology for modeling and simulation of complex dynamic systems. On the 21st to the 22nd of June 2012 the DGSD held its 6th yearly conference on system dynamics (SD) in Frankfurt Main in the rooms of the PA Consulting Group and I had been participating for the 2 days for the first time.

A series of presentations, mostly in the areas of business and jurisdiction showed applications of SD from purely qualitative to very data-centered quantitative models, from very high-level academic to pretty practical levels. For me the purpose was mainly learning about system dynamics, seeing practical SD models and their applications in various fields as well as getting contacts in the SD community. In that respect it was a very interesting and mind-opening event that got me started in modeling and simulation.
I am a the moment evaluating SD tools, from XJ Technologies AnyLogic, via Consideo MODELER to Vensim, so I also wanted to see what tools other people use. Apparently due to the excessive price of AnyLogic a lot of people use Vensim and Consideo, although those usability is not even remotely comparable to AnyLogic. Well we need to see how we can solve this problem.
As an interesting fact, I found out that the University of Stuttgart, with Prof. Dr. Meike Tilebein is very active in the field, whose doctor father is obviously the BWL Prof. Dr. E. Zahn. When I studied BWL as my minor field of study at university, Prof. Zahn had been my professor in Organization (in-depth elective).

I especially liked the openness of the SD people, it was obvious that they are happy of every new member that is deeply interested in system dynamics, and obviously blue elephant is bringing in a new application field where SD is not yet widely applied.

Projango Agile

At blue elephant, we are using, SCRUM as our development methodology. Now Edgar, my project lead would scream and cry that we would not do it right, but we are doing agile development SCRUM-style, for me that is just fine. Doesn’t have to be the pure law 🙂

As the SCRUM tool of choice we use Projango the SCRUM project management of Xenatec. By pure coincidence Edgar is partner of Xenatec and co-author of Projango. Blue elephant has been, so to say, the major beta tester for Projango in the last year(s) and in the mean time this tool is our core tool for the development team.

The visually very nice Projango SCRUM-board is in daily use by the developers to work on their tasks so that everybody knows who is doing what as well as for time bookings. Using the board we do task break downs of the user stories and effort estimations in the team. Instead of someone writing the tasks in an excel to centrally enter them in a system, we immediately create the tasks, prioritize and estimate them online during our planning sessions.
Urgent customer requirements are entered in the backlog and linked via Weblinks with our bug tracking tool Jira.

The big advantage of Projango versus other SCRUM solutions, e.g. from Atlassian, is the very direct visual manipulation of stories and tasks. Just drag and drop them to prioritize or change the state. In-place editing and the engineer-images are very cool, so that one visually sees who’s working on or verifying a task. Also the impressive burndown chart and the generated MS Excel documentation help to manage and present R&D work in the organization.

We can only recommend Projango, so have a look!

IntelliJ IDEA

Can’t code without Since years now I work with IntelliJ IDEA as my Java IDE, which I introduced already back at HP as the Java development tool of choice. While there had been some small problems with performance in earlier versions, it got now better and faster again than ever before.
Meanwhile the Eclipse users around me are getting more and more and they brag about why it would be so superior and much better. I just let them talk and lough at them, because in the end I’m still so much more productive with IDEA. And if I’m the last IDEA user, I will never surrender to Eclipse, which is full of over-engineered features, usability nightmares and unnecessary complexities.
I just don’t understand it why the do not prefer IDEA, where do some people look at? Are they running blindly through the world or just behind the masses? Development is like handcraft, you need the right tools for the work, then it is already half done. IDEA is the powertool for Java and Groovy developers, unparalleled in this ecosystem. At least for me, even if I have given up on these Eclipse-guys meanwhile.

Worst Crap on a Computer: COM

Name it: COM. The worst that Microsoft ever produced as technology. Sure it is old now but still destroys the time of a lot of developers. Sad that some of my time, otherwise usefully spent has been spilled of this piece of crap. How can someone come up with the idea of requiring every thread to do some initialization and uninitialization before accessing a COM component? Do you know how difficult that can be if your threads get created in some far-away HTTP server, get cached and re-used for completely other thing, of course COM un-related?
So why did HP believe that they should write OMW in COM? I hate them for this.

And why does Jacozoom not finally support 64bit Windows, as they are the far best COM-wrapping library for Java? Don’t they know this and that all other libraries, including ComfyJ expose you all these nice quirks of COM that you simple do not want to deal with?

BarCamp Stuttgart 2011

I just a week ago got a tip from some ex-HP colleague that there is a yearly event of the local Web 2.0 scene here in Stuttgart, the Bar Camp Stuttgart (BCS4) for the forth time already. So this weekend from Friday to Monday the event took place in the Literaturhaus (Bosch Areal, MFG etc.) with main event days Saturday and Sunday (1.10/2.10). Unfortunately I could only attend on Sunday but still it has been an interesting experience. Dresscode relaxed of course, at the begin, after a gratis breakfast and a short introduction round for new attendents like me, the group of max 250 persons proposes sessions and plans the day on a board in front. Then one had the day over sessions in various rooms of the MFG as well as outdoor. That’s the sessions that I had attended:

  • Xing — how to use Xing in combi with Facebook, LinkedIn, Twitter for self-marketing
  • FAQ Existenzgründung
  • Stuttgarter Startup Szene — Networking
  • Deutschland den Geeks — political discussion about Pirate Party
  • Coworking

Unfortunately one could only attend one of the up to 8 parallel sessions, there were quite some interesting topics, sometimes far away from the actual topic of startups or Web 2.0, but everyone is free to propose a topic as long as it finds some interested people to attend.

The whole event was free, sponsored by MFG and others with optional sponsor tickets. Excellent catering framed the sessions. It was interesting to see how much potential for new startups and innovation ideas there is here in Stuttgart after all, although there were barely any potential founds in the FAQ session, only already-entrepreneurs. Obviously the climate for IT startups in Stuttgart is not as ideal as in other places like Berlin, although there is not some Coworking facilities, places like the IBH, where we had started and several events for new companies like this one.

So pretty interesting experience and I’ll sure attend next year’s BarCamp again. My page on Mixxt.

Gradle

For all my professional career, I have been involved in software build systems, starting with Make, Imake, Ant, Maven etc. Currently we use Ant at blue elephant but the build is huge, hard to maintain and totally unmodular. No point, that one could also do it better in Ant or let yourself subjugate on the rigid conventions of Maven. But what I was looking for is to minimize efforts of migration, be flexible to do things a bit adapted but still have the nice convention based build and especially the dependency management of maven.
It turns out that there is indeed a optimal solution for it and it comes with the name Gradle. We are anyhow using a lot of Groovy (see earlier posts), which is for me the optimal scripting language. Gradle is well documented, in contrast to the ever mystic maven, it is non-XML using a Groovy DSL as notation and it can use Ant tasks and scripts, which eases migration a lot. And anyhow, there some things in Ant that are unparelleled elsewhere, like the fileset-based operations and there are tons of Ant tasks out there, like xmltask, scp etc. that it would be dump to re-implement just for the fun of it.

Also there seem to be a lot of enthusiastics for Gradle, like this blog. And there is one fan more, so we will soon see some Gradle in MIDAS probably …

Java on MacOSX

I’m an Apple enthusiast, really in nearly all respects. I have a iMac, a MacBook, a iPhone and hopefully some time an iPad, I have no worries about the app store with either iOS nor MacOSX, not about their unti-Flash war, I pay their prices, watch their announcements, all, really I’m convinced.
But this message about Apple seeking to get rid of their Java Development Kit is too much. Java is not Flash. Java is the center of my world as a developer and architect. Java is the most important ecosystem and implementation system in the world. To try to drop that on the MacOSX platform is insane, mad, unbeliefable and stems from an unparalleled arrogance and superstition. Someone at Apple seems to run amok or has a malfunction in the brain, I can only hope that this isn’t Steve’s idea.
Hello dudes, all server software is Java, tons and tons of desktop tools, heard of Eclipse, Netbeans, IntelliJ IDEA? Does Tomcat, Jetty, Servicemix sound familiar? Any idea of what you are talking about? About the end of MacOSX as a developer platform, as a server platform, shall I continue?
You better think about that idea once more you crazy idiots at Apple!

Programming Groovy

About Groovy programming books, usually the “X in Action” is quite good but on the topic of Groovy I have to say that I prefer the book “Programming Groovy” from the pragmatic programmers series. We have both in the company but I experience myself always prefering this one over the Manning book, even though the much appreciated Dirk Koenig is one of the authors of that one.

The pragmatic programming book simply is very nicely layouted, clear structure, good examples and still covers all topics including MOP of basic Groovy programming. My recommendation!

Scripting languages on the JVM

Since I while I’m a fiery fan of Groovy, but as usually you hear form some persons, oh Scala is cool, or Ruby or Python or, or, or. So I wanted to know whether I have developed a certain bias towards Groovy or there is some good reason behind this intuitive selection. So I have in the last time made some effort to look into other scripting languages especially on the JVM. I had some exposure to scripting languages before, first REXX in my old days on VM/CMS or Phython/Jython as one of the first object-oriented scripting languages, Tcl/Tk or of course Unix shell including awk/sed etc.

My personal conclusion to the hype about Scala e.g. is for the time being, that it is a very very large language system which is probably very hard to learn, harder than Groovy and honestly I dislike somehow some of the syntactical elements of Scala, which are somehow just different from the Java/Groovy conventions without some obviously good reason. I’m a fan of functional programming, did some real Lisp on Emacs in my old days at the University of Stuttgart. But the mix of functional and procedural programming paradigms in Scala are somewhat not as cool and urging as in Groovy IMHO. Scala seams to be something of all but nothing really right. For example, take Clojure, a purely Lisp-style functional scripting language. Pure and nice, less braces than Lisp but still somehow simple to learn, a beauty in comparision to Scala. Or the closures in Groovy, really really nice to use, so superior in my eyes.

And Groovy has the absolute top advantage that its Syntax is so close to Java’s and you can quasi 100% integrate Groovy into and onto Java, mix and match. That is exactly what one needs if looking for a application extension and scripting language, no other candidate can do this in the way Groovy does. Inherit from a Java class or vice versa, inject methods from Groovy into existing Java classes to make then feel Groovy, really really cool!

That is why we do in MIDAS provide a API in Groovy on top of our Java GUI. I am working though additionally on a Clojure API wrapper, just for fun though.

XMLTask Ant Task

In MIDAS we use ant as one of our core techniques and also apply a couple of third-party tasks in addition, such as ant-contrib. I have written and contributed for example the ant tasks for the eXist XML database and have a extensive experience in writing custom ant tasks. That’s why I especially appreciate the XMLTask a task for XML modification and creation from OOPS Consultancy Ltd, a UK-based consulting company.

While a lot of jobs can be handled by specific XSL stylesheets, it always needs an extra XSL file in addition to the ant task ant doing small things like insert some tag or attribute, remove a portion etc. a direct XPath-based XML manipulation is much faster to write with the xmltask than writing templates in an XSLT. And the cool thing about the xmltask is that it can put the result of a XPath query into a buffer that can then e.g. be re-inserted into another document without writing it to a file or such, just a ant-internal object just like a fileset. So far I haven’t found anything that couldn’t be done with this task regarding XML processing, it even supports DTD catalogs and schemas, maintaining the DTD declaration etc. pp.

Most definitively a must look at!

JUFS 2009

On 2nd of July this years’ Java User Forum Stuttgart took place at the conference center of the Liederhalle in Stuttgart, as usual organized by the Java User Group Stuttgart (JUGS). As any year, I joined together with some collegues from blue elephant systems GmbH: Georgios, Max, Stefan and Florian. All of us found that the sessions did not quite reach the level of the previous years, maybe because there were merely no gurus or experts from abroad participating in the event. Most presenters were mostly german or local consultants. This domination by consulting companies was also obvious in the exhibition floor, apart from one or two tool vendors already known from previous years.

Apart from a refresher on REST, Spring 3.0 and Eclipse 4 I found especially interesting a presentation os open-source single-sign-on solutions (SSO), especially CAS (and OpenSSO). Talking with some consultants at the end provided some interesting insight. I was especially eager to understand how to support single-sign-on solution in MIDAS in order to allow users logged-into other tools already (e.g. the HP OMU Java UI) to avoid a re-login into the MIDAS GUI given proper credentials. It looks like it does not make sense to integrate such a tool directly but rather be able to validate a SAML(2) token given by such a tool in order to accept a authentication. The only problem is of course that there is no standard backend for a ESB request-based authentication as MIDAS implements it (instead of web-container based authentication that obviously only works for web applications). We in MIDAS need to support also API and CLI clients of all sorts and not only web clients and thus cannot apply such simple scheme. Also there is no standard protocol or API between a PEP and the SSO server such that we could easily use a CAS for authentication itself.

Well so a, though not optimal, but still work-free and interesting day, meeting old HP-collegues etc. and finally with a very cute piano playerin in the evening.

Projango Agile

At blue elephant, we are using, SCRUM as our development methodology. Now Edgar, my project lead would scream and cry that we would not do it right, but we are doing agile development SCRUM-style, for me that is just fine. Doesn’t have to be the pure law 🙂

As the SCRUM tool of choice we use Projango the SCRUM project management of Xenatec. By pure coincidence Edgar is partner of Xenatec and co-author of Projango. Blue elephant has been, so to say, the major beta tester for Projango in the last year(s) and in the mean time this tool is our core tool for the development team.

The visually very nice Projango SCRUM-board is in daily use by the developers to work on their tasks so that everybody knows who is doing what as well as for time bookings. Using the board we do task break downs of the user stories and effort estimations in the team. Instead of someone writing the tasks in an excel to centrally enter them in a system, we immediately create the tasks, prioritize and estimate them online during our planning sessions.
Urgent customer requirements are entered in the backlog and linked via Weblinks with our bug tracking tool Jira.

The big advantage of Projango versus other SCRUM solutions, e.g. from Atlassian, is the very direct visual manipulation of stories and tasks. Just drag and drop them to prioritize or change the state. In-place editing and the engineer-images are very cool, so that one visually sees who’s working on or verifying a task. Also the impressive burndown chart and the generated MS Excel documentation help to manage and present R&D work in the organization.

We can only recommend Projango, so have a look!

IntelliJ IDEA

Can’t code without Since years now I work with IntelliJ IDEA as my Java IDE, which I introduced already back at HP as the Java development tool of choice. While there had been some small problems with performance in earlier versions, it got now better and faster again than ever before.
Meanwhile the Eclipse users around me are getting more and more and they brag about why it would be so superior and much better. I just let them talk and lough at them, because in the end I’m still so much more productive with IDEA. And if I’m the last IDEA user, I will never surrender to Eclipse, which is full of over-engineered features, usability nightmares and unnecessary complexities.
I just don’t understand it why the do not prefer IDEA, where do some people look at? Are they running blindly through the world or just behind the masses? Development is like handcraft, you need the right tools for the work, then it is already half done. IDEA is the powertool for Java and Groovy developers, unparalleled in this ecosystem. At least for me, even if I have given up on these Eclipse-guys meanwhile.

Worst Crap on a Computer: COM

Name it: COM. The worst that Microsoft ever produced as technology. Sure it is old now but still destroys the time of a lot of developers. Sad that some of my time, otherwise usefully spent has been spilled of this piece of crap. How can someone come up with the idea of requiring every thread to do some initialization and uninitialization before accessing a COM component? Do you know how difficult that can be if your threads get created in some far-away HTTP server, get cached and re-used for completely other thing, of course COM un-related?
So why did HP believe that they should write OMW in COM? I hate them for this.

And why does Jacozoom not finally support 64bit Windows, as they are the far best COM-wrapping library for Java? Don’t they know this and that all other libraries, including ComfyJ expose you all these nice quirks of COM that you simple do not want to deal with?

BarCamp Stuttgart 2011

I just a week ago got a tip from some ex-HP colleague that there is a yearly event of the local Web 2.0 scene here in Stuttgart, the Bar Camp Stuttgart (BCS4) for the forth time already. So this weekend from Friday to Monday the event took place in the Literaturhaus (Bosch Areal, MFG etc.) with main event days Saturday and Sunday (1.10/2.10). Unfortunately I could only attend on Sunday but still it has been an interesting experience. Dresscode relaxed of course, at the begin, after a gratis breakfast and a short introduction round for new attendents like me, the group of max 250 persons proposes sessions and plans the day on a board in front. Then one had the day over sessions in various rooms of the MFG as well as outdoor. That’s the sessions that I had attended:

  • Xing — how to use Xing in combi with Facebook, LinkedIn, Twitter for self-marketing
  • FAQ Existenzgründung
  • Stuttgarter Startup Szene — Networking
  • Deutschland den Geeks — political discussion about Pirate Party
  • Coworking

Unfortunately one could only attend one of the up to 8 parallel sessions, there were quite some interesting topics, sometimes far away from the actual topic of startups or Web 2.0, but everyone is free to propose a topic as long as it finds some interested people to attend.

The whole event was free, sponsored by MFG and others with optional sponsor tickets. Excellent catering framed the sessions. It was interesting to see how much potential for new startups and innovation ideas there is here in Stuttgart after all, although there were barely any potential founds in the FAQ session, only already-entrepreneurs. Obviously the climate for IT startups in Stuttgart is not as ideal as in other places like Berlin, although there is not some Coworking facilities, places like the IBH, where we had started and several events for new companies like this one.

So pretty interesting experience and I’ll sure attend next year’s BarCamp again. My page on Mixxt.

Gradle

For all my professional career, I have been involved in software build systems, starting with Make, Imake, Ant, Maven etc. Currently we use Ant at blue elephant but the build is huge, hard to maintain and totally unmodular. No point, that one could also do it better in Ant or let yourself subjugate on the rigid conventions of Maven. But what I was looking for is to minimize efforts of migration, be flexible to do things a bit adapted but still have the nice convention based build and especially the dependency management of maven.
It turns out that there is indeed a optimal solution for it and it comes with the name Gradle. We are anyhow using a lot of Groovy (see earlier posts), which is for me the optimal scripting language. Gradle is well documented, in contrast to the ever mystic maven, it is non-XML using a Groovy DSL as notation and it can use Ant tasks and scripts, which eases migration a lot. And anyhow, there some things in Ant that are unparelleled elsewhere, like the fileset-based operations and there are tons of Ant tasks out there, like xmltask, scp etc. that it would be dump to re-implement just for the fun of it.

Also there seem to be a lot of enthusiastics for Gradle, like this blog. And there is one fan more, so we will soon see some Gradle in MIDAS probably …

Java on MacOSX

I’m an Apple enthusiast, really in nearly all respects. I have a iMac, a MacBook, a iPhone and hopefully some time an iPad, I have no worries about the app store with either iOS nor MacOSX, not about their unti-Flash war, I pay their prices, watch their announcements, all, really I’m convinced.
But this message about Apple seeking to get rid of their Java Development Kit is too much. Java is not Flash. Java is the center of my world as a developer and architect. Java is the most important ecosystem and implementation system in the world. To try to drop that on the MacOSX platform is insane, mad, unbeliefable and stems from an unparalleled arrogance and superstition. Someone at Apple seems to run amok or has a malfunction in the brain, I can only hope that this isn’t Steve’s idea.
Hello dudes, all server software is Java, tons and tons of desktop tools, heard of Eclipse, Netbeans, IntelliJ IDEA? Does Tomcat, Jetty, Servicemix sound familiar? Any idea of what you are talking about? About the end of MacOSX as a developer platform, as a server platform, shall I continue?
You better think about that idea once more you crazy idiots at Apple!

Programming Groovy

About Groovy programming books, usually the “X in Action” is quite good but on the topic of Groovy I have to say that I prefer the book “Programming Groovy” from the pragmatic programmers series. We have both in the company but I experience myself always prefering this one over the Manning book, even though the much appreciated Dirk Koenig is one of the authors of that one.

The pragmatic programming book simply is very nicely layouted, clear structure, good examples and still covers all topics including MOP of basic Groovy programming. My recommendation!

Scripting languages on the JVM

Since I while I’m a fiery fan of Groovy, but as usually you hear form some persons, oh Scala is cool, or Ruby or Python or, or, or. So I wanted to know whether I have developed a certain bias towards Groovy or there is some good reason behind this intuitive selection. So I have in the last time made some effort to look into other scripting languages especially on the JVM. I had some exposure to scripting languages before, first REXX in my old days on VM/CMS or Phython/Jython as one of the first object-oriented scripting languages, Tcl/Tk or of course Unix shell including awk/sed etc.

My personal conclusion to the hype about Scala e.g. is for the time being, that it is a very very large language system which is probably very hard to learn, harder than Groovy and honestly I dislike somehow some of the syntactical elements of Scala, which are somehow just different from the Java/Groovy conventions without some obviously good reason. I’m a fan of functional programming, did some real Lisp on Emacs in my old days at the University of Stuttgart. But the mix of functional and procedural programming paradigms in Scala are somewhat not as cool and urging as in Groovy IMHO. Scala seams to be something of all but nothing really right. For example, take Clojure, a purely Lisp-style functional scripting language. Pure and nice, less braces than Lisp but still somehow simple to learn, a beauty in comparision to Scala. Or the closures in Groovy, really really nice to use, so superior in my eyes.

And Groovy has the absolute top advantage that its Syntax is so close to Java’s and you can quasi 100% integrate Groovy into and onto Java, mix and match. That is exactly what one needs if looking for a application extension and scripting language, no other candidate can do this in the way Groovy does. Inherit from a Java class or vice versa, inject methods from Groovy into existing Java classes to make then feel Groovy, really really cool!

That is why we do in MIDAS provide a API in Groovy on top of our Java GUI. I am working though additionally on a Clojure API wrapper, just for fun though.

XMLTask Ant Task

In MIDAS we use ant as one of our core techniques and also apply a couple of third-party tasks in addition, such as ant-contrib. I have written and contributed for example the ant tasks for the eXist XML database and have a extensive experience in writing custom ant tasks. That’s why I especially appreciate the XMLTask a task for XML modification and creation from OOPS Consultancy Ltd, a UK-based consulting company.

While a lot of jobs can be handled by specific XSL stylesheets, it always needs an extra XSL file in addition to the ant task ant doing small things like insert some tag or attribute, remove a portion etc. a direct XPath-based XML manipulation is much faster to write with the xmltask than writing templates in an XSLT. And the cool thing about the xmltask is that it can put the result of a XPath query into a buffer that can then e.g. be re-inserted into another document without writing it to a file or such, just a ant-internal object just like a fileset. So far I haven’t found anything that couldn’t be done with this task regarding XML processing, it even supports DTD catalogs and schemas, maintaining the DTD declaration etc. pp.

Most definitively a must look at!

JUFS 2009

On 2nd of July this years’ Java User Forum Stuttgart took place at the conference center of the Liederhalle in Stuttgart, as usual organized by the Java User Group Stuttgart (JUGS). As any year, I joined together with some collegues from blue elephant systems GmbH: Georgios, Max, Stefan and Florian. All of us found that the sessions did not quite reach the level of the previous years, maybe because there were merely no gurus or experts from abroad participating in the event. Most presenters were mostly german or local consultants. This domination by consulting companies was also obvious in the exhibition floor, apart from one or two tool vendors already known from previous years.

Apart from a refresher on REST, Spring 3.0 and Eclipse 4 I found especially interesting a presentation os open-source single-sign-on solutions (SSO), especially CAS (and OpenSSO). Talking with some consultants at the end provided some interesting insight. I was especially eager to understand how to support single-sign-on solution in MIDAS in order to allow users logged-into other tools already (e.g. the HP OMU Java UI) to avoid a re-login into the MIDAS GUI given proper credentials. It looks like it does not make sense to integrate such a tool directly but rather be able to validate a SAML(2) token given by such a tool in order to accept a authentication. The only problem is of course that there is no standard backend for a ESB request-based authentication as MIDAS implements it (instead of web-container based authentication that obviously only works for web applications). We in MIDAS need to support also API and CLI clients of all sorts and not only web clients and thus cannot apply such simple scheme. Also there is no standard protocol or API between a PEP and the SSO server such that we could easily use a CAS for authentication itself.

Well so a, though not optimal, but still work-free and interesting day, meeting old HP-collegues etc. and finally with a very cute piano playerin in the evening.