HNHacker News
TopNewBestAskShowJobs

paulbjensen

848 karma · joined October 26, 2010

http://paulbjensen.com
submissionscomments
paulbjensen··on Microformats – building blocks for data-rich web pages
I remember this from way back in the 00's as part of the Web 2.0/semantic web era. I was a big fan of Dan Cederholm's design work (https://simplebits.com - he did the design for the site).

I do like the principle of trying to use semantic html, but I don't think that things like this ever got the kind of mass adoption that would give them staying power. Still a nice nostalgia trip to see it here.

paulbjensen··on Critique of DHH's post "As I remember London"
It wasn't aimed at DHH.

In the post I mentioned that there are people in the UK painting the St George cross on roundabouts, and some like the protester who was interviewed in one of the links talking about having the UK be for "white people".

paulbjensen··on Critique of DHH's post "As I remember London"
Blog post author here, and I’ll respond here.

I added the context of the British Empire and the Commonwealth to point at the fact that these historical activities have transformed the UK over a period of time.

These timing of British Empire runs on for a while, but around the time when it ended post-WW2, that is when citizens of the British commonwealth countries (an institution that exists as a result of the British Empire) were invited to come and help rebuild the UK.

A couple of generations later, and London becomes one of the most diverse cities in the world.

So that is the context in which I meant the phrase “because of all this”. It’s playing out over a long time as a casual link, not all things happening at the same time.

On the 2nd question of why it is impossible for England to say no to immigration now rather than the preceding 200 years. I would offer these points.

1 - Technically, we have always had immigration. It’s a question of how much did it matter to the people at the time?

I would argue that perhaps we aren’t as familiar with British history in the 1700s as we ought to be. For example, I had no idea until a few years ago that the first Black person to vote in the UK was a person named Ignatius Sancho: https://en.wikipedia.org/wiki/Ignatius_Sancho - https://www.boughtonhouse.co.uk/sancho/

A slavery abolitionist and a composer who lived in London. Who knew?

Secondly, the reason why I think immigration is such a hot topic in the UK’s public sphere is because:

1 - The tabloid press have dedicated so much time and attention to it - https://migrationobservatory.ox.ac.uk/press/migrants-in-the-...

2 - Multiple politicians have used it to position it as a problem that they are uniquely positioned to solve (Michael Howard under the Conservatives during the 2005 Election Campaign, Nigel Farage in the 2015 UKIP election campaign).

3 - It was promoted as a problematic issue during the EU Referendum - flyers were distributed suggesting that Turkey was about to join the EU, and that 80m Turkish citizens would have the right under freedom of movement to move to the UK. It wasn’t true but the flyers were distributed anyway: https://blogs.lse.ac.uk/politicsandpolicy/unfounded-claim-tu...

So over time, the UK’s public opinion has been shaped and steered in the direction of treating immigration in a negative context.

paulbjensen··on Ruby Central's Attack on RubyGems [pdf]
You're welcome.

Unfortunately not - the page is a html export from a markdown editor (Typora), not a blog engine.

paulbjensen··on Ruby Central's Attack on RubyGems [pdf]
I used to work at a Ruby on Rails shop many years ago (New Bamboo, now part of ThoughtBot) which is in London.

I got pointed to the blog post, and it was such a strikingly-bad hot take that I had to write a response: http://paulbjensen.co.uk/2025/09/17/on-dhhs-as-i-remember-lo...

In my opinion, initially I thought "Oh David's been sucked into some kind of social media bubble (on X) or disinformation space", but then as I read the post, down to the bit where he started talking about "demographic replacement", I came to the view that this is who he is a person.

It's shocking and disappointing.

paulbjensen··on Defeating Nondeterminism in LLM Inference
It reminded me of this wonderful talk by the late Joe Armstrong (Erlang's creator): https://www.youtube.com/watch?v=lKXe3HUG2l4

Great post.

paulbjensen··on Alterego: Thought to Text
I wonder if they've considered testing it with people who have locked-in syndrome or Motor-Neurone disease. It could be an amazing tool for them.
paulbjensen··on Google has eliminated 35% of managers overseeing small teams in past year
Having worked in organisations of various sizes, my observation is that the network effects issue rings true, and large companies feel horrendously bureaucratic.

I had one Engineering Manager joke that his year at Volvo Cars had been one long meeting. Even the then-CEO at the time complained about the number of meetings the company held.

I also remember a tale from a colleague in a startup that had come from a much bigger company talking about how colleagues in India were asking for promotions or pay raises every year. Why? It turned out the colleagues in India had strong expectations from their parents to consistently be progressing in their career, hence they had to show progress in the form of being promoted or having increased salary.

What did the company do? They started creating job titles to essentially create the impression of being promoted without much changing in terms of the day to day job.

It seems like a kind of inflationary effect on organisation structures, where you solve one issue but potentially create other issues, namely bureaucracy.

paulbjensen··on LibreOffice slams Microsoft for locking in Office users w/ complex file formats
I wonder if this tool by MSFT is able to handle that:

https://github.com/microsoft/markitdown

I was amazed when I realised that Word docs were just zip files and you could poke around in the xml files embedded inside of them.

I almost implemented a working React -> Word document renderer back in 2017, but it didn't have support for creating the xml tags with : inside of them (which OOXML documents use).

paulbjensen··on Show HN: I built this to talk Danish to my girlfriend – works with any language
Great idea and very well executed.

... Now for the hard challenge - try and speak Danish :)

paulbjensen··on Linda Yaccarino is leaving X
She's the ex-CEO of a private company owned by a billionaire. What power did she really have?

If the company was still public, then all the stupid shit Elon Musk did would put her in a much stronger place as the adult in the room during board meetings.

The things done to Twitter since it became X is a form of cultural vandalism that should never be forgotten in the history of the web. It will be a cautionary tale for decades to come.

paulbjensen··on Show HN: Socket-call – Call socket.io events like normal JavaScript functions
Although WebSockets are simple to use, there are a bunch of issues that the spec doesn't cater for when using them:

1. Connectivity. The WebSocket connection is only as persistent as the underlying network connection between the client and the server. A person playing a web-based game on a mobile device on a train that then goes under a tunnel is a good example.

WebSockets do not reconnect if they close unexpectedly. In such cases, you have to throw the WebSocket instance away and create a new one, and so you end up having to implement your own reconnectivity logic.

2. Message Sending. Messages will only be sent if the connection is open. If it is closed, not only do the messages not get sent, but they don't get queued up either, so they end up disappearing into the ether.

If you want to guarantee message sending, then you end up having to implement a queuing mechanism that is linked to knowing the status of the WebSocket connection, and is able to send when the conditions are right.

3. If you don't use WSS (WebSocket Secure Server) for the WebSocket host and connection url, then the WebSocket connections can get interfered with if they are connecting over a mobile network - ISPs sometimes inject packets which ends up distorting WebSocket connections over http. But I think since the days of Ed Snowden's leaks everyone has their production WebSocket systems setup using WSS.

This comes from the experience many years ago of working on a WebSocket-powered web framework called SocketStream which ran into these issues, and then some years ago I managed to build a library that focussed on dealing with those WebSocket-related issues, called Sarus: https://github.com/anephenix/sarus

WebSockets is great though, and there is still much that can be done with it as this library in the HN post demonstrates.

paulbjensen··on Mikeal Rogers has died
I remember him being a well-known person in the early days of Node.js around 2011/2012, being on the NodeUp podcast and active on Twitter back then.

I'm sorry to hear of his passing.

paulbjensen··on Online sports betting: As you do well, they cut you off
I recently read about a story in my local newspaper (Colchester UK) about someone who stole £13,000 from his girlfriend's phone via her banking app so that he could fund his gambling addiction. He was found guilty of theft and sent to prison.

I wonder if there is any merit in building an app that helps gambling addicts by letting them play the same games that they would play on their phones, with a few caveats:

1 - It's all virtual money, just like a demo account on a stock trading service where you can test it out without real money being involved. You don't use real money, and the app is free to download and play. The goal isn't to make money from the app, it's to help treat gambling addiction.

2 - Where the games would tempt you to place another bet and say "better luck next time?" or "so close" and tempt the player to make another bet, this game would do something different:

- When a player loses on their go, it would say "if you'd staked real money, that would have cost you £2 etc". - It would also remind you of the total balance, and say "if you'd played for real, then you would be down £200 tonight, but because you played this game instead, you've saved yourself £200." - When a player wins on their go, it would say "congratulations on winning, that was your first win in the previous 6 go's".

The idea is to change the cognitive behaviour of the player so that a) they get to play a game that they enjoy playing and find addictive to play, but crucially b) they don't lose any money, and because they are shown the reality of what gambling is like from an accounting perspective, their cognitive association with gambling is changed.

