2

cross-posted from: https://piefed.zip/c/commandline/p/1389995/cli-based-bookmark-manager-based-on-indexing-visited-sites-and-search-engine-like-queries

Funny thing: I just discovered Piefed doesn't implement cross-posting. So, crossposting from an alt.

Most of the cases where most people use bookmarks, I want a search engine based on only sites I've visited. I don't know whether I'm dramatically different from other people, but by the time I'm looking for a site, I've forgotten the most unique attributes, and even my own tagging often ends up tagging the wrong sorts of attributes. Tagging is still better for me than hierarchical organization, but what I really want is a sort of command-line search engine that searches only sites I've visited before.

I've frequently thought about building such a thing, but every time I do I think, "someone must have already built this." So:

Does anyone know of a tool like bmm or buku, but which indexes the URL's main page, and has a command-line tool for keyword querying the DB like a search engine? As in, performing stemming and lemmatization? It'd be like bmm/buku's tag search, only the tags would be a search engine index of the page.

What I do not want is

  • a self-hosted, web-based UI search engine
  • a self-hosted bookmark manager; buku and bmm are already both fine tools, and I'm not trying to solve "access all my bookmarks from everywhere". That latter I can do with rsync or syncthing.
  • a command-line bookmark manager... unless it conforms to the constraints above: queries should function on a full-text index of selected web pages. Again, buku and bmm would be fine if my tagging skills were better.
  • a crawler-based search engine

I do want:

  • the convenience of giving the tool a URL and having it auto-tag. buku does this, except that IME the resulting tags correlate even less well to how I remember things when I want to search than my manual tagging does.
  • some fuzziness in the search; my current problem is how constrained the searches are. This isn't their failing; I simply have obtuse recollection skills. I tag "dog,pet,animal", but when I'm looking for it, what I remember is "it's got four legs".
  • local, command-line
  • indexing a page of a given URL. Recursive is optional; I probably wouldn't use it, but if it's there that's fine. I just want to be able to limit the indexing to a single page.

This is my last ditch effort to find an existing tool; otherwise, I'm going to build it, because it's not a hard problem. Which is in part why I'm having trouble believing someone hasn't already built it.

2
submitted 8 months ago* (last edited 8 months ago) by sxan@midwest.social to c/vlang@programming.dev

sss-vlang v0.0.1

Shamir's Secret Sharing algorithm is a mechanism for splitting a secret S into n shares, of which k are required to recover the secret via a combine function. This library is a translation of sssa-go, which has been externally verified as being a well-designed implementation of the algorithm. This V version improves slightly on the Go version by handling (not ignoring) function errors.

One use case for SSS is to provide N people with keys to allow N-k of them to collaborate to produce a key that can, e.g., decrypt a digital resource. For example, 10 employees might be given keys, with any 5 being required to collude to generate a secret to open a KeePass DB that contains credentials for a server hosting master admin account.

The library has extensive unit tests and good coverage. The project includes two tools: sssc, which is a command line split and combine tool; and sssg, a GUI version.

The algorithm is stable. The library API at this point is mostly stable, and should not change much. sssc is complete, and I expect changes to include only feature additions. sssg is very definitely a WIP, as I figure out the gui package.

Performance of this library is not very good; it runs far slower than the almost Go library it was cloned from; I have not yet tried to optimize it, since performance is irrelevant for the use I have in mind. However, I suspect there is low hanging fruit here, and I'll get to it sooner or later.

7
submitted 8 months ago by sxan@midwest.social to c/commandline@lemmy.ml

This isn't so much a question of how, as it is an expression of bafflement at the utter lack of tooling to do this.

opustag can set, delete, or add a single or multiple tags... but it can't get a single tag. Same with ffmpeg. In fact, there appears to be not a single tool that can be used to get only the value of a single tag.

Sure, you can grep, but once tags start having multi-line values, this gets more complicated and error prone, and turns into a script. I honestly can't believe that I have to write a program to query a single tag value. This isn't even a Unix philosophy "do one thing well" issue; it's clearly in opustag's bailiwick.

Does anyone familiar with the spec know why this would be omitted from the opustag functionality? Is it, like, hard to query a single value, but easy to set it? Or is it just laziness? It can't just be a gross omission, can it? What sane person would consider this an edge case user feature? There must be some rationale behind it, especially since, while there are multiple ways to set values, there appears to be not a single tool that can read a single key. Maybe reading is NP-hard in opus metadata?

