Dreaming in data and code

Conceptual image of dreaming in data and code

A few inconvenient laws of physics aside, if we can imagine something, then we can probably build it as software. This site is where I (Dave) write about interesting things in the world of software development - dreams in data and code.

Can my tools build tools? Pre-rendering web pages with help from ChatGPT

Published: 2024-07-15

We're all trying to work out the implications of generative AI. We've all seen examples of it building websites and coding a version of the snake game. These seem impressive until we realize there are millions of websites and thousands of versions of snake, so it's not too surprising tools like ChatGPT can regurgitate them. After all, it's easy to replicate something that's well-understood?

How about a more interesting challenge? How well can these tools build something new? I decided to give this a try. I needed a tool to use with my blog site, davehudson.io. How well would ChatGPT be able to help?

[read more]

Understanding other people's code

Published: 2020-01-27

A few days ago I decided to move away from my old Joomla-based blog site and set up my own static web site. After some investigation I settled on using Hugo. I was impressed by some of the web sites I'd found that were using it. Also my expertise in CSS, and JavaScript were pretty limited and Hugo didn't appear to need much of either.

As I started to build the site I found myself treading a famililar path. Every example I looked at did things in different ways so it was hard to work out how to put the learnings together in a coherent way. As is the norm for busy engineers, the developers got things to work and then moved on to other things. "Documentation is boring!"

In some instances I could look at git histories and discern more of the developers' intents, but all too often I ended up with a frustrating effort to reverse engineer what they'd ended up building. It's not like this was a surprise - I've done this dozens, maybe hundreds of times. But I wish, as an industry, we could do better. I've worked with many engineers and tried to persuade them we should, so maybe I can persuade you too?

[read more]

What IoT history reveals about blockchain's challenges

Published: 2017-01-06

2009 saw Satoshi Nakamoto deploy the first Bitcoin node, and within five years its blockchain had become a large-scale industry.

Early enthusiasm for new technologies is nothing new. With most, an initial wave of excitement sees new ideas touted as solutions to a huge range of problems, the hype fades, gives way to skepticism, and ultimately, real applications.

In the late 1990s, the idea of Internet-connecting every electronic device seemed inescapable.

Every vending machine, coffee pot, toaster, refrigerator, microwave, and TV, would be cabled to the “net”, and a utopian sharing of data would improve life for everyone.

The reality for what we now term the “Internet of Things”, or IoT, was a little different.

[read more]

A market for Bitcoin transaction fees?

Published: 2016-02-03

Most participants in the ongoing Bitcoin block size debates have a point of agreement; that a shortage of block space should have an effect on transaction fees. Arguments aside, then, let's see what has actually been happening. Are fees going through the roof? Are miners going to be celebrating a potential offset to the block reward halving that looms in July 2016? The results seem a little surprising!

[read more]

Behold mighty exahash, hammer of the blocks!

Published: 2016-01-05

"Exahash" sounds like it could well have been the hammer of the Norse Gods of old as it defeated all in battle. In the Bitcoin world of early 2016, however, a mining network that achieves one exahash per second will soon become part of the new folklore. It will, as others before it, quantitatively destroy all earlier incarnations of itself.

Common wisdom that this ever-increasing hash rate makes the Bitcoin network continually stronger, but what does that strength mean? What is it stronger than? What guarantees does it offer? The answer, as so often, is perhaps less clear-cut than we might first imagine!

[read more]

Bitcoin traffic bulletin (redux)

Published: 2015-12-20

In November 2014 I wrote an article, "Bitcoin traffic bulletin?" that sought to look at what happens if the Bitcoin network started to get congested. Since then there has been considerable debate about the Bitcoin block size and there are now many proposals to increase block capacity.

[read more]

Waiting for blocks

Published: 2015-12-19

Bitcoin blocks take 10 minutes to find don't they? Well, actually no they don't. Sometimes they can be found really quickly, but other times they can take a very long time. Just to make things confusing, the gaps between blocks can change depending on whether the hashing network is stable, expanding or contracting. What if we need 6 blocks (to get 6 confirmations)?

So what should we expect? What happens during hashing growth phases, and what would happen if the network were to lose large amounts of hashing capacity?

[read more]

More blog posts

You can find older blog posts on this page: Blog