It's better to play a fun game for free then to play a game that drains you of all your money.

How is that idea. Good, bad?

paulbjensen··on Devstral
I managed to install and run it on my Razer Edge Laptop with an Nvidia RTX 4080, using Ollama.

It works but the tokens per sec is very slow. It did complete a TypeScript task example succinctly.

paulbjensen··on The blissful Zen of a good side project
This post hit the nail on the head for me.

Having just finished up a 4-year contracting gig this week, I decided to learn Svelte and recreate a silly little music PoC I made about 15 years ago:

Demo: http://lets-make-sweet-music.com Github: http://github.com/paulbjensen/lets-make-sweet-music

I started making it about 2 days ago - One of my former colleagues even managed to play the Jurassic Park theme song on it for a bit.

What I loved about working on that side project I think is a couple of things:

1 - I could have an idea, implement it, and push it up right away.

This is a breathe of fresh air compared to the coding process at my last gig. The client had a well-structured process of submitting pull requests which required a code review approval before being merged into the codebase.

That process meant that you essentially spent your day picking up tickets and moving them along, and because people wouldn't necessarily be immediately available to perform the code review, the PR could stay open for quite some time.

That delayed feedback loop and hoop-jumping process adds stop-starts into the coding flow state. You can never get into it the same way you can working on a side project.