72
submitted 9 months ago by sxan@midwest.social to c/superbowl@lemmy.world

cross-posted from: https://feddit.uk/post/33171587

A barn owl mum discovered at a Lincolnshire farm has been described as rare and incredible. Not only is the creature the oldest barn owl ever to have been recorded, the female was found successfully breeding a six-week-old chick.

The bird of prey has left experts amazed after she was discovered at Eastfield Farm in Hough. The incredible creature is 18-years-old - and experts are sure she’s the oldest barn owl ever recorded in Britain or Ireland.

The owl was ringed as a chick, the British Trust for Ornithology (BTO) have confirmed, she had a ring placed around her leg in Nottinghamshire back in 2007, allowing tracking of the bird.

5
submitted 9 months ago* (last edited 9 months ago) by sxan@midwest.social to c/riscv@lemmy.ml

cross-posted from: https://midwest.social/post/31797333

I came across the post about Milk-V Titan, and there was a comment asking about the lack of the V extension would hinder running Ubuntu 25.10 which was targetting a particular RISC-V configuration, and it made me wonder if there were an opportunity for micro kernels to exploit.

Now, up-front: it's been literally decades since I had an OS design class, and my knowledge of OS design is superficial; and while I've always been interested in RISC architectures, the depth of my knowledge of that also dates back to the 90's. In particular (my knowledge of) RISC-V's extension design approach is really, really shallow. It's all at a lower level than I've concerned myself with for years and years. So I'm hoping for an ELI-16 conversation.

What I was thinking was that a challenge of RISC-V's design is that operating systems can't rely on extensions being available, which (in my mind) means either a lot of really specific kernel builds -- like, potentially an exponential number -- or a similar number of code paths in the kernel code, making for more complicated and consequently more buggy kernels (per the McConnell rule). It made me wonder if this is not, then, an opportunity for micro kernels to shine, by exploiting an ability to load extension-specific modules based on a given CPU capability set.

As I see it, the practicality of this depends on whether the extensions would be isolatable to kernel modules, or whether (like the FP extension) it'd just be so intrinsic that even the core kernel would need to vary. Even so, wouldn't having a permutation of core kernel builds be smaller, more manageable, and less bug-prone than permutations of monolithic kernels?

Given the number of different possible RISC-V combinations, would a micro kernel design not have an intrinsic advantage over monolithic kernels, and be able to exploit the more modular nature of their design?

5
submitted 9 months ago* (last edited 9 months ago) by sxan@midwest.social to c/operating_systems@beehaw.org

I came across the post about Milk-V Titan, and there was a comment asking about the lack of the V extension would hinder running Ubuntu 25.10 which was targetting a particular RISC-V configuration, and it made me wonder if there were an opportunity for micro kernels to exploit.

Now, up-front: it's been literally decades since I had an OS design class, and my knowledge of OS design is superficial; and while I've always been interested in RISC architectures, the depth of my knowledge of that also dates back to the 90's. In particular (my knowledge of) RISC-V's extension design approach is really, really shallow. It's all at a lower level than I've concerned myself with for years and years. So I'm hoping for an ELI-16 conversation.

What I was thinking was that a challenge of RISC-V's design is that operating systems can't rely on extensions being available, which (in my mind) means either a lot of really specific kernel builds -- like, potentially an exponential number -- or a similar number of code paths in the kernel code, making for more complicated and consequently more buggy kernels (per the McConnell rule). It made me wonder if this is not, then, an opportunity for micro kernels to shine, by exploiting an ability to load extension-specific modules based on a given CPU capability set.

As I see it, the practicality of this depends on whether the extensions would be isolatable to kernel modules, or whether (like the FP extension) it'd just be so intrinsic that even the core kernel would need to vary. Even so, wouldn't having a permutation of core kernel builds be smaller, more manageable, and less bug-prone than permutations of monolithic kernels?

Given the number of different possible RISC-V combinations, would a micro kernel design not have an intrinsic advantage over monolithic kernels, and be able to exploit the more modular nature of their design?

edit clarification

18
submitted 9 months ago* (last edited 9 months ago) by sxan@midwest.social to c/latestagecapitalism@lemmy.world

Personally, I love the phrasing, but it seems to me an odd choice for a mainstream media "business" section.

CNN Business' "Fear and Greed Index"

56
submitted 9 months ago* (last edited 9 months ago) by sxan@midwest.social to c/enshittification@lemmy.world

Remember the "I want a white one" video? That's the first video I clearly remember having a text-to-speech voice-over. It was really bad TTS, and it was awesome. Lately, though, I find myself wishing video hosting services like Youtube and Peertube (to a lesser degree) had a filter so that I could filter out any videos with TTS voice overs. Does this bother anyone else?

I'm a little torn about it. There are legitimate reasons for people to use them; I've seen commentary from posters about social anxiety that makes even recording audio difficult, and TTS must be fantastic for ~~mute~~ non-verbal(?) folks. Non-native English speakers may be more comfortable with it. I'm sure the platform doesn't help... how many videos do you have to post where the peanut gallery mocks your verbal mistakes before you give up and just have an engine read your written text? I've also noticed that the use of TTS is far, far worse on Youtube -- I have yet to come across a single video on any Peertub site that uses it, although it must exist.

Like a lot of technology, generated speech is getting abused, and since TTS has valid uses, I put it in the "enshittification" category. It's used on every bulk, low-effort "N greatest/funniest/random-adjective" videos; I hear it in increasingly in those suspiciously AI-smelling, ad-ish "reviews" that just read specs and make an odd comment about how cool it is; and there's so much more low-quality, low-information content that feels AI generated uses it -- or maybe it feels AI generated because it uses it. It's almost always on just awful content.

TTS on video content is a perfect example of "this is why we can't have nice things." I am starting to hate it so much, I abort whatever I'm starting to watch as soon as I hear the absurd cadence and mispronunciations -- I'd rather hear an honest non-native speaker making mistakes than that terrible TTS crap.

Whatever the reason, the use of TTS is a trend I'm putting firmly in the "enshittification" category, but am I overreacting here? Do you have a way of dodging or identifying content that uses TTS, in advance?

131
submitted 9 months ago by sxan@midwest.social to c/ukraine@sopuli.xyz

I read a news item about how the recent surge of drone aggression is stressing Ukrainians and affecting moral. It wasn't clear whether that was a propaganda piece meant to imply Ukraine is weakening, but I have noticed far fewer Zelenskyy updates in the past couple of months, and the feeling I get from even the pro-Ukrainian media that the invasion is wearing Ukraine down.

I just want Ukrainians to know that you're not forgotten. Even if you feel as if American attention has shifted to other concerns (we have our own crises and fascists now to occupy us), many of us are still staunchly supportive of the Ukrainian cause, and think about you, and donate to causes which we hope help.

Russia seems like a vast, unending well of cannon fodder. Your allies are fickle, at best. You just want to go back to normal lives, regular prosperity; you want your children back. I can't have any idea what you're going through is really like. For what it's worth, know that you have people around the world who sympathize and grieve with you, who are rooting for you, and most of all, who admire what you've achieved: David resisting a brutish and imperialistic Goliath for years, showing the world just how much how a strong and innovative people can accomplish.

I look forward to seeing what a peaceful, prosperous Ukraine makes of itself after the invaders have been defeated and pushed out. This invasion started with prognostications that Ukraine wouldn't last weeks; three years later, and you continue to defy the invaders. I do not doubt that you can persevere; I just want you to know that, despite the media attention on other struggles, you're not forgotten: we stand with Ukraine.

Slava Ukraini. Heroiam slava.

26
submitted 9 months ago* (last edited 9 months ago) by sxan@midwest.social to c/factorio@lemmy.ml

Picture unrelated to question; built for style, not functionality. I've learned that the most efficient (and boring) platform design is a spear.

I think of all the planets, I like Fulgora the least. I have tried two or three approaches to dealing with the sushi belts of parts; my biggest issue is the monomanical logic of inserters, which -- given a storage chest of a dozen different items, seem to get stuck on one item for extended periods. For instance, unloading a train of random stuff, I'll get 15 inserters all pulling out gears for several minutes, ignoring everything else in the chests. It's frustrating beyond belief, so I think I'm not looking at this the right way.

The biggest issue is buffering. I'll get nothing but gears for a few hours, but then they'll dry up and I'll get nothing but low density structure for a few hours and almost no gears. If I were paranoid, I'd think the devs did this on purpose to maximize jamming.

