Category Archives: General

GPL compliance and permissive training data theory

This is the second post within a new series that I might start one day, about how companies abuse common misunderstanding of the GNU General Public License (GPL) to sell their stuff. Today, a slightly scary example. Scary, as it is so off the point.

The company Exafunction, Inc. claims that with their product “Codeium” they can provide intelligent programming assistance, based on a large language model (LLM). Just like Copilot of GitHub, Inc. and even better as they do not infringe any license and specifically not the GPL. Their writeup “GitHub Copilot Emits GPL. Codeium Does Not.” provides an adventurous interpretation about the GPL: You need consent to use it in a commercial context. Moreover training your model on purely permissive-licensed code will free you of any legal trouble.

Things are slightly different. Strange that nobody told them in their “… early conversations with the open source community”.

The GPL does not restrict commercial use. It does not even refer to it at all. You are fine in any fields of endeavour as long as you respect and fulfil its obligations.

The main problem with generative AI and the current ML-based programming assistants is that you cannot trace verbatim copies of code to its origin. Due to that you cannot fulfil the most essential obligation of any Free and Open Source Software license: attribution. Calling out the original authors.

It does not help if you train your model with just permissive-licensed code. You will infringe the underlying licensing terms if you do not provide any reference to the original authors and license(s). No matter if it is a permissive or copyleft license. Either way you will not have a valid legal base, speak license, to re-use the original work and it is as bad as any copyright violation with all of its consequences.

For more details or before starting the marketing campaign of your new programming assistant, it could be worth to take a closer look, for example at the ongoing GitHub Copilot litigation and its underlying motivation.

So long, Twitter

It must have been somewhen 2009 that I had my first account with Twitter, Inc. I was not really sure what to do about it. How can you have a serious conversation or share useful information when you are limited to just 140 characters? Somehow this service still felt relevant.

Over the years, it became increasingly valuable. It enabled me to follow amazing people, to read enriching discussions, and to benefit a lot from the shared knowledge, opinions, and all the useful pointers to stunning resources on the Internet. Not only for me personally, but also on a professional level. At some point in time, I came to the conclusion to close all other social media handles – namely orkut, StudiVZ, Facebook, LinkedIn, Xing – as compared to Twitter, the output was close to zero and I wanted to focus on what became helpful to me.

Yet, my own contribution to the dialogue remained little. I tweeted about new additions to my online presences, took part in a few conversations, and mostly re-tweeted quite some stuff that I either considered worth getting the required attention or which I just appreciated to being pointed at.

All the time I did not feel that comfortable of the fact that I am the actual product, as its service remained free of charge. Is a “Like” already way too personal, so they’d be able to precisely profile me?

I highly value everything that the Twitter staff has done to make the platform the way it came to be … was.

Now is time to move on. The Fediverse is in every dimension much more close to what I was originally looking for. And I have found my way to get there.

So long, Twitter – Inc. and its community … thanks for the amazing ride, you definitely made history!

Apple Support Experience

Bis vor kurzem hätte ich die Firma, aber speziell die Hardware aus Cupertino nahezu uneingeschränkt empfohlen. Ist zwar ein goldener Käfig, macht aber das was es soll, recht zuverlässig und das langanhaltend. Hat man doch mal Hilfe gebraucht, wurde geholfen und die Qualität war ok.

Meine Apple Watch Series 5 hatte ich nun 3 Jahre. Das schicke und stabile Modell aus Edelstahl für knapp 800 EUR Neupreis. War oft damit schwimmen, bisher nur in Süß- bzw. Chlorwasser. Im Urlaub ging es nun das erste Mal ins Salzwasser. Natürlich erst nach Prüfung der Eignung. Meerwasser kein Problem und wie bekannt, kein Springen, Tauchen oder sonstige Aktivitäten, die einen zu hohen Druck erzeugen könnten. Noch am gleichen Tag des Meerkontaktes stellt die Smart-Watch mit einem grell-weißen und abschließend roten Leuchten ihren Dienst ein. Komplett. Kein Zurücksetzen möglich. Ein Laden überhitzte die Uhr, ohne jegliche Reaktion. Auch nach Tagen.