2 - The tech stack choices are yours to make and quick to do

The tech stack choices used with the client were made by the tech steering committee and your job was essentially to implement the features required by your product team within the parameters of those tech stack choices. They do that to ensure that there is a consistent use of technologies within the company, to the extent that you can quickly swap say frontend engineers from one team to another whenever needed and they can be productive.

On one hand that is great, but on the other hand you don't have the freedom to try new technologies, or even introduce tooling that you feel is better suited for the requirement.

I even had to justify trying to use Sentry rather than ElasticSearch's Kibana for error logging, even though the client was using both tools within the business.

When you are working on the side project, you can make choices and decisions far quicker and easier - the feedback loop is just much quicker and progress happens faster.

3 - The scope of your input into the side project is far greater

When I worked with the client, I was effectively working as a frontend engineer, because they had a gap in a product team to fill.

However, my skills and experience in my career extended to being a full-stack developer who also liked to work on design work in Sketch and even knew how to deploy to VPS, not just work with a PaaS.

When you don't get to use those skills daily in your client work, they will wither, and you can end up becoming pigeon-holed and institutionalised into a narrow way-of-working, which is a danger to being able to apply the full extent of your capabilities.

So the side projects end up serving as a way to exercise those underused skills. Especially if you relish having creative freedom, which reminds me of something that Paul Graham said about developers - they don't do it necessarily for the money - they do it to have creative freedom.

I haven't found the link to the video, but he touches on it a bit in this post: https://www.paulgraham.com/really.html

paulbjensen··on Ask HN: How Do I Escape Homelessness After Rebuilding My Mental Health?
First of all I'm sorry to hear about the loss of your mother and grandmother. Losing one relative is hard enough, but losing another and then experiencing a separation is quite a lot to go through.

In your spare time, it may be good to visit the Switchpoint center to help get their advice and support:

https://switchpointcrc.org 948 N 1300 W, St. George, UT 84770

With regards to the $890 you would pay to continue driving the car you use to work as a cab driver for Lyft/Uber, I would ask:

- The $400 for tyres - there are 20+ tyre shops in St George, Utah. Which tyre shop did you visit in St George for your quote? It might be possible to get a better deal. I don't know, but it's possible. If you google "Tyre shop St George. Utah", you will see the list of options there.

- With regards to the insurance, if there is a price comparison site in the US for insurance, try it out and see if you can reduce that amount. I know in the UK there is comparethemarket.com and gocompare.com as examples, so I presume that there has to be something like that in the US?

I would ask "how much do you make weekly doing this job?" alongside "how much are your weekly expenses?" to help workout your income and outgoings to work out how sustainable your current situation is, and where changes can be applied to make it not just sustainable, but actually getting you to a place where you are good.

In terms of programming, what are your skills like?, what programming have you/are you doing? Do you have a GitHub profile where you have code that you can show to people?

If you are programming right now, then it might not be necessary to go and attend classes in school/college/university to study this subject. I can confirm that from 1st-hand experience. I studied a course in University in the UK that was a mixture of Business and Mathematics, but I ended up becoming a software developer.

What programming languages/apps/tools/frameworks are you familiar with?

It may be enough to sit down at a job interview, ask someone to pair program with you on a coding scenario, and demonstrate your capabilities right there and then. If the time allows.

In terms of finding local programming jobs, that will require searching for those.

Also, if you have a desktop computer, like others have suggested in the HackerNews thread, having a laptop will be far easier. See if you can find options to exchange the desktop for a laptop computer - donations, part exchange, part-payment anything. The mobility will enable you to be more mobile and suit you.

Lastly, you mentioned Ketamine. Please be careful because that is a very addictive substance and in the UK recently a public figure by the name of "the Viviene" died from consuming it.

Lastly, I hope that for your case that you manage to get to a better place. Life is a journey and not necessarily a smooth one - we hope for better times, but you can't rely on hope to gift you that - you have to strive for it.

I will leave you with one of the most inspirational talks I've ever watched - Jim Carrey's commencement speech at the Maharishi International University of Management class: https://www.youtube.com/watch?v=PYAk295MZZM

paulbjensen··on Tolerating full cloud outages with Monzo Stand-in
My only conclusion is that Monzo would rather embrace the apocalypse than rely on Microsoft Azure to provide a tertiary fallback.
paulbjensen··on Haunted by my own projects
I read that post and it was so relatable.

Some projects at work suffer some a similar quirk - the last 10%-20% of the work remaining on the project takes longer than the rate at which the first 80% of the project is completed.

It's like the leftover bits that aren't as exciting or engaging (bug fixes, documentation, little tweaks) always end up making that work feel like a chore rather than a joy.

Years ago a colleague coined a term for their ideal way of working - Mood Driven Development - they worked on what they wanted to work on.

It feels like it has a similar trait to creative work such as art or writing or music - you let the creative block have its moment, then when that passes and the creative juices start to flow, that's the moment to do the work, but if you achieve flow state then it ceases to be work, it's just natural.

paulbjensen··on Layoffs push down scores on Glassdoor – how companies respond
I kept tabs on a company where I used to work and when I got an email from Glassdoor about a review of that company with the title "stalled", I naturally wanted to click through, but by that point the review was gone.

I then started to screenshot any new reviews, ad saw that some of the negative ones also got removed after time.

You could say that Glassdoor is more like a rose-tinted window.

paulbjensen··on Ask HN: Something you’ve done your whole life that you realized is wrong?
Peeling bananas.

I used to open them from the hard stem bit which was not always successful, but it turns out that if you pinch them at the other end, they open up much easier:

https://www.youtube.com/watch?v=P8svUCSuMS4

paulbjensen··on Meta and Google are cutting staff
Public companies trying to keep investors happy and share prices good during a downturn.

