programmierung

unum-cloud/USearch - that's what it says. So a library that offers an index for vectors that can come from embeddings, for example, and can find semantically similar texts. Not text-similar, but semantically, i.e., content. Interesting topic, the models required for this are related to LLMs, but not large, but small - they don't need to fully understand and generate because they only create vectors that can then be compared against each other and the higher the similarity, the higher the similarity of the texts in the topic. Cool little feature for bDS.

Ollama - a runtime environment for LLMs that allows models to be run locally. My favorite model at the moment: qwen2.5vl:7b-q4_K_M. With only 6.6 GB in size, this runs smoothly on a MacBook Air M4 and still has enough memory and capacity to run programs alongside it. The model is surprisingly usable in chat and above all has excellent vision capabilities. Ideal for providing titles, alt text, or summaries for images without having to pay big providers for it. And an important building block to bring bDS back to full-offline.

If you, like me, want an overview of UI integration for LLMs and are wondering how A2UI and MCP Apps compare and what they offer: Agent UI Standards Multiply: MCP Apps and Google’s A2UI - Richard MacManus helps. I have implemented A2UI in bDS so that the LLM can also use visual aspects in the internal chat, and I really like that. But the idea of incorporating parts of my UI into external agents is also fascinating. Even if I find that "local HTML/JS in an IFrame" somehow sounds like a hack at first, but much in the LLM environment gives me the feeling right now, simply because everything is pushed through a normal text stream and you hope that the LLMs adhere to the formats (even A2UI works like this).

cloudflare/cobweb: COBOL to WebAssembly compiler - I'll just leave this here. Let someone else clean up the old stuff. what else can you say.

Pyodide is a bit of a lifesaver for me in bDS: I must admit, I'm not really super deep into TypeScript and I actually don't feel like writing it myself. If the AI does it, that's okay, there's enough knowledge for an LLM to draw on, but I don't really want to delve deep into it myself. And Python has been one of my favorite languages for a long time. And Pyodide offers exactly that: a port of CPython to WebAssembly. It provides a pleasant language for scripts and macros that can access everything the application does and - if I ever want to - can also load Python libraries.

Drizzle ORM - was suggested by AI during the construction of bDS and has proven to be very reliable. A clean ORM for TypeScript with a quite nice API that strongly reminds me of Django. Additionally, clean mapping of migrations, which then simply allow SQL, thus enabling more complex migrations. And so far completely unobtrusive in operation. What is particularly interesting: there is a direct translation to GraphQL, so that the objects can also be exposed to an API, which I think I should take a look at (or rather, I should complain to the AI that it should take a look at it). I am always a fan of flexible standard integrations to connect external tools.

A2UI is an interesting project for a streaming-oriented protocol for applications with LLM integration. The basic idea is streaming JSON snippets from which the UI is then incrementally built, and the LLM controls what goes into the UI. It allows the LLM to produce more than just simple textual descriptions or basic ASCII graphics and also gives LLM queries a different look. The whole thing comes from Google and is maintained on an open github project. In bDS, I have also integrated it, and it's quite something when you can get a heatmap of the distribution of your blog posts across the months.