What I'm going to try next is building a train system with per-item trains, or maybe cars, and see if that helps. Transport raw to an island, recycle it, and load up trains with product and send them to a big factory island. I suspect it's simply going to get jammed up at the recycling center and I won't be any further ahead, but maybe I can mitigate that by just having one, really long train that stops every 12 cars and every series of 12 cars has each car containing a single item.

I don't know. Fulgora just feels stupid, or makes me feel stupid. How do you folks handle Fulgora?

Update edit

I completely redesigned everything on Fulgora, and it doesn't get jammed, and I'm only having to "throw away" steel (the plate, not the girders; I'm not sure why the game calls "girders" "plate", but whatever).

My solution, as it is, is based on the suggestion of having a recycling plant rather than recycling at the miners. I'm using trains: I mine ore into trains and ship it to a recycling island, where the output is filtered into train cars - one type per car. I run the trains full of product to wherever I have factories set up, and pull specific items needed there. I avoid sushi belts and sushi boxcars; my production islands are consequently much simpler, and as yet I'm not having to waste product.

I will point out that I initially used recyclers to reduce the amounts out items, but found I had to keep changing what I was recycling because what was overflowing kept changing, and by recycling I was regularly running out of items; this, again, is related to whatever the RNG is doing to me. Honestly, I have a mind to actually keep a counter, because it appears as if I'll get a run of copper coil, where it's the dominant item mined for dozens of minutes, then it'll be blue chips, and so on, cycling through each of the items. It swamps me with one thing that I can't even manage with belt weaving, then suddenly that'll dry up and I'll get only a trickle of that thing for the next couple of hours. I've frequently had launches completely stop because I had to recycle one component to built rocket parts, and then it dries up and I have to built an assembler to produce the product until the RNG deems me worthy to have it start being a mined item again. If the cycle happened over a period of less than hours, I'd record it. Although, the fact that the inserters (almost) all get stuck on the same item pulling from sushi boxes, I could easily show. If I, of anyone else, cared enough.

In any case, with trains and enough storage boxes I have it set up to weather the droughts and floods of specific items, and am assuming either it's coded this way on purpose, or only doing it on my machine because I don't hear anyone else complaining about it.

45
submitted 10 months ago by sxan@midwest.social to c/lemmy@lemmy.ml

This might be a client thing, but... I'm subscribed to several overlapping communities: !linux on one server, !linux on another, !linux on two others. Same with !lemmy, !commandline, and a couple other communities with the same topic and slightly different membership and/or focus.

Crossposting is a valid and useful tool, but I'm noticing an increase of crossposting where the submitter automatically crossposts to 4 similar communities at the same time. Seems reasonable, and yet... I'm starting to get annoyed by seeing the same post 4 or 5 times in a row. I sort by New and since the posting happens concurrently, they just spam my feed with a page of identical posts.

I could unsubscribe from some similar communities, but the content doesn't exactly overlap and I feel like this is solving the wrong problem. I could decide that automatic crossposting by the same author is "bad behavior" and downvote crossposts, but I feel like this solves the wrong problem and violates a valid use case.

What I think a solution might look like involves a unique ID that persists between crossposts, and a corresponding way to filter s.t. only one post is shown. Some communities are more active than others, and comments on a filtered crosspost would be invisible, so it would be necessary to aggregation crosspost comments, interleaving them under the single, unique, unfiltered post. All comments on all subscribed communities where the post was crossposted would be aggregated; replies to any specific comment would reference the comment in its source community and therefore show up in the right community, for folks who aren't subscribed to multiple duplicate communities.

It requires a more complex solution than it might initially seem. Whatever the solution, I feel as if something should be done, because there's an increasing noise-to-signal ratio resulting from increased crossposting.

38

Something like this? The heavy stagger is great, 42 keys is almost perfect, but the thumb placement is -- for me -- horrible. Having to move my thumb to practically under my palm is just terrible ergonomics.

This thumb layout reminds me more of the ErgoDox variants, and is far better placement. Is there a layout close to this?

[-] sxan@midwest.social 138 points 1 year ago* (last edited 1 year ago)

That's what mobile phones are for.

And, also... has it really gotten to the point where developers are unable to write code without the internet?

[-] sxan@midwest.social 131 points 1 year ago

I miss being indestructible.

[-] sxan@midwest.social 183 points 1 year ago

"You" nerds? It's "we" nerds now, nerd.

[-] sxan@midwest.social 157 points 2 years ago

The water thought you were so stupid, it left.

[-] sxan@midwest.social 197 points 2 years ago

Dr*g?

So, I was at my pharmacy today getting my prescription dr*gs, and afterward stopped by my dealer to pick up some fucking heroin.

[-] sxan@midwest.social 144 points 2 years ago

Except the AMD exploit requires ring 0 access and is almost irrelevant to most users, whereas the Intel issues are physically destroying people's computers. The scale of the issues are utterly incomparable.

I'm much more angry with whatever dipshit at AMD decided to revoke permission for ZLUDA, and that they haven't yet been fired.

[-] sxan@midwest.social 136 points 2 years ago

That's either a professional level dad joke, or holy wow, does he not know how much you make?

That said, I'll build anyone a website for £500, no matter how large. But that's the base model. It'll be a template taken from a catalog, and Hugo. My maintenance fees are only £250 per hour.

[-] sxan@midwest.social 190 points 2 years ago

Gotta love the Satanists. They're fighting the good fight.

[-] sxan@midwest.social 133 points 2 years ago

Arch is only the larval stage. When a Linuxite consumes enough CLI, they metamorphose into one of two adult forms: a Void user, or a NixOS user. As these two adult forms are incompatible, this is a rare case of species divergence within a life cycle. Even more oddly, like the axolotl, many Arch users never leave the larval stage, and continue living comfortably in their ecological niche.

[-] sxan@midwest.social 156 points 2 years ago

On the one hand: awww, poor cheater world's smallest violin meme

On the other hand: expulsion from the university for a first offense seems... harsh.

[-] sxan@midwest.social 159 points 2 years ago* (last edited 2 years ago)

Go is like snakes: you're hatched from an egg and pretty much effective from the get-go. The older you get, the bigger prey you can eat, but otherwise things don't change much since you were hatched. Your species can thrive in almost any environment, you're effective, you have all the tools you need straight out of the egg.

Rust is like humans. There's a huge incubation period, and you're mostly helpless when you're born, but the older you get, the more effective you become with the tools nature graced you with. And you, like Thanos, are inevitable, even if it does mean the death of billions.

Python is like beaver. Everyone has an opinion about you: some think you're cute, some think you're wierd. You're perfectly suited to your environment, but things get awkward outside of your natural habitat - you can function, but not as well as when you're in your comfort zone. And when people encounter you where they're not expecting, they can be unpeasantly surprised, and you can cause them trouble.

C++ is like platypus. You resemble some other more simple, some might say sane, animal, but developed into a sort of frankenstein monster creature made from a jumble of parts and a stinger that, when it kills someone, comes as a shock. Every part of you serves some purpose, even if it seems tacked-on and out of place.

Then there's Node. You are everywhere. You are legion. You fill up ecosystems. People try to defend you, claiming that you serve some purpose in the foodchain, but there's scant evidence. Attempts to eradicate you fail. You often spread deadly disease. You breed, rapidly, persistently, relentlessly. You are widely hated, and yet everwhere.

Edit: typo

[-] sxan@midwest.social 189 points 2 years ago

Everyone is saying they're harmless, but we read house centipedes cam leave painful bites. I've never been bitten, that I know of, but when plagued with centipedes, I'd sometimes wake up with one of two types of mysterious bug bites: itchy, and painful. I know from prior experience that most North American spider bites are only ever itchy, so I always put the painful ones down to house centipedes. I can't prove it, though. Here are the facts I do know about house centipedes, from empiricle evidence:

  • They like damp. You'll find them in damp spots, drains, around toilets, around damp areas in basements, etc. Not exclusively, but predominantly.
  • They wage a secret war with spiders. Sometimes the spider wins, but usually the centipede does unless it gets trapped by a web.
  • Alive, they move like the wind. Shockingly, alarmingly fast.
  • When smacked, they explode into air and legs. So many legs, and not much else.
  • Despite reports that they control other bugs, they are useless against real nuisance bugs like soldier and stink bugs. And for fly control, spiders do a better job. The only real thing we ever saw centipedes hunting were spiders.
  • Small glue traps work really well at controlling them. I caution against large glue traps, as they might catch small rodentia, and if you want to know true horror, find a YouTube video of a mouse caught in a glue trap.

I'm team spider.

view more: next ›

sxan

0 post score
0 comment score
joined 3 years ago