Let them treat employees like cannon fodder. Some of those employees might end up creating something new and innovative, rather than building another product that gets eventually dead-pooled by Google, or copy-pasted by Meta.

paulbjensen··on Bolt announces layoffs
Haha, I have watched that documentary multiple times, it is great and deserves to be turned into a film.

Someone's earlier point about hiring as a growth indicator to VC's reminds me of the point made by the CEO in the documentary about how VCs told him he needed to have 100 employees in order to boost the value of the company, so they ended up hiring people off the street, spouses and family members.

Crazy story.

paulbjensen··on A dev's thoughts on developer productivity
This was a a really good post.

I work in a large organisation where some of the issues mentioned are very relevant, especially the 'flow state" issue.

We have a mix of on-site and remote workers (myself being a remote worker), and because Slack/Teams is our primary method of communication with colleagues, and I operate in a tech lead role, it becomes difficult to achieve flow state on some tasks.

I ended up creating an Apple shortcut that automatically setup the computer for operating in a flow state (called Superbam - https://www.icloud.com/shortcuts/5c0c729476584e11b3b12744893...). It helped to some extent.

I think a lot of organisations are clueless about flow state and why they should give developers the chance to reach it.

paulbjensen··on Your phone may soon replace many of your passwords
This is potentially a bad idea, and I can explain an actual use case that happened a few weeks ago.

My neighbour had dropped her phone in some water, it was a Samsung S21, and the screen was messed up. The moment you tried to activate the screen, lines would appear across it. It was unusable.

Thankfully she had a spare phone available to use, but she needed to get a bunch of things setup on there (Google Mail, NHS for the Covid pass as she was travelling abroad).

She ran into an issue authenticating her Google Mail account - the password. She didn't remember it, so we tried the "Forgot Password" user flow.

For reasons unknown, the user flow insisted on sending a notification to her Samsung S21, even though we had swapped the SIM card from that phone into the new phone, and we had no way to swipe the notification on the S21 due to the screen being broke.

Somehow, we managed to trigger sending a text message with a code, and thankfully she got access to her Gmail account and other items.

But it was not a simple process, and there's no way your everyday person would have a clue how to deal with such cases (it confounded me and I'm a developer!), so I hope that someone with UX and QA chops is able to cater for scenarios like someone's phone screen being busted and knows how to provide alternative options that your everyday folk can get to grips with.

paulbjensen··on OpenRA: Open-source RTS game engine for games such as Command and Conquer
They did a great job. I have enjoyed their port of Dune 2000 very much.
paulbjensen··on We check our node_modules folder into source control
I understand what he's getting at, but if you are trying to have an exact copy of code in order to guarantee an exact behaviour, then you would want to extend that to the operating system used to run the software.

One example was having code where the test suite ran fine on my local MacBook, but would fail on CI (Linux). It turned out that on Linux finding files by name is case sensitive, whereas on Mac OS it isn't, and a require statement in Node.js was referencing a file path with casing that was different to the file name's spelling.

paulbjensen··on Typora 1.0
Update - the FastSpring payment form detected my UK location and offered a way to pay from the UK. Purchased a license.
paulbjensen··on Typora 1.0
100% Agree. Only issue is that I'm trying to buy a licence but the payment options seem to be US-only (ZIP code validation). I'm trying to buy from the UK.
paulbjensen··on Strategy and Complex Systems (2020) [pdf]
I studied it as a module at Cass Business School back in 03-06. To see it mentioned here in a completely different environment to the one I studied in has been a pleasant surprise.

I loved how it explained the counter-intuitively of rising crime whilst drug busts put dope on the table, or the risks of an aggressive or non-compliant fishing policy being the EU, or the tale of a group selling their model to a hedge fund for a small fortune.

So many potential ways to use this, and unfortunately I never encountered it at workplaces in my career. I think that’s when you realise that sometimes the ideas have to be presented by yourself.

← PreviousPage 3 of 7Next →