@loke@functional.cafe avatar

loke

@loke@functional.cafe

Lisp, Emacs, APL and a bunch of other stuff.

From Sweden, living in Singapore.

I always work on a bunch of projects. My current major ones are:

A graphical frontend to Maxima: https://github.com/lokedhs/maxima-client

Kap: An APL-based programming language: https://codeberg.org/loke/array

#lisp #commonlisp #apl #retrocomputing #linux #kap #climaxima #emacs #atari #fedi22

This profile is from a federated server and may be incomplete. Browse more on the original instance.

jannem, to random
@jannem@fosstodon.org avatar

Methinks the rainy season has started on .

loke,
@loke@functional.cafe avatar

@jannem pretty standard here. This is what the whether forecast looks like pretty much all the time.

jeffjarvis, to random
@jeffjarvis@mastodon.social avatar

Guardrails are futile, like suggesting a printing press can be prevented from publishing lies. Generative AI is a general machine that will do what it is told. The issue is the actor. Get used to it.
AI chatbots’ safeguards can be easily bypassed, say UK researchers
https://www.theguardian.com/technology/article/2024/may/20/ai-chatbots-safeguards-can-be-easily-bypassed-say-uk-researchers

loke,
@loke@functional.cafe avatar

@jeffjarvis you are off course not wrong. But people don't know this, and keep issuing these tools as if they were able to provide reliable information. I see those articles as attempts to rectify that misinformation. Just like all journalism, they simplify, and honestly I don't know how I would be able to explain it better.

schratze, to random
@schratze@todon.nl avatar

It's so weird how many sci-fi stories will have technology that is hundreds, thousands, even ten thousands of years old and still just works, whereas in real life, it is a challenge to find 30+ year old technology that is still in an operable state

loke,
@loke@functional.cafe avatar

@jens @schratze just look at the age of the B52 and how long they are planning to keep them flying.

etchedpixels, to retrocomputing
@etchedpixels@mastodon.social avatar

The elegance of the DG Nova instruction set really becomes apparent when you write emulation code for it. The entire core CPU emulation (no devices) is 250 lines of C, including comments and not even written to be small.

Nova 3 and 4 will probably add another 50-100 lines at most

loke,
@loke@functional.cafe avatar

@etchedpixels Your post made me go and read the documentation for the instruction set. I found this nice summary: http://users.rcn.com/crfriend/museum/doco/DG/Nova/base-instr.html

Now, after reading it, I have one question you might be able to explain.

It says the following:

Hence, location 1 must contain the start address of the interrupt handler. When an interrupt happens, further interrupts are disabled until they are explicitly re-enabled. A return from the interrupt is performed by jumping indirectly through location zero (i.e. JMP @0).

Earlier in the document, it's explained that interrupts are enabled using the INTEN instruction, so if I read the correctly, the end of the interrupt handler should be an INTEN followed by JMP @0.

But what happens if there is another interrupt after enabling it, but before the jump is done?

Does the jmp implicitly reenable interrupts?

loke,
@loke@functional.cafe avatar

@etchedpixels @0 Thanks, that explains everything. I'm not sure it would be possible to create a reliable interrupt hander without that feature.

At least I couldn't think of a reasonably straightforward way.

jannem, to sweden
@jannem@fosstodon.org avatar

There's no post offices any longer? What's going on with this place?

loke,
@loke@functional.cafe avatar

@jannem You visiting Sweden? I'm going there for a week in July, and it'll be interesting to see what else have disappeared since last I was there.

loke, to random
@loke@functional.cafe avatar

Went to see Arch Enemy.

EUCommission, to random
@EUCommission@ec.social-network.europa.eu avatar

Today, we step up our enforcement actions against Microsoft.

After not having received an answer to our request for information from 14 March regarding specific risks stemming from Bing's generative AI features, Microsoft has now until 27 May to provide it or could face fines and periodic penalties.

Bing may pose risks linked to generative AI, such as so-called ‘hallucinations’, deepfakes, and the automated manipulation of services that can mislead voters.

More: https://europa.eu/!HdmDYq

loke,
@loke@functional.cafe avatar

@mrtn @EUCommission I don't know if you were working in the industry a few decades ago, but let me assure you that old Microsoft was no better.

There was a time, perhaps 10 or so years ago, when they were unusually good at hiding their bad behaviour, but ever since the "letter to hobbyists" back in the very early days, Microsoft has never really strayed from their vision of being an absolutely horrible company.

loke, to random
@loke@functional.cafe avatar

So I watched the two first episodes of Andor (the Star Wars TV series).

Why were people raving about this? After two episodes there should be at least one likeable character, and I would have hoped at least something would have happened?

It may be because I have a general dislike for TV series which are not episodic. But, I get the feeling that this is something that was meant to be a movie, but the writer was told to stretch it out into a TV series. The stuff that happened in the first two episodes could have been 5 minutes.

loke,
@loke@functional.cafe avatar

@lispegistus thanks, and even though your comment hints that I likely won't enjoy it, it was very helpful.

I think I should read the synopsis on Wikipedia before watching any further. If the story is actually to my liking, I'll watch more of it.

atomicpoet, to random
@atomicpoet@atomicpoet.org avatar

Today, 65 games were released on Steam. These are the games I found most interesting:

I’m grouping all these games together because they’re re-releases in the same series.

Close Combat

Close Combat 2: A Bridge Too Far

Close Combat 3: The Russian Front

Close Combat 4: The Battle of the Bulge

Close Combat 5: Invasion: Normandy - Utah Beach to Cherbourg

  • this is a World War II simulator series, originally released in the 90s, each which is a tactical RTS
  • price: individually, each game is C$7.79, but there’s currently a -15% discount at C$6.62. You can also buy all games as part of a bundle, which has a regular price of C$38.95, but there’s currrently a -43% discount, available right now at C$22.20

I’m also grouping the following games together since they’re part of the same series:

Warlords I + II

Warlords III: Darklords Rising

  • a fantasy turn-based strategy series where empires struggle for supreme power
  • price: individually, each game is C$7.79, but there’s currently a -15% discount at C$6.62. You can also buy all games as part of a bundle, which has a regular price of C$15.58, but there’s currrently a -32% discount, available right now at C$10.60

Deep Beyond

  • a first person interactive thriller about a sea explorer and the mystery of her father’s disappearance, featuring low poly cell-shaded graphics with attractive dithering
  • gamepad supporded
  • price: C$6.49, but currently discounted -15% and selling for C$5.51

SMYS : Show Me Your Stairs

  • a party game where you race your friend to build a tower to the top – with almost reverse-Tetris gameplay
  • gamepad supported
  • shared/split screen PvP and co-op
  • demo download available
  • costumes and soundtrack available as DLC
  • price: C$13.99, but currently discounted -25% and selling for C$10.49

Baladins

  • a choose-your-own adventure 2D RPG with cute paper-like graphics
  • gamepad supported
  • online and shared/split screen co-op
  • price: C$32.50, but currently discounted -10% and selling for C$29.25

MULLET MADJACK

  • a cyberpunk boomer shooter FPS with low poly graphics inspired by anime
  • gamepad supported
  • demo download available
  • artbook and soundtrack available as DLC
  • price: C$25.95, but currently discounted -10% and selling for C$23.35

Squab

  • a 2D precision platformer starring a pigeon
  • gamepad supported
  • price: C$3.89

Banana Cowboy

  • a 3D platformer starring a banana cowboy in a fruit-themed unitiverse, rescuing people from your evil twin
  • price: FREE!

Cento

  • a rogue-like deckbuilder with rhythm characteristics, featuring pixel art graphics
  • gamepad supported
  • demo download available
  • price: C$12.99, but currently discounted -10% and selling for C$11.69

Wayfarer

  • an action-adventure game where you explore labyrinthine caves, featuring low poly graphics
  • price: C$1.29

Byte Hack

  • a 2D cyberpunk puzzle platformer about hacking your way through an infected computer tower, featuring 16-bit style pixel art graphics with CRT effects
  • gamepad supported
  • demo download available
  • price: C$6.49
loke,
@loke@functional.cafe avatar

@atomicpoet nice. Thanks. I think I'll buy two of those.

liztai, to random
@liztai@hachyderm.io avatar

Coworking at a fancy coworking space today ✌️

loke,
@loke@functional.cafe avatar

@liztai Village grocer is in JB, isn't it?

loke,
@loke@functional.cafe avatar

@liztai you're right. Checking google maps shows a large number in the kl area. Most of them, actually.

mr_daemon, to random
@mr_daemon@untrusted.website avatar

@loke Lovable little tanks they are <3

loke,
@loke@functional.cafe avatar

@mr_daemon Yes. Along with the Ultra 1 and 2. Sadly the later 5 and 10 felt less reliable.

loke,
@loke@functional.cafe avatar

@mr_daemon Yeah, I felt really lucky that I was able to snag that Ultra 60, with a lot of my colleagues using the 5 and 10.

rbreich, to random
@rbreich@masto.ai avatar

Apple shares lost 10% of their value.

Then Apple announced plans to buy back $110 billion of its own stock.

After that, Apple shares had their best day since 2022.

There's a reason stock buybacks used to be considered illegal stock manipulations.

They should still be banned.

loke,
@loke@functional.cafe avatar

@Kierkegaanks @rbreich Buybacks is a different thing. Apple has a ridiculous amount of cash, and a buyback means that they can find nothing better to do than to invest it into their own stock.

It's also a signal that Apple considers their own stock a great investment, so if you trust Apple (not saying you should, but if you are one of the people that do) then you might want to follow their lead and buy some of their stock. So the stock price increasing after a buyback announcement is nothing surprising at all.

mr_daemon, to retrocomputing
@mr_daemon@untrusted.website avatar

I'm afraid grandpa Sun Ultra 10 might have booted his last. He simply turned off and never turned back on over the period of however long my expire record in my DNS zones are (which is when I noticed).

It spent over 25 years computing quietly and never exhibiting any issues prior, it will be missed if I can't resurrect it.

#RetroComputing #sun #OldComputers

loke,
@loke@functional.cafe avatar

@mr_daemon I used to have an Ultra 60 on my desk. The first to be delivered to Sun in Sweden in fact.

loke,
@loke@functional.cafe avatar

@mr_daemon I used to have an Ultra 60 on my desk. The first to be delivered to Sun in Sweden in fact (maybe there was one in the hardware lab before then, not sure).

loke,
@loke@functional.cafe avatar

@mr_daemon I used to have an Ultra 60 on my desk. The first to be delivered to Sun in Sweden in fact (maybe there was one in the hardware lab before then, I'm not sure).

loke,
@loke@functional.cafe avatar

@mr_daemon I used to have an Ultra 60 on my desk back when I was working at Sun. The first to be delivered to Sun in Sweden in fact (maybe there was one in the hardware lab before then, I'm not sure).

loke, to random
@loke@functional.cafe avatar

I'm currently trying to decide on the syntax and semantics of field lookup in Kap.

The general syntax of looking of a value in a named field will be the use of the period, just like most object-oriented languages. Such as: foo.bar to look up field bar in the value referenced by foo.

Now, the primary datatype in Kap is of course the array, with the majority of them being 1- and 2-dimensional. Kap also provides the ability to attach labels to any axis, so I can name the the axes of a 3-by-3 array of numbers like this:

    "foo" "bar" "xyz" labels 3 3 ⍴ ⍳9<br></br>┌───┬───┬───┐<br></br>│foo│bar│xyz│<br></br>├→──┴───┴───┤<br></br>↓  0   1   2│<br></br>│  3   4   5│<br></br>│  6   7   8│<br></br>└───────────┘<br></br>

Now, if I have such an array, what better way to select a column than to use the period? So if the above array is tored in the variable "abc", then typing abc.bar would return a 1-dimensional array of the numbers 1 4 7.

Now, this may seem straightforward, but there are some details that makes this a big tricky to get right.

Currently, the labels are strings. But when I parse an expression like foo.bar, the foo and bar are symbols. And symbols in Kap has a namespace attached to them. The semantics of symbols and their namespaces in Kap are almost identical to Common Lisp.

So one may think that the best approach is to allow symbols to be labels, and then permit lookup using the period only for labels that are symbols.

The problem with that is that is that when creating such labels, you have to choose if you use symbols in your own namespace, or if you want to use keywords. If the user of the array is in a different namespace, the way to look up an axis would then be either using keyword:

foo.:bar`<br></br>

Or, if the label is in the namespace of the source:

foo.namespace:bar`<br></br>

Both of which looks ugly.

Since keywords would be by far the most common, you'd want plain foo.bar to refer to the keyword :bar, but then accessing elements in your own namespace wouldn't have a natural syntax.

And yes, I know an alternative is to use plain string matching (similar to how the Common Lisp LOOP macro matches symbol names using strings). That feels a bit ugly though.

loke, to random
@loke@functional.cafe avatar

OK, all those aurora photos. I think this is one of the few times I regretted moving to the equator.

TechConnectify, to random
@TechConnectify@mas.to avatar

Just having a wild night over here.

loke,
@loke@functional.cafe avatar

@TechConnectify @nul42 I like my Kia Niro, but I was driving behind an Ioniq 5 this morning, and I kinda wish I had one.

ruud, to android
@ruud@mastodon.world avatar

After 15 years of using an iPhone, I'm considering switching to Android. I've ordered a cheap Samsung just to try it for a while before buying a top-end model.
Let's see if I can get used to it.

(I'm also a Mac user so there will be some trade-offs..)

I really like the Busycal iOS app, does anyone know a good alternative? It syncs with my calendar & tasks on Nextcloud.

loke,
@loke@functional.cafe avatar

@ruud it has one feature that even a lot of seasoned Samsung users don't know about. If you connect it to a USB-C docking station with a monitor, keyboard and mouse you get a full desktop experience where you can run your applications in windows. Or works better than you might think.

denham, to random
@denham@aus.social avatar

Web devs who do this need their computer license revoked

loke,
@loke@functional.cafe avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • magazineikmin
  • Youngstown
  • osvaldo12
  • khanakhh
  • slotface
  • tacticalgear
  • mdbf
  • InstantRegret
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • everett
  • rosin
  • anitta
  • Durango
  • GTA5RPClips
  • ethstaker
  • modclub
  • cisconetworking
  • ngwrru68w68
  • tester
  • normalnudes
  • cubers
  • Leos
  • megavids
  • provamag3
  • lostlight
  • All magazines