Move beyond basic threshold alerts! Define clear Service Level Objectives (SLOs) and measure Service Level Indicators (SLIs) to track real user impact. Use Prometheus to alert when your SLOs are at risk, ensuring you focus on what truly matters to your users. #Monitoring #SRE #Prometheus
task tracking in obsidian with the tasks plugin has gone pretty well today. iāve completed all but one tasks i had set for today. that makes me really happy
rough day today T__T therapy was hard. iām trying yet again to establish a routine and stick to it. or at least a way of tracking my tasks and making a routine out of that over time. i really hope it sticks
Boa PĆ”scoa š£ https://open.spotify.com/track/4gih7sPHZP2uMj2v6DJAHF
Amiga OS 3.2 Update 3 released
Iāve long lost the ability to keep track of whateverās happening in the Amiga community, and personally I tend to just focus on tracking MorphOS and AROS as best I can. The remnants of the real AmigaOS, and especially who owns, maintains, and develops which version, are mired in legal battles and ownership limbo, and since I can think of about a trillion things Iād rather do than keep track of the interpersonal drama by reading various Amiga forums, I honestly didnāt ev ⦠ā Read more
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? š¤
@prologic@twtxt.net I havenāt been tracking these changes or conversation. Can you link me to something so that I can catch up?
France fines Apple ā¬150M for āexcessiveā pop-ups that let users reject tracking
Comments ā Read more
Microsoft releases Windows 11 roadmap tool to help make sense of Windows 11ās development
Iāve complained about the utter inscrutability of the Windows release process for a long time, with Microsoft seemingly using channels, build numbers, code names, date-based version numbers, and so on interchangeably, making it incredibly hard to keep track of what is being released when. It turns out even Microsoft itself started losing track, because it ⦠ā Read more
DOGE To Rewrite SSA Codebase In āMonthsā
Longtime Slashdot reader frank_adrian314159 writes: According to an article in Wired, Elon Musk has appointed a team of technologists from DOGE to ārewrite the code that runs the SSA in months.ā This codebase has over 60 million lines of COBOL and handles record keeping for all American workers and payments for all Social Security recipients. Given that the code has to track the byzantine ⦠ā Read more
Playing multimedia with Dillo
What if you want to use a web browser like Dillo, which lacks JavaScript support and canāt play audio or video inside the browser? Dillo doesnāt have the capability to play audio or video directly from the browser, however it can easily offload this task to other programs. This page collects some examples of how to do watch videos and listen to audio tracks or podcasts by using an external player program. In particular we will cover mpv with yt-dlp which supports YouTube ⦠ā Read more
this esp32 issue is tracked under CVE-2025-27840⦠Looks like I should try alternative chips for meshtastic!
@lyse@lyse.isobeef.org i appreciate you updating this with that info. been in the weeds at work so havenāt been tracking the conversation here much. let me sit on this for a bit because often times the edits are within seconds of first post so maybe maybe i just allow them within a certain time frame or do away with them all together. i really only do it because it bugs me once i notice the typo :)
looks good to me!
About aliceās hash, using SHA256, I get 96473b4f
or 96473B4F
for the last 8 characters. Iāll add it as an implementation example.
The idea of including it besides the follow URL is to avoid calculating it every time we load the file (assuming the client did that correctly), and helps to track replies across the file with a simple search.
Also, watching your example Iām thinking now that instead of {url=96473B4F,id=1}
which is ambiguous of which URL we are referring to, it could be something like:
{reply_to=[URL_HASH]_[TWT_ID]}
/ {reply_to=96473B4F_1}
That way, the āfull twt IDā could be 96473B4F_1
.
thatās a fair point.
Perhaps, since Twitter in 2006 never implemented read flags, every derivative microblogging system never saw that as an expected feature. This is curious because Twitter started with SMS, where on our phones we can mark messages as read or unread.
I think it all comes from the difference between reading an email (directed to you) vs. reading public posts (like a blog or a āwall,ā where you donāt mark posts as read). Itās not necessary to mark it as āreadā, you just jump over it.
Reading microblogging posts in an email program is not common, I think, and I havenāt really used it, so I cannot say how it works, and whether it would be better for me or not.
However, Iāve used Thunderbird as a feed reader, and I understand the advantages when reading blog posts.
About read flags being simple, well⦠we just had a discussion this morning about how tracking read messages would require a lot of rethinking for clients such as timeline
where no state is stored. Even considering some kind of ānotification of unread messages or mentionsā is not expected for those minimalist client, so itās an interesting compromise to think about.
Three years of ephemeral NixOS: my experience resetting root on every boot
We had a bit of a bug caused by changes we made to make quotes look better, but weāve fixed it now, so weāre back on track (you may need to do a force-reload in your browser). Sorry for the disruption ā and if you want to stay up-to-date on such issues next time it (inevitably) happens, you should follow the OSNews Fedi account (or just bookmark it without following it, if youāre not ⦠ā Read more
Pinellas County - Long run: 11.04 miles, 00:09:47 average pace, 01:47:57 duration
my legs were dead tired. i meant to stop and take a picture of this skeleton sitting in a dead tree but missed it. was chatting up a fellow running named vincent and lost track of time. also saw some friends and their daughter out riding bikes. the last overpass i walked over since my HR was getting high. decent run for having little to no energy after yesterdays session.
#running
Building a (T1D) smartwatch from scratch
If you have type 1 diabetes, you need to keep track of and manage your blood glucose levels closely, as if these levels dip too low, it can quickly spiral into a medical emergency. Andrew Childsā 9 year old son has type 1 diabetes, and Childs was unhappy with any of the current offerings on the market for children to keep track of their blood glucose levels. Most people suggested an Apple Watch, but he found the Apple Watch ātoo much deviceā for a kid, ⦠ā Read more
Pinellas County - 3 mile run: 3.13 miles, 00:09:09 average pace, 00:28:38 duration
really nice out. still went out faster than i wanted and i really need to get better at keeping it on track.
#running
@movq@www.uninformativ.de Thatās so damn cool mate! I went through the code, but this lowlevel stuff is really not my favorite cup of tea. Having said that, it was actually really nice to see the abstractions and APIs work together and how things are getting indeed very readable in the userland programs. Thatās easy to track in this extremely tiny OS implementation. Excellent work, keep on hacking!
Now, you just have to quickly add a network stack and then can write a twtxt client for it! ]:->
a new emmanation of my trusty old vim config, now available as a home-manager nix module. now i can track my dependencies with nix instead of using git subtree and it makes installing backend programs like language servers and such way easier. https://src.ix.cyb.red/pe-vim/
AI helps driverless cars predict how unseen pedestrians may move
A specialised algorithm could help autonomous vehicles track hidden objects, such as a pedestrian, a bicycle or another vehicle concealed behind a parked car ā Read more
@prologic@twtxt.net I wanted to wait for things to settle down. Itās still unclear to me in which direction weāre going ā and if that new/different stuff is even possible to implement in jenny. That said, Iāve been really busy with private stuff these last few days, Iāve lost track of most of what youāre discussing. š„“
I wrote some code to try out non-hash reply subjects formatted as (replyto ), while keeping the ability to use the existing hash style.
I donāt think we need to decide all at once. If clients add support for a new method then people can use it if they like. The downside of course is that this costs developer time, so I decided to invest a few hours of my own time into a proof of concept.
With apologies to @movq@www.uninformativ.de for corrupting jennyās beautiful code. I donāt write this expecting you to incorporate the patch, because it does complicate things and might not be a direction you want to go in. But if you like any part of this approach feel free to use bits of it; I release the patch under jennyās current LICENCE.
Supporting both kinds of reply in jenny was complicated because each email can only have one Message-Id, and because itās possible the target twt will not be seen until after the twt referencing it. The following patch uses an sqlite database to keep track of known (url, timestamp) pairs, as well as a separate table of (url, timestamp) pairs that havenāt been seen yet but are wanted. When one of those āwantedā twts is finally seen, the mail file gets rewritten to include the appropriate In-Reply-To header.
Patch based on jenny commit 73a5ea81.
https://www.falsifian.org/a/oDtr/patch0.txt
Not implemented:
- Composing twts using the (replyto ā¦) format.
- Probably other important things Iām forgetting.
Pinellas County - Long Run: 10.03 miles, 00:09:47 average pace, 01:38:09 duration
felt great today! temp was down to 78F and 80% RH, but there was an ever so slight breeze so it did not feel sticky. carbo loaded the day before so maybe that had something to do with it too, but i really have not been tracking my nutrition at all. kept it easy the first five or so miles and then bumped it up ever so slightly for the remainder. probably could have gone an even two hours but running on new shoes (hoka mach 6) and really have not broken them in yet. lots of hot spots and a lot of troubleshooting on the go.
#running
Microsoft Outage Hits Users Worldwide, Leading To Canceled Flights
Microsoft grappled with a major service outage, leaving users across the world unable to access its cloud computing platforms and causing airlines to cancel flights. From a report: Thousands of users across the world reported problems with Microsoft 365 apps and services to Downdetector.com, a website that tracks service disruptions. āWeāre inve ⦠ā Read more
I wrote up a lab report on my daily to-do tracking āsystemā, mostly so I could stop thinking about it. The report is at http://a.9srv.net/reports/daily.pdf and the referenced code is at http://txtpunk.com/daily/index.html.
Supersymmetry
ā Read more
I hope this weekend I get my life back on track
I hope today will be the weekend I get my life back on track
Iām telling ya guys š plex.tv had way better shitā¢, Get it installed on your own server, get access to free content + your own + whatever and no stupid tracking and bullshit š¤£
I like FIDO2 as a replacement for passwords. But you gotta keep track of the little dongle
@adi@twtxt.net I think it is, and one benefit they have is that you can add third-party repositories to the F-Droid app as you discover them. So, for instance, if you know of a developer who pushes builds to an F-Droid compatible repository, you can add that to your F-Droid app and start tracking updates like you would for any other app in there. Canāt do that with Google Play!
F-Droid tends to focus on open source applications that can be built in a reproducible way, which limits the inventory (though of course tends to mean the apps are safer and donāt spy on you). There are non-free apps in there as well but they come with warnings so youāre informed about what you might be sacrificing by using them.
That said if you have a favorite app you get through Google Play, thereās a decent chance it wonāt be in F-Droid. Many ābig corporateā apps arenāt, and vendor-specific apps tend not to be either. But for most of the major functions you might want, like email clients, calendar apps, weather apps, etc etc, there are very good substitutes now in F-Droid. Youāre definitely making a trade-off though.
What I did was go through the apps I had installed on my last phone, found as many substitutes in F-Droid as I could, started using those instead to see how they worked, and bit by bit replaced as much as I could from Google Play with a comparable app from F-Droid. I still have a few apps (mostly vendor-specific things that donāt have substitutes) that come from Google Play but Iām aiming to be rid of those before I need to replace this phone.
@movq@www.uninformativ.de @mckinley@twtxt.net I believe the resurgence in availability of municipal WiFi is largely driven by the surveillance capabilities it offers. Every person who has WiFi enabled on their phone can be tracked throughout the city as their phones ping various base stations; a lot of folks arenāt aware of just how much information can be slurped out of a phone that isnāt locked down just from its WiFi pings. I know this happens in Toronto, and I was familiar with a startup in Massachusetts that based its business model on this very concept. I can only assume itās widespread in the US if not throughout the Western world.
@prologic@twtxt.net It was super useful if you needed to do the sorts of things it did. Iām pretty sad.
At its core was Sage, a computational mathematics system, and their own version of Jupyter notebooks. So, you could do all kinds of different math stuff in a notebook environment and share that with people. But on top of that, there was a chat system, a collaborative editing system, a course management system (so if you were teaching a class using it you could keep track of students, assignments, grades, that sort of thing), and a bunch of other stuff I never used. It all ran in a linux container with python/conda as a base, so you could also drop to a terminal, install stuff in the container, and run X11 applications in the same environment. I never taught a class with it but I used to use it semi-regularly to experiment with ideas.
@lyse@lyse.isobeef.org I knew from the get go it was going to be an annoying thing to track down, which is was, but that made it take even longer because I avoided trying.
My desktop computer developed a really annoying vibration-induced buzzing sound a few months ago after I added some hard drives to it. It was one of these where itād be more or less quiet, and then all of a sudden a buzzing would start. If you tapped the case, it often made the buzzing stop.
One by one I went through my components, and the day before yesterday I finally identified the guilty party, one particular HDD. Currently I have the case open and a piece of cardboard jammed under the drive in its tray. The computer has not buzzed since I did that, so it looks to me like securing that drive better will finally end this madness-inducing sound.
Wild that it takes so long to track down something like this and figure out what to do about it.
@lyse@lyse.isobeef.org that could definitely be a track in an ambient song, no question whatsoever.
The exhaust is amazingly soothing to look at, even though itād vaporize your entire being in milliseconds if you were anywhere near it.
(cont.)
Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.
Domain ObjectsA domain object can be used as an aggregate by adding the event.AggregateRoot
struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.
type User struct {
Identity string ```json:"identity"`
CreatedAt time.Time
event.AggregateRoot
}
// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
return "user-" + a.Identity
}
// ApplyEvent to the aggregate state.
func (a *User) ApplyEvent(lis ...event.Event) {
for _, e := range lis {
switch e := e.(type) {
case *UserCreated:
a.Identity = e.Identity
a.CreatedAt = e.EventMeta().CreatedDate
/* ... */
}
}
}
Events
Events are applied to the aggregate. They are defined by adding the event.Meta
and implementing the getter/setters for event.Event
type UserCreated struct {
eventMeta event.Meta
Identity string
}
func (c *UserCreated) EventMeta() (m event.Meta) {
if c != nil {
m = c.eventMeta
}
return m
}
func (c *UserCreated) SetEventMeta(m event.Meta) {
if c != nil {
c.eventMeta = m
}
}
Reading Events from EventStore
With a domain object that implements the event.Aggregate
the event store client can load events and apply them using the Load(ctx, agg)
method.
// GetUser populates an user from event store.
func (rw *User) GetUser(ctx context.Context, userID string) (*domain.User, error) {
user := &domain.User{Identity: userID}
err := rw.es.Load(ctx, user)
if err != nil {
if err != nil {
if errors.Is(err, eventstore.ErrStreamNotFound) {
return user, ErrNotFound
}
return user, err
}
return nil, err
}
return user, err
}
OnX Commands
An OnX command will validate the state of the domain object can have the command performed on it. If it can be applied it raises the event using event.Raise() Otherwise it returns an error.
// OnCreate raises an UserCreated event to create the user.
// Note: The handler will check that the user does not already exsist.
func (a *User) OnCreate(identity string) error {
event.Raise(a, &UserCreated{Identity: identity})
return nil
}
// OnScored will attempt to score a task.
// If the task is not in a Created state it will fail.
func (a *Task) OnScored(taskID string, score int64, attributes Attributes) error {
if a.State != TaskStateCreated {
return fmt.Errorf("task expected created, got %s", a.State)
}
event.Raise(a, &TaskScored{TaskID: taskID, Attributes: attributes, Score: score})
return nil
}
Crud Operations for OnX Commands
The following functions in the aggregate service can be used to perform creation and updating of aggregates. The Update function will ensure the aggregate exists, where the Create is intended for non-existent aggregates. These can probably be combined into one function.
// Create is used when the stream does not yet exist.
func (rw *User) Create(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil && !errors.Is(err, ErrNotFound) {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
// Update is used when the stream already exists.
func (rw *User) Update(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
Itāll track a bunch of finger(1) endpoints and let you see whatās new. Very early draft. Not actually a social network, more an anti-social network for ā80s CompSci transplants. :-)
trying some day planning on paper, quantizing all tasks into pomodoros. feels good. my goal is to make software only if/when Iāll feel Iāll need it and have a pretty decent idea of WHAT I need #tracking #selfimprovement #time
yarnd
, the mobile app nor API support this anyway...
@movq@www.uninformativ.de i believe the delete of any twt was a tech limitation with retwt parser not knowing where in the file a twt came from. lextwt tracks the bytes in file where a twt was read from. which could be used to delete a twt from file.. in theory.
Convocations comprises five volumesāMeditations, Lamentations, Revelations, Celebrations and Incantationsāthe project is a two-and-a-half-hour, 49-track reflection on a year of anxiety, uncertainty, isolation, and loss. https://music.sufjan.com/album/convocations
rapping in english is hard. i can do it, but its so much more work to grasp the flow. i can cover some aesop rock tracks and a struggle some, but then iām just flowing in spanish. maybe i should just rap in spanish lmao
@prologic@twtxt.net in theory shouldnāt need to let users add feeds.. if they get mentioned by a tracked feed they will get added automagically. on a pod it would just need to scan the twtxt feed to know about everyone.
@lyse@lyse.isobeef.org @prologic@twtxt.net very curious⦠i worked on a very similar track. i built a spider that will trace off any follows =
comments and mentions from other users and came up with:
twters: 744
total: 52073
@prologic@twtxt.net pod should probably track revocation of device keys and delete the encryptedkeys that are paired with revoked keys
@lucidiot@tilde.town [re: abandoned ideas] Thanks for the inspiration! How do you keep track of projects now? Do you know about TaskWarrior?