I came across this Gallery Theme for Hugo, and @lyse@lyse.isobeef.org immediately came to mind. I think it would be a very fitting theme to use for all your photos, Lyse!
@xuu@txt.sour.is Thanks for the link. I found a pdf on one of the authors’ home pages: https://ahmadhassandebugs.github.io/assets/pdf/quic_www24.pdf . I wonder how the protocol was evaluated closer to the time it became a standard, and whether anything has changed. I wonder if network speeds have grown faster than CPU speeds since then. The paper says the performance is around the same below around 600 Mbps.
To be fair, I don’t think QUIC was ever expected to be faster for transferring a single stream of data. I think QUIC is supposed to reduce the impact of a dropped packet by making sure it only affects the stream it’s part of. I imagine QUIC still has that advantage, and this paper is showing the other side of a tradeoff.
This tool, using age is pretty neat: https://github.com/ndavd/agevault. So simple, yet seemingly powerful!
oh dang. i think thats the go path not the github path.. missing the branch name. here is the pkg one: https://pkg.go.dev/github.com/quic-go/quic-go/http3
for http3 there is
Kinda cool tool for bringing together all your timeline based data across socials.
O meu novo salva-vidas na hora de montar um novo site #vuejs sem as tretas dos build systems: Vue3 Tiny Template, da inimitável @b0rk@b0rk
Every time I start a Vue project, I get confused and waste 15 minutes reading the documentation and remembering how to set up Vue.
So this is a tiny template I made for myself so that I can avoid that next time. I don’t use a build process, instead it uses the CDN version of Vue and a single HTML / JS file.
Have not tried any of them, but some of these seem to fit the bill:
@movq@www.uninformativ.de Maybe something for you: 7.css - A CSS framework for recreating Windows 7 UI
@prologic@twtxt.net and @bender@twtxt.net for a start a single user twtxt/yarn pod could look like this 😉
Just fleshed out the README for timeline at https://github.com/sorenpeter/timeline - Comments/corrections and PRs are welcome:)
Added support for #tag clouds and #search to timeline. Based on code from @dfaria.eu@dfaria.eu🙏
Live at: http://darch.dk/timeline/?profile=https://darch.dk/twtxt.txt
It not that easy @xuu@txt.sour.is since I implemented webmentions in a different way that how it have been done in yarnd to work with txt-files. You can find the code in webmention_endpoint.php and new_twt.php at main · sorenpeter/timeline
Just hacked together this small webfinger endpoint to be used as a companion with timeline: .well-known/webfinger/index.php at main · sorenpeter/timeline
@shreyan@twtxt.net What do you mean when you say federation protocol?
Either use webfinger for identity like mastodon etc. or use ATproto from Bluesky (or both?)
We can use webmentions or create our own twt-mentions for notifying someones feed (WIP code at: https://github.com/sorenpeter/timeline/tree/webmention/views)
I’m not sure we need much else. I would not even bother with encryption since other platforms does that better, and for me twtxt/yarn/timeline is for making things public
@prologic@twtxt.net ahhh! Its the dark reader plugin breaking the page.
This day one advantage of code was pretty neat looking.
https://twitter.com/gereleth/status/1730495736070938786?s=09
Code here: https://github.com/gereleth/aoc_python/blob/main/src/year2023/day01vis.py
Ahh I see how someone did it.
https://github.com/immannino/advent-of-go/blob/master/cmd/2023.go#L30-L40
Github is like Linkedin for Developers
Started the process of migrating from Github to Codeberg with my projects.
Neat.. Gitea cloud for a hosted alternative to github and gitlab. https://blog.gitea.com/gitea-cloud/
Gracias. Also the git repo now contain code that should actually work
@lyse@lyse.isobeef.org I wish more standardization around distributed issues and PRs within the repo ala git-bug was around for this. I see it has added some bridge tooling now.
@hecanjog@hecanjog.com I have a script for tmux that sets up a new if needed among other things.
http://github.com/brandur/tmux-extra
Works great with powerline.
@prologic@twtxt.net I always liked bit.
I am disappointed that a GUI app would not at least have screenshots.
@abucci@anthony.buc.ci So.. The issue is that its showing the password by default? Would making an alias to always include the -c help? We can probably engage Jason with a PR to enable a more hardened approach when desired. I’ve spoken to him before and is generally a pretty open to ideas.
I found this app that was created by the gopass author that does copy by default and has a tui or GUI mode https://github.com/cortex/ripasso
@prologic@twtxt.net see where its used maybe that can help.
https://github.com/sour-is/ev/blob/main/app/peerfinder/http.go#L153
This is an upsert. So I pass a streamID which is like a globally unique id for the object. And then see how the type of the parameter in the function is used to infer the generic type. In the function it will create a new *Info and populate it from the datastore to pass to the function. The func will do its modifications and if it returns a nil error it will commit the changes.
The PA type contract ensures that the type fulfills the Aggregate interface and is a pointer to type at compile time.
one that i think is pretty interesting is building up dependent constraints. see here.. it accepts a type but requires the use of a pointer to type.
https://github.com/sour-is/ev/blob/main/pkg/es/es.go#L315-L325
$name$
and then dispatch the hashing or checking to its specific format.
Circling back to the IsPreferred method. A hasher can define its own IsPreferred method that will be called to check if the current hash meets the complexity requirements. This is good for updating the password hashes to be more secure over time.
func (p *Passwd) IsPreferred(hash string) bool {
_, algo := p.getAlgo(hash)
if algo != nil && algo == p.d {
// if the algorithm defines its own check for preference.
if ck, ok := algo.(interface{ IsPreferred(string) bool }); ok {
return ck.IsPreferred(hash)
}
return true
}
return false
}
https://github.com/sour-is/go-passwd/blob/main/passwd.go#L62-L74
example: https://github.com/sour-is/go-passwd/blob/main/pkg/argon2/argon2.go#L104-L133
$name$
and then dispatch the hashing or checking to its specific format.
Hold up now, that example hash doesn’t have a
$
prefix!
Well for this there is the option for a hash type to set itself as a fall through if a matching hash doesn’t exist. This is good for legacy password types that don’t follow the convention.
func (p *plainPasswd) ApplyPasswd(passwd *passwd.Passwd) {
passwd.Register("plain", p)
passwd.SetFallthrough(p)
}
https://github.com/sour-is/go-passwd/blob/main/passwd_test.go#L28-L31
$name$
and then dispatch the hashing or checking to its specific format.
Here is an example of usage:
func Example() {
pass := "my_pass"
hash := "my_pass"
pwd := passwd.New(
&unix.MD5{}, // first is preferred type.
&plainPasswd{},
)
_, err := pwd.Passwd(pass, hash)
if err != nil {
fmt.Println("fail: ", err)
}
// Check if we want to update.
if !pwd.IsPreferred(hash) {
newHash, err := pwd.Passwd(pass, "")
if err != nil {
fmt.Println("fail: ", err)
}
fmt.Println("new hash:", newHash)
}
// Output:
// new hash: $1$81ed91e1131a3a5a50d8a68e8ef85fa0
}
This shows how one would set a preferred hashing type and if the current version of ones password is not the preferred type updates it to enhance the security of the hashed password when someone logs in.
https://github.com/sour-is/go-passwd/blob/main/passwd_test.go#L33-L59
I made a thing. Its a multi password type checker. Using the PHC string format we can identify a password hashing format from the prefix $name$
and then dispatch the hashing or checking to its specific format.
it uses the queries you define for add/del/set/keys. which corrispond to something like INSERT INTO <table> (key, value) VALUES ($key, $value)
, DELETE ...
, or UPDATE ...
the commands are issued by using the maddycli but not the running maddy daemon.
see https://maddy.email/reference/table/sql_query/
the best way to locate in source is anything that implements the MutableTable interface… https://github.com/foxcpp/maddy/blob/master/framework/module/table.go#L38
Progress! so i have moved into working on aggregates. Which are a grouping of events that replayed on an object set the current state of the object. I came up with this little bit of generic wonder.
type PA[T any] interface {
event.Aggregate
*T
}
// Create uses fn to create a new aggregate and store in db.
func Create[A any, T PA[A]](ctx context.Context, es *EventStore, streamID string, fn func(context.Context, T) error) (agg T, err error) {
ctx, span := logz.Span(ctx)
defer span.End()
agg = new(A)
agg.SetStreamID(streamID)
if err = es.Load(ctx, agg); err != nil {
return
}
if err = event.NotExists(agg); err != nil {
return
}
if err = fn(ctx, agg); err != nil {
return
}
var i uint64
if i, err = es.Save(ctx, agg); err != nil {
return
}
span.AddEvent(fmt.Sprint("wrote events = ", i))
return
}
This lets me do something like this:
a, err := es.Create(ctx, r.es, streamID, func(ctx context.Context, agg *domain.SaltyUser) error {
return agg.OnUserRegister(nick, key)
})
I can tell the function the type being modified and returned using the function argument that is passed in. pretty cray cray.
Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.
It’s super basic. Using tidwall/wal as the disk backing. The first use case I am playing with is an implementation of msgbus. I can post events to it and read them back in reverse order.
I plan to expand it to handle other event sourcing type things like aggregates and projections.
Find it here: sour-is/ev
@prologic@twtxt.net @movq@www.uninformativ.de @lyse@lyse.isobeef.org
wait, is CIRL incorrigible for the same reason that utility-maximizers don’t wirehead? https://niplav.github.io/notes.html#A-Short-Example-For-Why-CIRL-Is-Incorrigible
9 wikipedia edits today! yay me! (also a bunch of small scale contributions to other people’s texts: https://niplav.github.io/contributions.html)
My website is very Piling. look at the todo list: https://niplav.github.io/todo.html! i can’t tell you much about how it will look like in a year, but i can tell you that it won’t shrink. it’s piling. everything is piling up, forgotten drafts, half-finished experiments, buggy code—fixed over time, sure, but much more slowly than the errors come rolling in. it’s an eternal struggle.
fifth, small & nifty programs. https://niplav.github.io/code/99_klong/sol.kg being exemplary, but i want to write some more code. every single function there is Done. there is only stuff to remove, if at all, and nothing to add.
for what i’ve invested in my site, it’s now probably time to move it off github.io on my own domain
One year ago to the date I made the lastest update for #phpub2twtxt to github and now 365 days later I have published #pixelblog as its successor - lets see where things are going for trip around the sun
Hey. I my own local forward tool. https://github.com/JonLundy/sshfwd it uses ssh port forwards.
fake english word generation for Go and CLI: [[https://github.com/nwtgck/go-fakelish]] #links
a zero dependency shell script that makes it really simple to manage your text notes [[https://github.com/nickjj/notes]] #links
squinewave: a sine-square-saw-pulse oscillator with hardsync: [[https://github.com/required-field/squinewave]] #links
No on gitlab. If its self hosted gitea is best in class.
I can see hosting a mirror on github if only for the redundancy/visibility. Some projects will host but then direct contributions on their self host. Like Go does.
I would suggest using a vanity domain that can redirect tools like go get to hosting of choice. And not require rewriting all the packages any time it gets moved.
Everybody is building one because, you know, why not? Why I built my own static site generator.
using this as the service: https://github.com/JonLundy/sshfwd
@niplav@niplav.github.io bigwor~1
@mckinley@twtxt.net @prologic@twtxt.net I have updated the ticket with my findings.. its not what you expect! /clickbait https://github.com/jointwt/twtxt/issues/424
@alip@dev.exherbo.org “We are calling for Richard M. Stallman to be removed from all leadership positions, including the GNU Project. https://rms-open-letter.github.io/” highly contextual/simulacrous memeplexes exclude high-variance impact neuroatypicals, nobody thinks about incentives?
1bitr is a one-bit text-based music tracker [[https://github.com/zserge/1bitr]]. #links
@(frogorbits.com) @niplav@niplav.github.io “I sign a lot less stuff these days now that my phone can pretend to be a credit card. Also: an impostor with a quantum computer can’t pretend to sign documents on my behalf…” -> It’s good that pen signatures are completely unfakeable. They’re unbelievably reliable. We can’t just copy & photoshop around the edges. Better worry about those definitely-soon-to-exist quantum computers that might crack cryptography.
@jlj@twt.nfld.uk “Anyone running Urbit? Thinking about having a play with a comet. ☄🌒” -> Just as @movq@www.uninformativ.de has problems with his reading queue, I have problems with my “things to explore” queue. I even bought a planet a while back, but haven’t had time to dive into the extradimensional madness of the urbit system. Subjective impressions & reviews highly anticipated!
@prologic@twtxt.net @jlj@twt.nfld.uk @thewismit@twtxt.psynergy.io https://gist.github.com/JonLundy/fb2a23c003be46c3a66e4b14e5971f13
@prologic@twtxt.net deedum for android.
Kristall for OS X
Elaho for iOS
though I can only vouch for the first two.
Woohoo, #phpub2twtxt - my php interface for publishing to my selfhosted twtxt.txt is now online at GitHub
@vain@www.uninformativ.dedd @lyse@lyse.isobeef.orgdd @prologic@twtxt.netdd Nope.. i have updated my gist to include the feeds listing. feeds.txt
@prologic@twtxt.netd It is pretty basic, and depends on some local changes i am still working out on my branch.. https://gist.github.com/JonLundy/dc19028ec81eb4ad6af74c50255e7cee
FOLLOW: @xuu@txt.sour.is from @niplav@niplav.github.io using txtnish/0.2
@prologic@twtxt.net https://github.com/JonLundy/twtxt/tree/xuu/integrate-lextwt I made a stats command for the new parser that extracts a bunch of info about a twtxt file. run like: go run ./cmd/stats https://twtxt.net/user/prologic/twtxt.txt
@prologic@twtxt.net as promised! https://github.com/JonLundy/twtxt/blob/xuu/integrate-lextwt/types/lextwt/lextwt_test.go#
the lexer is nearing completion.. the tough part left is rooting out all the formatting code.
If you’re an average man, my calculation tells me that freezing your sperm & getting a vasectomy is worth ~ in expectation (https://niplav.github.io/notes.html#Vasectomy–Sperm-Freezing-CostBenefit) (in the US, caveat caveat caveat)
@prologic@twtxt.net one.. kinda sorta option would be to tailor a workflow for each of the archs.. see https://github.com/JonLundy/twtxt/runs/1568071072?check_suite_focus=true
@prologic@twtxt.net have you tried using the macos github build environment? looks like they have a windows one too.
@prologic@twtxt.net I have some ideas to improve on twtxt. figure I can contribute some. 😁 bit more work and it will almost be a drop in replacement for ParseFile
Kinda wish types.Twt was an interface. it’s sooo close.
@lyxal@twtxt.net @prologic@twtxt.net yah. the service can have a flag for allowing non-TLS for development. but by default ignores.
are there some users that use alternative protos for twtxt? like ftp/gopher/dnsfs 🤔
@prologic@prologic.github.io Could you make the polling of your server a little slower please? Thanks.
es is an extensible shell derived from Plan9’s rc. It’s also placed in the #publicdomain https://github.com/wryun/es-shell #links #plan9 #github
generative bad handwriting: [[https://avinayak.github.io/programming/art/2020/09/18/p5-strokes.html]] #links #generative #asemic #graphics
bare-metal programming on a raspberry pi 3, a tutorial: [[https://github.com/bztsrc/raspi3-tutorial]] #links #pi #pi3 #baremetal #lowlevel #c
hoard of bitfonts: [[https://github.com/robhagemans/hoard-of-bitfonts]] #links #typography #bitmap #fonts #1bit #8bit #pixelart
A fork of twtxtc, a #twtxt client in C: [[https://github.com/neauoire/twtxtc]] #links
@prologic@prologic.github.io I will probably check out twtxt.net later. Can we use it without registering for an account?
Discovered txtnish by mdom https://github.com/mdom/txtnish
Added myself to the user list at https://github.com/mdom/we-are-twtxt
@tdemin@tdemin.github.io Not quite an option for how I’m using it at the moment. That will change shortly.
@tdemin@tdemin.github.ioThis is the good entry that happens after I hand edit. I am sure there is just a problem with my txtnish I get an odd awk error
@tdemin@tdemin.github.io good points, though another that I’ve noticed is that it’s difficult to tell who in your network is actually reachable with your tweets. My HTTPS cert went unupdated for a brief while and now I have no idea who is still following me since I got it working again, so it’s difficult to tell where I can really have a conversation. A centralized service can tell who’s following who, but that’s basically impossible in twtxt.
@tdemin@tdemin.github.io yikes! It’s unbelievable that “We physically can’t give you that data” is treated as “It was clear that there was no intention to cooperate with the investigation” - that’s utterly absurd.
@tdemin@tdemin.github.io too busy working on a twtxt client to tweet on twtxt
@quite@lublin.se the static site CMS? It’s open source: https://github.com/netlify/netlify-cms/
How should metadata about a twtxt feed be stored? Weigh in @ https://github.com/buckket/twtxt/issues/48
Guess I’m too late: https://github.com/plomlompom/htwtxt