Zum Glück gibt es ja den Apple Support. Ein kurzer Blick auf die Homepage förderte als einzige Option außerhalb der gesetzlichen Gewährleistungspflicht einen pauschale “Gebühr für Serviceleistungen außerhalb der Garantie” von 430,90 EUR zu Tage. Eindeutig zu viel. Sportuhren mit sehr ähnlicher Funktionalität und einer garantieren Wasserbeständigkeit ohne wenn und aber von bis zu 50 Metern kosten neu deutlich weniger. Gebrauchte Modelle des gleichen Apple Watch Modells erhält man im Kleinanzeigenmarkt für um die 200 EUR.

Continue reading Apple Support Experience

HowTo: Remote Working

I guess we all have meanwhile learned more or less successful how to work from home (or the beach). The all-remote company GitLab Inc. has an helpful and extensive guide on how they are implementing this within their global organization – without a single office. It was inspiring to me especially during the first lockdown of the pandemic, although I thought I had already gained quite some experience during 1.5 yrs working remotely. The subsequent recommendations probably contain also advice originated from GitLab, but are enriched with my personal flavor and learnings. I hope it is useful and shall at least serve as a reminder to myself. I fear there are still some months left to professionalize this even further …

  • Intentionally start and end your work day. For example by a specific ritual, e.g. start with a morning walk, shower, … and end at least by closing your work related applications and their connections when you are done. Otherwise private and work life might mix too much and there won’t be any time for recreation and clearing your mind.
  • “Never assume the motives of others are, to them, less noble than yours are to you.” [according to J.P. Barlow] Not only a helpful advice in remote work, but especially in an isolated environment like home, certain inquiries by your colleagues might appear out of context. If the other person then even catches you in the wrong moment or mood, to have an open, impartial, and collaborative conversation will be a challenge, at least for yourself. Assume that their personal motivation for approaching you is by default meant well and make sure to appreciate it.
  • Do not demonize doing private stuff for and within breaks. While working from home you will most probably be more focused and accordingly exhaust more quickly. Taking a break for doing something completely different like sports, laundry, or just going to the grocery store might at first glance appear improperly. In the end it will spur your creativity and with a refreshed mind you will be more efficient within the same timeframe than forcing you to continue working just for the sake of being on duty.
  • Optimize for asynchronous communication. The frequency of conference (“sync”) calls naturally increases in a remote setting, schedules will overlap, and participants might not always be that focused as they are during in-person meetings. Allow others to follow up offline, at a later point in time, and help to continue where you last left off so that everyones valuable time is invested well. In addition you might want to record important conversations and at least keep detailed minutes that assist to easily catch up. Moreover prefer group conversations over direct messages, as there are always others for whom this is or will become relevant as well.
  • Accept external disturbances during meetings. It is just inevitable to be interrupted in your home environment. Kids, the postman ringing, or unstable infrastructure. Appreciate such unintended breaks, do the best out of it, welcome the young generation or resort the discussion as you anyhow cannot change it. And hey, those interruptions are not that much different to a beamer suddenly breaking down or colleagues bursting into a double-booked conference room?
  • Plan your week and set your priorities pro-actively. Otherwise your work stream will be dictated by allegedly “urgent” concerns popping in and by natural distractions due to your home environment. Better define beforehand what is really important for you to work on. It will be much more easier to resume after uncontrolled interruptions and you always have an overview of where you currently are and what needs to be done next.
  • Electronic mail and communication platforms like Teams, Slack, etc. are asynchronous communication channels. This might come as surprise for some. Do neither feel obliged to immediately reply nor expect a prompt reply. If there is urgency, a direct call is still well suited for instant follow-up and without wasting time by interpreting probably ambiguous text-based chats. In case of conflict, clarify your “service-level agreement” and how to reach you best in case of emergency.
  • Prefer video calls over voice calls. If infrastructure allows, switch on your camera. It will still bring you much closer to your colleagues and add an additional sense for improved interpersonal communication.
  • Fight screen fatigue. Do everything you can to not make you or your counterparts stare on the screen all day long. E.g. when you need to do something creative, better choose pen and paper. While doing a break, do not read the mails or news again on your screen. Better take a walk, enjoy some fresh air, and wide angle view. When you give a training/workshop/lesson, frequently enable participants to turn away from the conference session to do some self-responsible tasks. In general reduce frequency and duration of meetings to a minimum.