OpenCode | The Open-Source AI Coding Agent - an open-source coding agent that could soon outperform Claude Code. Very good in execution and above all provider-agnostic. You can attach any model, even one self-hosted with LM Studio or ollama. If you just want to play around, you can simply download it and get started, even without providing a credit card (then of course with limited tokens, but quite usable for initial experiments. And independent of the major providers (ok, except for their models if you want to use them - and for serious coding, those are unfortunately still necessary). OpenCode also offers its own AI models, which are then billed, but a few models are always freely available and thus offer quite serious experimentation without investment.

Steve Yegge on Vibe Coding

Steve Yegge talks in the interview about the future of programming and the challenges of vibe coding. The author shares his experiences and sees a upheaval comparable to the introduction of high-level languages.

Big Damn Stupid - no, Blogging Desktop Server. Currently my favorite project where I play around with Vibe-Coding and build software with which I can run the blog. But this time with the clear perspective that I won't succumb to bit rot or the complexity spiral again. Simple software with a usable interface for maintaining blog posts, but storage as Markdown files with YAML front matter to be easily stable for the future. Then with sqlite for caching and full-text search and other comfort features and git for synchronizing the blog data, and git-lfs for the images. Feels quite usable right now.

zeromq/netmq: A 100% native C# implementation of ZeroMQ for .NET was completely unknown to me (the C# version, not ZeroMQ), but it is a really exciting project for .NET enthusiasts. Directly in .NET without external libraries or even servers, you can build various 1:1, 1:N, N:1, N:M communication structures with diverse behaviors (Pub/Sub, Broadcast, Req/Resp, Fifo - basically everything that ZeroMQ can do). It makes a very good impression (ok, no surprise, it is after all an implementation of the original ZeroMQ in C#, and ZeroMQ was absolutely brilliant for its purposes). And of course, it is interoperable with the original ZeroMQ.

Holy Smokes, Per6 is officially out!

Quelle: The Night Larry Wall Unveiled Perl 6 | 10 Zen Monkeys

Long time no programming language links: Haskell for Mac is an interactive programming environment for Haskell on the Mac (as the name suggests). Interesting, as it offers a kind of notebook interface with which you can interactively develop code, try it out directly and visualize the results. Quite interesting for playing around with Haskell, but I don't know if it's worth 25 dollars - especially the sandboxing enforced by Apple can quickly become annoying. And since it requires Yosemite, I won't be able to try it out anyway.

Why Go’s design is a disservice to intelligent programmers | Nomad Software. Some of the points addressed there also irritate me a bit about Go. By now, I have the feeling of being strongly reminded of Niklaus Wirth (keyword: Oberon). Yes, you can certainly design simple languages, but dumbing down is not the right approach for that. As much as some of the concepts for asynchrony in Go excite me, the base language irritates me.

xslt workbench. Please don't ask why I need something like this. The pain is already great enough.

sharplispers/cormanlisp. Haven't lisped in a long time. Corman Lisp - one of the coolest implementations of Common Lisp on Windows at the time - is now open source and on GitHub. However, it probably still needs a lot of work before it runs smoothly on modern Windows versions. But the first step has been taken with the source release.

Micro Python - Python for microcontrollers. Oh man, so many boards to try out, so little time. Sounds really nice, a Python implementation specifically designed for embedded systems with AOT compilation and such low hardware requirements is quite an exciting thing.

click - Just stumbled upon this, this finally looks like a real time saver - many other libraries for command line integration were so cumbersome that I couldn't see many advantages over the standard library provided stuff. But this already seems quite compact.

.NET Compiler Platform "Roslyn" - Documentation. C# and VB.Net Compiler. Directly from Microsoft. In C#. And Basic. Under Apache 2.0 License. So honestly? I think it's great.

2.0 Series — IPython 2.0.0 documentation. Very cool. This is slowly getting closer to the surface of Mathematica. Unfortunately, the strong focus on the browser - I can understand why, but I'm not really enthusiastic about it. I would prefer it to be a more integrated solution in the normal GUI. HTML as a rendering engine is fine, but the browser as a user interface is still quite clunky compared to an optimized native environment. But still, really cool what's happening here.

Microsoft opens .NET source code. Ok, it would have been even better if it had been an open source license right away (and with GPL they could have even protected themselves), but hey, this variant is not uncool either - co-licensing of patents for the reference sources is already a good move. And Mono has gained a bit more security.

The Julia Language. Had I already mentioned that? Doesn't matter, it's worth repeating, especially since there's now also a small compact IDE for Julia.

kachayev/fn.py · GitHub. Various small tools to program more functionally in Python. Interesting for me mainly the persistent data structures, I have come to appreciate these with Clojure.

TeleHash / JSON + UDP + DHT = Freedom. Discovered via git-annex: a distributed messaging technique with interesting properties. Strongly P2P-oriented, strongly focused on encryption, and designed from the outset as middleware rather than primarily as a human-to-human protocol like XMPP. Definitely worth watching what comes out of this.

Self Mallard 4.5.0 released | Self. It's still alive. It's still one of the coolest systems to emerge from Smalltalk - very exotic, very different. From some aspects, systems can still learn today - the implementation of prototypical inheritance in the graphical development environment is really cool and still looks modern even today. The GUI framework itself has already found its way into Squeak some time ago, but outside the Squeak+Self world, hardly anyone knows it. Which is a shame. And the compiler is still one of the better ones in the field of bytecode languages. Especially when you compare how JavaScript presents itself today and what Self has been able to do for ages, you can get quite sad.

Hands on Sailfish OS: Intelligent building kit for tinkering and porting - Golem.de. Hmm - not really as open as one might have hoped, but more open than one might have feared. Sounds like a good hacking basis for tinkering projects anyway. Especially the combination of a "real" Linux and an Android environment for apps is pretty cool because it avoids technical isolation.

Google Apps Script — Google Developers. Interesting - JavaScript scripting for Google Apps like GMail or GDocs and so. Doesn't look so uncool and now also has an Eclipse plugin to be able to edit the scripts offline.

Scala Implicits - Not to be feared. Nice slide deck explaining what Scala Implicits are used for and why they make sense. Since Implicits are a feature that is often misunderstood outside the Scala community, it might be well worth taking a look.

lihaoyi/macropy. From my old Lisp days, I'm still a fan of macros - simply because configurable programming languages allow for a significantly higher level of description. Okay, this often comes at the expense of understandability, because a reader not only has to know the language and the libraries, but now also the macros. Nevertheless, for some purposes I still find macros very practical. Whether I would want to integrate them into Python, as this project does, I'm not sure yet - but the approach via the AST is at least interesting.

Zim - a desktop wiki. Since I'm working with Windows again, maybe it's time to either port my own desktop wiki again (sounds like work) or use another one that offers similar features. Zim looks quite good and is quite portable on the desktop - but I would probably have to adapt my Android app. Hmm. Sounds like work too ...

FriCAS - an advanced CAS. I've lost track of it a bit - FriCAS is formerly Axiom, a quite extensive mathematics package like Mathematica, written in Common Lisp. Available for various systems, somewhat rough in the interface (just a command line), but very powerful. And somewhat more modern than perhaps Maxima (whereas for Maxima there are GUI options, I have no idea what FriCAS has to offer). Like every decent open source project, it is of course only a fork of a fork - under Open Axiom there is another project and under Axiom the original code is continued. Although for me, since Sage (and actually even much more since Anaconda and IPython Notebooks), all of this has become less relevant - in general, my requirements are at a much lower level and are already covered by the libraries available via IPython and Python. Of course, Mathematica and similar are still interesting - but the motivation to start the packages and to enter the rather different syntax world is rather low. Python has long since achieved the good-enough status.

Python Data Analysis Library — pandas: Python Data Analysis Library. Hmm, I must have heard of this before, but I just noticed that it's included in Anaconda. And therefore, I should really look into it soon, as there are some data deserts that I could explore with it.

wiki.dbpedia.org : About. Also interesting - here Wikipedia is searched and evaluated for structured information. So, in a way, a Wikipedia for machines is created from the Wikipedia for humans. The whole thing is then pre-packaged with a query language and a suitable web service.

Quepy: A Python framework to transform natural language questions to queries.. Cool - you can feed English questions into it and the system forms a structured query from them and then provides answers from Freebase or DBPedia. Quepy is the part that formulates the query from the natural language. So to speak, something like Wolfram Alpha if you only look at the knowledge queries.

Tweak Mode for Processing. This makes the sketch interactive while it is running - in one window the code runs with output, in the other window is the code. Drag with the mouse on numerical constants and the values change up or down and the output updates automatically accordingly. Nice idea.

You are Missing the Point of Promises. A bit old, but an interesting overview of what promises are and what they should be, how they lead out of the hell of callbacks and what the rather theoretical model behind it all has to offer. And where you can find it in JavaScript libraries and in which libraries it is rather neglected.

part-cw/lambdanative. Interesting - a cross-platform programming environment targeting Android, iOS, OSX, Linux, Windows, and BSD. Based on Gambit-C, a pretty good (and already quite long available, so also "mature") Scheme compiler.

"3 windows builds have been performed on win95. There is an as yet unidentified runtime error running the 2.6.9 images on win7. More information here will be forthcoming shortly." - [[[Gcl-devel]] GCL 2.6.8 and 2.6.9 are released](http://lists.gnu.org/archive/html/gcl-devel/2013-08/msg00011.html). Apart from the fact that I thought it was already long dead (a "few" years have passed since the release), it's funny that someone still makes builds for Windows under Windows 95 today ...

Anaconda. Hmm, had I already? No idea. It is a Python installation that comes with a stack of scientific modules (NumPy, Matplotlib, PyLab and the like) and also delivers a number of useful modules. Plus IPython with the usual tools - so notebooks and QTConsole - and a command line tool for package management. The nice thing: the installation goes into its own path, so it does not necessarily affect another Python installation.

Meet RegExpBuilder: Verbal Expressions rich, older cousin - The Changelog. I'm an old Snobol and Icon fan - and one of the features of both languages was the quite readable sublanguage for text patterns. What is usually done today with then rather compact to cryptic regular expressions. So I'm happy to come across a project that compiles the much more readable expression forms as usual in Icon into regular expressions. Ok, the goal-oriented execution in Snobol and Icon and the inherent backtracking is of course missing, so it's only syntactic. Still nice.

PyPy.js Update: A Proof-of-Concept JIT. Braintwister. Python using PyPy on JavaScript via asm.js. With active JIT.

How To Create Your Own Chrome Extensions. I should read this more closely. I would already like to add one thing or another to Chrome.

Here's what I found worth reading this week, collected and uncommented:

heuermh/leap-motion-processing. Very interesting, because I can play with my LeapMotion controller using Processing - the overhead to get something done is much lower than going for native programs. Additionally, it is cross-platform.

mrzl/LeapMotionP5. And another Processing library for Leap Motion. This one seems to be more complete, with gestures and such. Worth checking out.

Here's what I found worth reading this week, collected and uncommented:

What I consider worth reading during the week and did not want to link separately, collected here and uncommented.

washort/parsley. Had I mentioned this before? Doesn't matter. A PEG implementation in Python. Builds parsers for languages based on quite readable language descriptions (similar to the good old BNF).

lihaoyi/macropy · GitHub. I've been a fan of syntactic macros since my Lisp days. Sure, metaprogramming in Python takes you a step forward, but real macros are just something special. So I should definitely check this out.

Getting Started with Android Studio | Android Developers. Oh, Google sees the light and offers an alternative to Eclipse as an IDE for Android programming. And then IntelliJ of all things, which I already work with. Nice!