What are you doing this week?
13 points by caius
13 points by caius
What are you doing this week? Feel free to share!
Keep in mind it’s OK to do nothing at all, too.
I'm planning to work as much as I can on Hister.
I'm currently polishing the newly added semantic search support. Later this week I'd like to start working on improving the user authentication by adding OIDC/OAuth/LDAP support.
Very very cool project! Making it multiplayer by allowing OIDC would let me deploy it for my family which would just be so cool.
One question arose while skimming the (quite nice) documentation: how does it handle sites that infinitely scroll on a single page (Facebook, x, so on...) Or often change (lobsters)? I assume the tool will later sprout an "ignore list" for these sorts of sites.
Love that you've evaded the paywall and auth problem by sending what the user sees. Much smarter than loading the page again on the indexing server (though with the obvious privacy tradeoff wherein every user's index now needs to be distinct from every other user)
Thanks for the kind words!
how does it handle sites that infinitely scroll on a single page (Facebook, x, so on...) Or often change (lobsters)?
This is an unresolved issue I'd like to find a solution for. Currently Hister automatically overwrites pages with the latest version on each reload/content change. We have extractors that can provide domain specific parsing/preview, but I have no working approach to handle feed style data sources yet. (Ideas and suggestions are appreciated!)
Ohh very interesting. Nearly 20 years ago I built something to solve the same issue.
Back then, Google offered a bookmarking service (to compete with delicious) and their unique selling point was that you could search those bookmarks using their search engine. So I built a browser extension that bookmarked every page I visited. Worked great.
Until Google "asked" very nicely to take down that extension as they couldn't handle the load. https://www.splitbrain.org/blog/2008-06/25-google_public_relations
Woow, this is such a nice (and relevant) story, thanks for sharing it. =]
I'm not relying on external services with Hister which has it's own pros and cons. Advantageous, because probably I won't receive phone calls from lawyers, but requires significantly more work even to get closer to the quality of existing commercial services.
Hister has been one of my favorite things to work on lately, and I'm proud of how much I've put into it
Thanks for reminding me of Hister! I was thinking of setting it up when you posted it to Lobste.rs but ended up not having the time to do it. I'm currently letting it crawl through my 82053(!) history entries in Firefox.
Finalising the move to bilbao, we got all our papers in order, fought the german bureaucracy to cancel our internet, power and contrary to my expectations fought the least to notify the local government branch of our move. Now we just have to drive from berlin to bilbao and put all our stuff into the new flat
$WORK: Continue fighting the revenue recognition model
$PERSONAL:
I've been up to a decent amount of stuff:
Continuing the job hunt. The startup* I signed on with turn out to be a complete mess and is driving me straight to Burn Out Town, so my goal is to move on before I physically or mentally collapse.
I have a lot if hardware repair/diagnostic skills (industrial IoT and embedded systems mostly, but I tinker with a wide variety of stuff), and a ton of great customer service and sales experience, so I usually end up in Field Service roles.
Really, I just want something with reasonable hours that isn't so hard on my ageing body where I can still help troubleshoot or educate customers, helping them get the most out of the product. This is proving weirdly difficult to find in the US, but maybe I am looking in the wrong places.
Think you can offer guidance? Email me.
Working on a UI library for my operating system
oh that's looking pretty cool! for me, OSdev is the ultimate karma level that i'll be forever chasing! :)
On Friday, catching a train to Manchester for OggCamp; and then, running the crew at the event at the weekend.
Rest of week: finishing up my work at Mastodon (and looking for something new)
I'm continuing work on Ekto's VM.
Ekto will be an easily embeddable, typed, effect managed language influenced by Lua, Koka, and Erlang. Today, it's a half-comprehensible spec and a half-built VM called Casper.
I actually really like Casper's design so far, but I'm about to bite off the two "hard" bits. First, Ekto is refcounted and I need a representation of how to trace data structures to recursively drop them. Originally, I took a shortcut and assumed I could just monomorphize and emit drop code per type. I knew the monomorphization was maybe a little ambitious, but what I didn't expect at first was how that would fall apart on the second hard bit.
The second hard bit is implementing delimited continuations as "slices" into the VM state. Originally, I was planning on following Xie & Leijen's 2021 "Generalized Evidence Passing" technique that compiles all of this down to closure capture, but I thought that since I've got a VM I might as well exploit that.
Unfortunately, if I want full generalized delimited continuations like this, I need to have a memory management story for the captured resumptions. This means I still have to go at least halfway toward capturing each of these resumptions as a closure: I need to a trace of what registers are heap pointers available at every potential yield point.
(This isn't as bad as it seems under the general assumption that most yield points are "tail resumptive" and don't actually need a continuation capture at all.)
So, now I'm eyeballing ideas like using run-length encoding to create compressed traces of "live" registers and storing one per yield point. And I'm also seriously reconsidering whether I shouldn't just fully closure convert (really: contify) these yield points.
Grinding leetcode
In between the job hunt (Staff+ level, Rails or Go, backend mostly or engineering manager) I will be working on Menagerie, my system agnostic RPG character sheet app.
I just finished a game in Javascript + ThreeJS for Ludum Dare 59 (https://crocidb.itch.io/remote-tactical-wars) and although I don't think the game is particularly fun, I did explore some really interesting ideas that I'd like to expand on, and maybe turn into a full game. This week I'll be playing a lot of other games from the jam. :)
I've recently moved and I still have some missing furniture, so I'll be looking for stuff that fits an apartment in a house built in 1928 (this is Helsinki in case you happen to know a good local vintage store).
I'm also going through Conceptual Mathematics (Lawvere, Schanuel) to get used to working in categorical contexts. I'm not a mathematician by profession but it's an interest, especially the constructive side.
Summer is arriving, though, and it looks like it might be a good idea to go outside, maybe even touch some grass.
I added a used 27" monitor to my my desk setup on Saturday (the new one is on the left; the laptop stand used to be there so I moved it to the right) and I'm planning to replace the USB-only KVM I have right now with one that also supports HDMI and buy some longer HDMI cables so I can route them under the table and get rid of the remaining mess. I'm very pleased by how adding something new actually ended up clearing some space on the desk.
I'll also try to work a little more on the GTK TeamSpeak client I've been hacking on lately. I'm kind of stuck on deciding how to define the binding between the UI and the model, because I feel like defining everything as messages might end up a little messy. If anybody's worked with gtk-rs and Relm4 I'd appreciate some input!
At work I have some more bug fixing before a release. We had a few big behind the scenes changes go in this release (license management changes,a lot of dependency upgrades, etc.), and QA's been hitting a bunch of cases that we don't have automated tests for. Fortunately most of the issues have been easy to find and fix, and it's giving us feedback about what the automated tests need to cover when we write them.
Outside of work, I'm still getting acquainted with Mahogany and trying to get it setup to match my X11 and StumpWM config.
Working on an ethnological/cultural analysis study about place, locality and mobility.
Flying to SF to meet friends and colleagues
Reading the Book of Five Rings.
I set up listing posts by tag on my blog. I'm trying to find a decent RSS reader for testing the RSS feed generation locally and to track other blogs I'm interested in.
At work: writing an abstraction layer for an LDAP service and then rewriting an aggregation tool to use the abstraction layer At home: continuing to study Kubernetes, cycling a bit
Besides work, I continue working on my Abject project (https://abject.world) making it more capable out of the box. I think Agents are the wrong model and Abjects are the right one.
Heading up to Glasgow for Haggis Ruby later in the week.
Hoping to get out on the bike with the cycling club this evening too, first evening ride of the year for my group.
Building data recovery tools for corrupt Veeam backups at work and implementing some architectural changes for my homelab at home.