In case you want to look from a statistical perspective on home office, Atlasssian Inc. has analyzed the first months after people started to work primarily from home. The company is offering popular workflow solutions that are mainly used within software development, e.g. ever heard of Jira? Their study is a useful sample of remote work from within the software industry. Surprisingly employees still kept working although they are not at the office any longer. The author is even slightly worried of our work-life balance: “Proof our work-life balance is in danger (but there’s still hope)” by Arik Friedman.

Apollo in Sync

The Apollo space flight program is long history, even the 50th anniversary of Apollo 11 was already celebrated more than a year ago. Todays headlines in spaceflight are either written by a psychologically conspicuous president building a Space Force or a pot smoking business magnate launching electric cars in space and polluting the night sky (and earth orbit) with his up to 42,000 Internet satellites.

In contrast Ben Feist (Homepage | Twitter) has done phenomenal work in reviving the Apollo fever. Or how else can you call it when you are able to replay some of the original missions in real time – second by second from start to end – whilst having the ability to switch interactively between all mission control audio channels, public commentaries, and various video streams. In addition the multimedia content has been enriched with photographs, transcripts, and many more details. All available sources have been carefully restored, synchronized, and packed into an intuitive and original user interface.

Its seems that all of this fabulous work has taken years. Ben Feist’s first blog post describing the idea is of 2012. The first public release was announced three years later, adding additional features in 2016. Oh and that was only about Apollo 17, not to mention Apollo 11 and Apollo 13. In the end it seems to have brought him a job with NASA and collaborators like Stephen Slater, David Charney, Chris Bennett, Arnfinn Holderer, and Robin Wheeler.

Reading the statistics of the included real-time elements for e.g. Apollo 11 is just stunning: All mission control film footage, all TV transmissions and onboard film footage, 2,000 photographs, 11,000 hours of Mission Control audio, 240 hours of space-to-ground audio, all onboard recorder audio, 15,000 searchable utterances, …

Pro tip: Make sure that you do not have any further plans for the day, before you click on

Aquanaute extraordinaire

Wer kennt nicht Jacques-Yves Cousteau und zumindest einen seiner legendären Film wie “Die schweigende Welt”? Der tauchende Biologe und Naturphotograph Laurent Ballesta, Jahrgang 1974 aus Montpellier, war mir dagegen bisher unbekannt. Vor einiger Zeit hatte ich bereits, aber unbewusst, einen Film von ihm gesehen, der mich bleibend fasziniert hat: “Antarktis – Die Reise der Pinguine”. Seine weiteren Expeditionen in die Unterwasserwelt stehen diesem Werk in nichts nach und es würde schwer fallen, sich für eines als das Beste zu entscheiden. Allesamt zeigen atemberaubende Bilder, schildern fesselnde Erlebnisse und liefern detaillierte Einblicke in die besuchten Lebensräume und Ökosysteme. Am Ende jeden Abenteuers hat man das Gefühl, als müsste man selbst erst den ein oder anderen Deko-Stopp einlegen, um überhaupt wieder in die reale Welt zurück zu finden. Mit anderen Worten – nicht nur in der aktuellen Zeit – Prädikat besonders wertvoll und schwerstens zu empfehlen!

Zur Zeit hat ARTE in der Sendereihe “Die Tiefen der Ozeane” einige Filme von bzw. mit Laurent Ballesta im Angebot, die bis zu ihrer Depublikation nachfolgend verlinkt sind:

aus “Planète Méditerranée” (c) Laurent Ballesta

See also:

Schwedischer AVL-Baum

Textuelle Beschreibungen von Algorithmen sind berüchtigt dafür, eher trocken und schwer verständlich zu sein. Aufbauanleitungen eines schwedischen Möbelhauses erfreuen dagegen – zumeist – durch wortlose und illustrative Benutzerführung. Warum also nicht auch mal eine Verfahrensanweisung in dieser intuitiven Form aufbereiten?

Das haben sich zwei Informatiker der TU Braunschweig gedacht und dies gleich mal für die gängigsten Berechnungsvorschriften in die Tat umgesetzt. Zum Beispiel der AVL-Baum:

“Bälänce Tree” von Sándor P. Fekete und Sebastian Morr (CC by-nc-sa 4.0)

Weitere Anleitungen und Details: