I think by now everybody reading this will have seen how the new generation of Large Language Models like ChatGPT are able to produce somewhat useful code. Like any advance in software development—from IDEs to high-level languages—this has generated some discussion on the future employment prospects in our field.
The 35th Chaos Communication Congress is now over, and it is time to write about how we built the software side of the c-base assembly there.
Fine particulate matter is a serious issue in many cities around the world. In Europe, it is estimated to cause 400.000 premature deaths per year. European Union has published standards on the matter, and warned several countries that haven’t been able to reach the safe limits.
Version 1.1 of NoFlo shipped this week with a new convenient way to write components. With the noflo.asComponent helper you can turn any JavaScript function into a well-behaved NoFlo component with minimal boilerplate.
When building IoT systems, it is often useful to have access to data from the outside world to amend the information your sensors give you. For example, indoor temperature and energy usage measurements will be a lot more useful if there is information on the outside weather to correlate with.
After six years of work, and bunch of different projects done with NoFlo, we’re finally ready for the big 1.0. The two primary pull requests for the 1.0.0 cycle landed today, and so it is time to talk about how to prepare for it.
One important aspect of any Internet of Things setup is being able to collect and visualize data for analysis. Seeing trends in sensor readings over time can be useful for identifying problems, and for coming up with new ways to use the data.
Last weekend we held the c-base IoT hack weekend, focused on the Flowhub IoT platform. This was continuation from the workshop we organized at the Bitraf makerspace a week earlier. Same tools and technologies, but slightly different focus areas.
I just got back to Berlin from the Bitraf IoT hackathon we organized in Oslo, Norway. This hackathon was the first of two IoT workshops around MsgFlo and Flowhub IoT. The second will be held at c-base in Berlin this coming weekend.
Last week I participated in two hackathons, events where a group of strangers would form a team for two or three days and build a product prototype. In the end all teams pitch their prototypes, and the best ones would be given some prizes.
This July we’re organizing two hack weekends around MsgFlo and Flowhub:
Quite a bit of time has passed since my two years of NoFlo post, and it is time to take another look at the state of the NoFlo ecosystem. To start with the basics, NoFlo is a JavaScript implementation of Flow-Based Programming:
In Flowhub you can create and edit full flow-based programming projects. The live mode enables introspecting running FBP systems. This weekend we rolled out Flowhub 0.19 which makes it easy to move between these modes.
Microservices — an architectural pattern we recommended in our 2012 International PHP Conference keynote — is pretty popular these days. There are many benefits to consider:
As I’m preparing for a NoFlo talk in Bulgaria Web Summit next week, I went through some older videos of my conference talks. Sadly a lot of the older ones are not online, but the ones I found I compiled in playlists:
Flowhub — the product made possible by our successful NoFlo Kickstarter — has now its own company dedicated to supporting and improving the visual programming environment.
I’ve been attending the Bosch Connected Experience IoT hackathon this week at Station Berlin. Bosch brought a lot of different devices to the event, all connected to send telemetry to Eclipse Hono. To make them more discoverable, and enable rapid prototyping I decided to expose them all to Flowhub via the MsgFlo distributed FBP runtime.
It has always been easy to wrap existing JavaScript code into NoFlo graphs — just write a component that exposes its functionality via some ports.
After several months of work, NoFlo 0.8 is finally out as a stable release. This release is important in that it brings the Process API for NoFlo components to general availability, paving way for the 1.x series.
I was looking at some of the Stack Overflow noflo questions yesterday, and there were a few related to building NoFlo for the browser. This made me realize we haven’t really talked about the major change we made to browser builds recently: webpack.
This post talks about some useful patterns for dataflow architecture in NoFlo web applications. We’re using these concepts to build Flowhub, the flow-based programming IDE.
It has been a while that I’ve written about flow-based programming — but now that I’m putting most of my time to Flowhub things are moving really quickly.
As mentioned last year, I’m working on a Artificial Intelligence that can do web design. It is called The Grid. Last week I gave a talk at Lift Conference explaining how it all works.
It is now a year since our NoFlo Development Environment Kickstarter got funded. Since then our team together with several open source contributors has been busy building the best possible user interface for Flow-Based Programming.
Today I’m happy to announce the public beta of the Flowhub interface for Flow-Based Programming. This is the latest step in the adventure that started with some UI sketching early last year, went through our successful Kickstarter — and now — thanks to our 1 205 backers, it is available to the public.
I’ve spent the last three days in the GNOME Developer Experience hackfest working on the NoFlo runtime for GNOME with Lionel Landwerlin.
The c-base space station — a culture carbonite and a hackerspace — is the focal point of Berlin’s thriving tech scene. It is also the place where many of the city’s Ingress agents converge after an evening of hectic raiding or farming.
The idea of Full-Stack Development is quite popular at the moment — building things that run both the browser and the server side of web development, usually utilizing similar languages and frameworks.
We just opened the Flowhub website for pre-orders. Flowhub is the collaborative development environment for NoFlo and other flow-based programming systems.
As the readers of this blog know, I’ve been working on a Flow-Based Programming implementation for JavaScript in the form of the NoFlo project. The idea of FBP in nutshell is to separate the control flow of software from the actual implementation. Developers build reusable “black box” components that are then connected with each other through a graph that you...
Wow, September was a busy month. As you probably know, our NoFlo Development Environment Kickstarter succeeded with 115% funding. Thanks everybody!
The Parrot AR.Drone is quite a lot of fun, and also quite hackable. We recently got one, and the first thing to do was to connect the excellent Node.js ar-drone module with the NoFlo flow-based programming framework.
J. Paul Morrison invented Flow-Based Programming while at IBM in 1969.
August was a big month for NoFlo. We launched the Kickstarter campaign, which went from 0 to 90% inside the month. The Kickstarter has brought quite a lot of attention to Flow-Based Programming, including lots of interesting new NoFlo contributions. There has also been quite a lot of media coverage, and I thought to collect these into one place. To...
Jekyll is a delightful piece of software. A Ruby application that turns your Markdown and HTML files to a nicely constructed static website. Since the generated site is static, you can deploy and serve it from anywhere with no security or performance concerns. As a matter of fact, this site is built with Jekyll.
It has been interesting to watch the reactions to Bret Victor’s The Future of Programming and our NoFlo Kickstarter. While much of it has been supportive, there seems to be a largish group of people that are offended by these notions. How dare we suggest that software could be made in other ways than textually?
I will be giving a talk on NoFlo tonight at 9pm at the c-base hackerspace in Berlin. If you’re interested in flow-based programming, feel free to join!
Here is a video interview of me talking about the origins of NoFlo, the flow-based programming environment for JavaScript:
This has been a big week for NoFlo, the flow-based programming environment for JavaScript. Yesterday we released NoFlo 0.4, which added support for running flow-based programs in web browsers. And today we launched our NoFlo Development Environment effort on Kickstarter. Before continuing, make sure to watch the video!
NoFlo — the flow-based programming system I started — is now two years old. I pushed the first commits to GitHub on June 5th 2011 from Hacker Dojo in Mountain View. To get us started with the story, I’ll let Wikipedia summarize:
I’m currently in the process of porting the NoFlo Flow-Based Programming environment to run also in the browser. While there are some obvious differences in things like filesystem interaction and component loading, the goal here is to reuse as much of the same code as possible between these two platforms.
As readers of this blog already know, I’ve been working on the NoFlo flow-based programming environment for JavaScript. Lately the development effort has received a large boost from both the EU-funded SmarcoS Project and client work, and so the question of a flow design UI has become even more urgent.
NoFlo is an implementation of the Flow-Based Programming model for Node.js. Today I’ve released version 0.2.0 which provides a handy new feature: the ability to share components via NPM.
My presentation from the Boston JS.Everywhere conference.
Learn about NoFlo and flow-based programming in JS.everywhere conference. October 15th in Boston.
The purpose of business analytics is to find data from the company’s information systems that can be used to support decision making. What customers buy most? What do they do before a buying decision? What are the signs that a customer may be leaving?
There is now a domain-specific language for designing control flows:
Node.js powered web server, written with the NoFlo flow-based programming tool and visualized with jsPlumb. Performance isn’t bad, either:
As usual, Desktop Summit 2011 has been a lot of fun. I’ve been to most of the GUADEC and aKademy free desktop events in the past few years, but this was the first time I didn’t give a talk. Even that way, it was definitely worth spending a week in Berlin.
Like many, I'm currently in Berlin for Desktop Summit, the combined conference of the GNOME and KDE communities. It is a lot of fun to see all the familiar faces, and talk about the different projects going on! Now, one of the things I've talked about with people is NoFlo, my new tool that brings Flow-Based Programming to Node.js. What...
Quite a different way of doing software: