@underlap@fosstodon.org
@underlap@fosstodon.org avatar

underlap

@underlap@fosstodon.org

Husband, father, grandfather, follower of Jesus, but very much a work in progress.

Retired software developer, visiting lecturer, IETF editor. Likes repairability. BTW I use arch.

Hobbies: reading, blogging, running, sailing.

Delighted to live in Winchester, UK. Involved in a local church.

Banner: Derwent Water
Profile picture: Dorset coast

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

dpiponi, to random
@dpiponi@mathstodon.xyz avatar

When I first came across Voigtländer's paper on speeding up free monads [1] and some of the methods that Hinze mentions [2] I was a bit bemused about why category theory had anything to say about program optimization. But now it seems obvious. Much of optimization is a lot like algebraic manipulation where you're rearranging while hoping to keep the value the same. But in particular, a really common optimization move is to write f(g(x)) as (fg)(x) where (fg) is somehow simpler (or more reusable than) than just applying g then f. Ie. associativity - which is one of the laws of category theory. I think this step also accounts for almost all of the computational reasons for using linear algebra. Eg. graphics pipelines make good use of this kind of associativity.

[1] https://janis-voigtlaender.eu/papers/AsymptoticImprovementOfComputationsOverFreeMonads.pdf
[2] https://www.cs.ox.ac.uk/ralf.hinze/Kan.pdf

underlap,
@underlap@fosstodon.org avatar

@dpiponi The (fg) optimisation is similar to "operator fusion" in functional reactive programming.

cory, to tech
@cory@social.lol avatar

📝: Search is dead — long live curation #Tech #AI https://coryd.dev/posts/2024/search-is-dead-long-live-curation/

underlap,
@underlap@fosstodon.org avatar

@cory Does this mean that it's time to block the regular Google web crawler(s) if one wants to block AI web crawlers?

If so, that's quite a moment: choosing not to be indexed by Google search.

henrikjernevad, to javascript
@henrikjernevad@mastodon.social avatar

Another leak in the JavaScript single-threaded facade (or a bug in Jest, really).

Asserting expect(...).toStrictEqual(...) fails with two structurally identical objects created by two different Node worker threads because their prototypes are not the same (though identical). Asserting expect(structuredClone(...)).toStrictEqual(structuredClone(...)) works.

#javascript #typescript #jest

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad Have you looked at Elm?

Last time I looked, the docs were like "Elm for JavaScript developers" or at least "Elm for front-end developers", hence opaque to me. But the language has a lot of promise.

cory, to tech
@cory@social.lol avatar
underlap,
@underlap@fosstodon.org avatar

@cory Nice!

At first I thought you were talking about something as simple as abstracting some kind of storage service behind your own domain name. See, for example, https://underlap.org/abstracting-cloud-storage.

underlap,
@underlap@fosstodon.org avatar

@cory I guess the next logical step for me to reclaim my data from my cloud provider would be to use something like syncthing to share it across my machines and VPS.

henrikjernevad, to programming
@henrikjernevad@mastodon.social avatar

Should you build software that is extensible and future-proof?

That sounds like a good idea, doesn’t it? Well, that depends on how good you are at predicting the future.

https://henko.net/blog/design-for-today/

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad Very helpful. I generally agree and I've definitely been guilty of over-engineering in the past. 1/3

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad The only exception that springs to mind is that when it becomes necessary to generalise some code, it's sometimes worth going further than immediately necessary. 2/3

underlap, (edited )
@underlap@fosstodon.org avatar

@henrikjernevad The criterion in this case should be to come up with a well-rounded abstraction (a good concept, if you like).

The trick is to consider what general extension the current extension might be part of and then ask the question: is the general extension simpler than the specific extension needed right now?

How can we judge simplicity? Two clues are if it's easier to document or easier to test.

3/3

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad The post was great. It's good to have clear rules. You just need to know when to break them. 😉

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad "Never break the rules"? 😂

underlap, to random
@underlap@fosstodon.org avatar

Unless I've missed something, there seems to be a slight disconnect between the HTML 4.01 spec and IANA.

For example, HTML 4.01 defines the "chapter" link relation, "chapter" is present in the IANA link relation registry (and refers to HTML 4.01 for the definition), but the HTML 4.01 spec doesn't have an "IANA Considerations" section.

HTML 4.01 even talks about HTML authors defining additional link types (without mentioning IANA).

@mnot: would you care to comment?

amoroso, to random
@amoroso@fosstodon.org avatar

I know, Git is a mess. But, since we're stuck with it, we may as well try to learn how it works with resources like this, which aims to lead to some form of Git enlightenment.

https://think-like-a-git.net

underlap,
@underlap@fosstodon.org avatar

@amoroso After the initial couple weeks of steep learning curve, circa 2008, I have been happy with git and its slightly awkward "porcelain". I started with an intense practical session with some colleagues -- @nebhale will recall -- and then got a better mental model from https://eagain.net/articles/git-for-computer-scientists/ (works for mathematicians too).

(git switch -c was quite an improvement over git checkout -b for creating a new branch.)

underlap, to random
@underlap@fosstodon.org avatar

After my recent spate of unfollowing, my home timeline has nearly stalled. This is probably a good thing...

underlap,
@underlap@fosstodon.org avatar

@danielsiepmann @Anachron I wonder if there's an easy way to obtain an account's average posting frequency? I would take a punt on an infrequent poster but probably avoid the more prolific.

underlap, to mathematics
@underlap@fosstodon.org avatar

A fun video providing some intuition behind Fourier transforms: https://www.3blue1brown.com/lessons/fourier-transforms

#Mathematics

underlap, to random
@underlap@fosstodon.org avatar

I added a wiki to my personal site for capturing notes.

https://underlap.org/wiki

#DigitalGarden #Wiki

underlap, to random
@underlap@fosstodon.org avatar

JSONPath is now on wikipedia

https://en.wikipedia.org/wiki/JSONPath

underlap, to random
@underlap@fosstodon.org avatar

I highly recommend the Guardian Quick Cryptic for anyone wanting to get into solving cryptic crosswords. Today's was fun, for instance.

https://www.theguardian.com/crosswords/quick-cryptic/6

rjomara, to Blog
@rjomara@mastodon.social avatar

Made a breakthrough in how I think I can make this digital garden work. It always comes down to finding the right tool for the job, and I may have an idea of what might work for me.

https://microblog.rjomara.com/2024/05/10/still-making-mud.html

#DigitalGarden #IndieWeb #blog

underlap,
@underlap@fosstodon.org avatar

@rjomara Do you know what Obsidian's resource requirements are?

rjomara, to Blog
@rjomara@mastodon.social avatar

Spent the day trying to come up with a draft of the digital garden setup. It's been a tough one, because I'm not quite able to get to the point I’d like it to be.

But I'm resigned to making something to start with. Something I can improve when my skills and tools allow. So I'll keep plugging away at it.

https://microblog.rjomara.com/2024/05/09/playing-in-the.html

#DigitalGarden #IndieWeb #blog

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad @rjomara I've played with Logseq as an alternative to Obsidian. (Unfortunately, I can't find the resource requirements of either Logseq or Obsidian to know how big a VPS they'd need.)

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad @rjomara I just found this data loss thread which puts me off Logseq: https://discuss.logseq.com/t/data-loss-happened-twice-i-cant-trust-logseq-anymore/6896/55

Sure I am happy with git and could implement proper backup, but I'd want to trust Logseq for normal note-taking operation.

underlap,
@underlap@fosstodon.org avatar

@henrikjernevad @rjomara Logseq produces a collection of markdown files optionally committed to git, so sounds similar.

wader, to random
@wader@fosstodon.org avatar

Yesterday I read the recently published JSONPath RFC (RFC9535) and listening to an interview with one of the creators of SQL https://www.datacamp.com/podcast/50-years-of-sql-with-don-chamberlin and worst of all i poked around in sqlite code to figure out how the scheme table works...guess I just have to accept that I'm a query language nerd.

#jsonpath #sql

underlap,
@underlap@fosstodon.org avatar

@wader Great! Do you know about the Compliance Test Suite? https://github.com/jsonpath-standard/jsonpath-compliance-test-suite

underlap,
@underlap@fosstodon.org avatar
underlap,
@underlap@fosstodon.org avatar

@wader Good progress!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines