After being on my literary to do list for decades, I decided to start reading Iain M. Banks' Culture series. These books seem to me to be particularly relevant today, with everyone going on about all this nonsense about AI and what it means for the future of humanity but meanwhile, we don’t even have a clear concept of intelligence, let alone an idea how to actually replicate it artificially. Banks' vision of what actual AI would be like from the ’80s is much more intelligent and coherent than the bullshit the so-called experts of today are cooking up.

Anybody interested in the ethical and moral dilemmas inherent in creating actual thinking machines should probably read these books.

“What does this thing actually look like? I mean you never see them by themselves, they’re always in something … a ship or whatever. And how did it – what did it use to warp with?” “Externally,” Jase said in its usual, calm, measured tones, “it is an ellipsoid. Fields up, it looks like a very small ship. It’s about ten meters long and two and a half in diameter. Internally it’s made up of millions of components, but the most important ones are the thinking and memory parts of the Mind proper; those are what make it so heavy because they’re so dense. It weighs nearly fifteen thousand tons. It is fitted with its own power, of course, and several field generators, any of which could be pressed into service as emergency motors, and indeed are designed with this in mind. Only the outer envelope is constantly in real space, the rest – all the thinking parts, anyway – stay in hyperspace.

— Iain M. Banks, Consider Phlebas (1987)

Permalink  

Copenhagen Trip

Photos from a recent journey to the capital of Denmark
Read more →

Huffington Post, 1 July 2024:

New York Times, 13 July 2024:

I can’t think of many headlines that aged quicker and aged worse than that Huffington Post one.

Permalink  

“Objectivity is only possible in a vacuum of emotions. But since nature abhors a vacuum, true objectivity is never achievable for human beings.”

I propose this as Fab’s Law of Journalism.

Permalink  

I just made this to visualise some things I’ve been tossing around in my head. Kinda speaks for itself, doesn’t it?

Permalink  

Motorbike Tour through the Vosges and Ardennes

Photos from a recent motorbike trip through France, Luxembourg and Belgium.
Read more →

Anybody know any Lua? You might remember Red Alert, the little shmup I’m developing for the PICO-8 fantasy console? Well, I’m getting close to actually having it in a playable state but I’m currently stuck with this one bug I can’t quite fix. You see, I built in this boss enemy that uses a laser beam and something is off with the collision detection for it. I am checking whether this beam intersects with a hitbox on the ship and it works most of the time, but there are edge cases with false positives. Here’s an example where the algorithm thinks the beam intersects with my ship:

The numbers in the screenshot are the top left and bottom right X/Y coordinates of the ship and the origin and end points (X/Y) of the laser beam. I am trying to check if the line of the beam touches the lines of the 2x2 pixel hitbox on the ship sprite. Here’s the relevant collision detection check:

local hitbox={}
hitbox.x=ship_x+2
hitbox.y=ship_y+2
hitbox.colw=2
hitbox.colh=2
if phcol(myen.phorx,myen.phory,myen.phposx,myen.phposy,hitbox) and myen.pht>0 then
function phcol(phx1,phy1,phx2,phy2,obj)
 if linecol(phx1,phy1,phx2,phy2,obj.x,obj.y,obj.x,obj.x+obj.colw) then return true end
 if linecol(phx1,phy1,phx2,phy2,obj.x+obj.colw,obj.y,obj.x+obj.colw,obj.y+obj.colh) then return true end
 if linecol(phx1,phy1,phx2,phy2,obj.x,obj.y,obj.x+obj.colw,obj.y) then return true end
 if linecol(phx1,phy1,phx2,phy2,obj.x,obj.y+obj.colh,obj.x+obj.colw,obj.y+obj.colh) then return true end
 return false
end

function linecol(x1,y1,x2,y2,x3,y3,x4,y4)
 ua=((x4-x3)*(y1-y3)-(y4-y3)*(x1-x3))/((y4-y3)*(x2-x1)-(x4-x3)*(y2-y1))
 ub=((x2-x1)*(y1-y3)- (y2-y1)*(x1-x3))/((y4-y3)*(x2-x1)-(x4-x3)*(y2-y1))
 if ua>=0 and ua<=1 and ub>=0 and ub<=1 then return true end
 return false
end

It works in most cases, but just not in some edge cases like that screenshot. If you have any pointers for me about what is going wrong or how I can fix it, please don’t hesitate to contact me! If you want to see the full code of the game, you can find it here. The relevant code starts in line 281 of the game cartridge file.

Permalink  

“Old Elbe Tunnel”

Nikon Z fc, Nikkor Z DX 16-50 mm ƒ/3.5-6.3 VR (ISO 3200 • 1/125 s • ƒ/5)

Permalink  

Goodbye, Tarkov

Another one of my favourite games bites the dust. This is a prime example of how to alienate your community if I ever heard one.
Read more →

“Kurzer Olaf”

“Short Olaf” is the coloquial name inhabitants of Hamburg gave to the abandoned construction project of the Elbtower high-rise, which was a pet project of German Chancellor Olaf Schulz when he was mayor of the city of Hamburg.

Nikon Z fc, Nikkor Z 40 mm ƒ/2 (ISO 400 • 1/125 s • ƒ/5)

Permalink