4 years developing an API

Towards the end of 2019 I started developing Sigbla. And just now, around half way through 2024, I released the first beta version. It’s a Source Available type of software, different from Open Source, but still developed in the open. But it wasn’t until towards the end of 2023 I even put it up on GitHub. In other words, a very slow process. And all just to be able to put some numbers in a table!? ...

July 21, 2024 · 5 min · Christian Felde

Raspberry Pi vs room temp

About 2 weeks ago I released my Sigbla framework for working with data in tables. As it also provides charting abilities, I now had the perfect tool to build myself a Raspberry Pi temperature dashboard. I have over the last few months been logging the temperature of my Raspberry Pi together with the room temperature (using an external sensor connected via USB). As my RPi is passively cooled, its idle temperature will depend on the room temperature. My always running, occasionally busy, passively cooled, Raspberry Pi 4 ...

December 3, 2023 · 1 min · Christian Felde

Don’t use blockchain

Rarely do you find technology with so much hype as blockchain, where the best architectural advice is to avoid using it. Or, said with less hyperbole, to correctly minimize your direct dependency on blockchain. Why is that? Imagine software where thousands of processes all need to look at and verify the same state change. And imagine too that they all need to store a copy of the same information to ensure the state change is correct. ...

August 3, 2021 · 3 min · Christian Felde

On the beauty of programming languages

Lately I’ve been slowly reading “Graffiti Kings: New York Transit Art of the 1970s” by Jack Stewart. I’m reading it because I’ve always been a fan of pop art, and as I’ve started to understand more about its context during its period, I also want to understand graffiti and street art better. For me this is personally linked to the demo- and introscene, which, as far as I’m concerned is art, and I think its context links pretty well into current digital art and scarcity which is now possible with blockchains, explored by, among others, async art and SuperRare. ...

September 3, 2020 · 3 min · Christian Felde

Blockchain: Big but small

Consider Amazon, the e-commerce bits of the company. While it might have started out as an online bookshop, it evolved into a generalized online marketplace. So what was critical in the success of Amazon? The internet would probably be a good answer to that question, among many other things. But how much of the overall software and business development efforts at Amazon do you think relate to core internet activities? Sure, it’s got a big online presence, which will require a lot of internet hardware, internet people and teams, ops, etc.. ...

May 5, 2020 · 2 min · Christian Felde

Distributed computing is less binary, more probability

Since late 2011 I’ve been working on distributed computing platforms, where software that runs across more than one machine is running as what we’d call a cluster. Now, as I focus more on blockchain and DLT, a lot of the approaches to computing are similar. A lightweight version of the challenges with working on distributed systems can be found when working on software that uses multiple threads to do concurrent computing. Things can quickly get very ugly if you do not know how to approach the challenge. ...

May 18, 2019 · 2 min · Christian Felde

Rust, is this the next big thing?

In 2010 I wrote a blog post called “Node.js, is this the next big thing?” I came to think about that again this week when I randomly watched Yevgeniy (Jim) Brikman’s video about the Play Framework at LinkedIn. Combine this with the progress of Scala.js and ClojureScript and I think we can conclude that node.js was very much an indicator of direction with simplification, unification and a return to an event driven model. All for good reasons. Look at job postings and you’ll find plenty of companies looking for the full-stack engineer. It’s difficult to be a full-stack engineer, especially a good one, if each tier in the stack is very different. It makes both economical and technical sense to have our tools reach across both server-side and client-side, while still maintaining a healthy separation of concerns with a 3-tier (or N-tier if N >= 3) system. ...

March 18, 2015 · 2 min · Christian Felde

Playing with Clojure and sampling algos

Over the last few months I’ve been learning Clojure. Best way to learn I find is to use what you learn for something you find useful or interesting. This morning, while browsing Hacker News, I found myself reading about Vitter’s reservoir sampling algorithm, with an example developed in Ruby. After spending a little bit of time thinking over the reasoning for why this algo would work as claimed, I decided to give it a quick spin in Clojure. I’ve published my experiment on GitHub if you’re interested in a different take on the algo implementation, with some Incanter inspired visual confirmation of it’s claim. ...

March 7, 2015 · 1 min · Christian Felde

Resource aware queue

For the TLDRs: This blog post presents the reasoning behing a project called ResourcePriorityBlockingQueue which is a blocking queue implementation that: Allows you to assign priority on tasks, just as with a PriorityBlockingQueue. Tasks may belong to task groups where each group may have a different priority. In that case, tasks are prioritized by group first, then task priority second. For a particular instance of a ResourcePriorityBlockingQueue you give it implementations of a ResourcePrioritizer and a ResourceAllocator, which further defines to which resources a particular task is made available. Focus as been put on making the code highly concurrent with as little synchronized code as possible. Lock free code is used where applicable, with efficient use of internal data structures. This gives ResourcePriorityBlockingQueue a performance characteristic which is comparable to that of a pure PriorityBlockingQueue when used in a similar fashion. It’s available on GitHub, so feel free to poke around. Any constructive feedback is always welcome. ...

April 7, 2013 · 9 min · Christian Felde

Node.js, is this the next big thing?

Although I did briefly notice node.js a few months back, it didn’t really catch my interest until I saw this video; Node.js: JavaScript on the Server. I’ve been developing JavaScript on the client (browser) side more or less for the last 5 years. And I didn’t enjoy it too much right away, but with libraries like jQuery, Prototype, Scriptaculous, Ext JS, GWT, etc + continued performance improvements in the JS engines this has changed. It’s now at the point that I feel a lot more productive creating “business apps” with HTML, JavaScript and CSS within a browser then I ever felt using things like Swing or the equivalent in the .NET world. ...

August 4, 2010 · 3 min · Christian Felde