I wish I could turn into a bear so I could go to my cave and sleep for three months
The Lightning lost, but at least the Avalanche and Bruins lost, too. Iām going to have to root for the Florida Panthers now.
Got that bike today, and nanook ran home pulling me like a rocket. So fun when training on commands - run, go, left, right works. Avoids all obstacles etc. Was really fun! And for once heās tired :)
College Knowledge
ā Read more
@carsten@yarn.zn80.net That sounds nice! This weekend weāre going to celebrate my grandmotherās birthday (80) and my stepdadās birthday (50). So itāll be a lot of cake this weekend :)
How do I quit getting error 400 when I go to reply to anything? @prologic@twtxt.net ???
I am going to try to install the twtxt Yellow extension from SĆøren - https://lien.sus.fr/iaxgN
@prologic@twtxt.net The one I actually use for something is Monero. I also mine it (asic resistant, mined with cpu). The others I just put some savings in every month. The whole pyramid scheme thing - I do not think much about honestly. Crypto is here to stay, wonāt go away. And for me itās better then stocks because I know nothing about stocks and such. I do not put much into it. I also had some NFT stuff that I minted - which I sold for 10x the price later on, but honestly - last year I gained as much as I lost, so it evened out to almost 0.
Escape Speed
ā Read more
@prologic@twtxt.net That sounds great! Iām looking forward to doing that too here! We also go to the local lakes and such when it gets warm enough! Always nice to spend time in the water :)
Got up before 7 this morning, now itās 14,5 hours later - and I finally got to sit down for the first time today. Been a busy day, but a good one. Now itās time to relax a bit (code on the desktop client) and then relax for a bit. Tomorrow the weather is going to suck, but Iāll still go for the usual weekend hikes with the dog, trying to plan a new place to walk tomorrow.
I played around with parsers. This time I experimented with parser combinators for twt message text tokenization. Basically, extract mentions, subjects, URLs, media and regular text. Itās kinda nice, although my solution is not completely elegant, I have to say. Especially my communication protocol between different steps for intermediate results is really ugly. Not sure about performance, I reckon a hand-written state machine parser would be quite a bit faster. I need to write a second parser and then benchmark them.
lexer.go and newparser.go resemble the parser combinators: https://git.isobeef.org/lyse/tt2/-/commit/4d481acad0213771fe5804917576388f51c340c0 Itās far from finished yet.
The first attempt in parser.go doesnāt work as my backtracking is not accounted for, I noticed only later, that I have to do that. With twt message texts there is no real error in parsing. Just regular text as a āfallbackā. So it works a bit differently than parsing a real language. No error reporting required, except maybe for debugging. My goal was to port my Python code as closely as possible. But then the runes in the string gave me a bit of a headache, so I thought I just build myself a nice reader abstraction. When I noticed the missing backtracking, I then decided to give parser combinators a try instead of improving on my look ahead reader. It only later occurred to me, that I could have just used a rune slice instead of a string. With that, porting the Python code should have been straightforward.
Yeah, all this doesnāt probably make sense, unless you look at the code. And even then, you have to learn the ropes a bit. Sorry for the noise. :-)
go mills()
š
@chunkimo@twtxt.net lol. go walrus!!
Moving my source to git today, I have just developed on a local copy until today.
I needed to move it before going too crazy with it. Starting the work on the timeline that Iāve mentioned.
Yesterday I ran out of time, but today I have some free time to work on things. Very pleased with the software already, I know Iāll use it all the time. So today I will work on refreshing the timeline, and then fix so that itās a bit smarter then now, the class that holds the statuses will also contain the GUI elements for each status, that way I can more easily append new statuses into the timeline - instead of grabbing the whole timeline and rebuild all itās gui each time it refreshes. I know what to do - so I do not expect it to take too long to fix.
Tailscale Ā· Best VPN Service for Secure Networks - Anyone know anything about Tailscale? Used it? Recommend it? How does it stack up in terms of actual secure networking and VPN access to your infra? Can it be trusted
I notice it uses WirGuard⢠and is actually written in Go š
Going out for a hike with the dog. Then Iāll code a bit later today.
Want to fix the timeline refresh, and then create one timeline for each timeline, and buttons to switch between them.
Anyone know of any good, cheap laptops to use for just day-to-day activities (web surfing, sysadmin, web design, etc) thatās not a Chromebook? My Microsoft Surface Go I got some years ago blue screens when I plug it into my dock.
Open to refurbished as well
Hi guys! My first ever Yarn post šŗ š¦
I already think I am going to like this better than mastodon. My question is, is this federated⦠@support@twtxt.net ?? If so I am a lifer. Haha and Iāve been here 5 minutes š
I like to occasionally do some graphical artwork from time to time. For the first place to get all my art and otherās too check out XMPP at this address: xmpp:artwork@chat.toofast.vip?join
Another question, is this using markdown for markup? @thecanine@twtxt.net ?? Follow me back mateo! š
Im going to fall a sleep standing up tonight it feels like. Holy shit Iām tired today. Just one more day then itās much needed vacation time.
slides/go-generics.md at main - slides - Mills ā Iām presenting this tomorrow at work, something I do every Wednesday to teach colleagues about Go concepts, aptly called go mills()
š
Tampa Bay seems to be picking up the pace. They beat the Islanders 5-0. Go Lightning!
Been going back and forth on the gui, I will move away from FLTK and go for https://www.gtk.org/ instead.
Iāll spend tomorrow working on that. I need a more refreshing GUI then what I have now.
And also FLTK is a pain to get to work as I need - spend the whole afternoon trying to get it to use images (avatar etc) on my linux machine, and no matter what Iāve tried it refuses. So instead of wasting more time battling fltk I will switch to GTK.
not the greatest idea whilst searching for a job, but fuck it. Now I also feel like going for a walk, so win I guess
I wish I was somewhere I could go surfing right now.
Qualifications
ā Read more
Turns out the problem I had was also there when I build rapidjson from source, but if I moved the include to earlier (rapidjson in my project) - the problem went away, so I suspect itās the same as in this issue going on.
The cool thing is that the client now works fine on linux without changing anything else then the include order!
So now Iāll do all development there - instead of on windows.
@prologic@twtxt.net it was really nice! But also one of the more stressful walks, I had to turn back, because it was so slick on the rock that it was really hard to walk, and I fell once (that rarely happens), and when the dog was going to jump over a big gap in the rock on the trail he got scared, and pulled himself out of the harness and got some minutes of freedom.
There are sheep there too , so I got lucky that he did not go straight to them. Had some snacks in my pocket and got him back with that.
Beautiful spring day today, sun is out, itās warm. This is going to be really nice!
Good morning to you all! Rain is still poring down, tired of getting wet each time I go outside. heh.
Going to rain all weekend it seems, but then next week itāll get better. Hoped the rain would stop this weekend, but it seems like it wont.
@prologic@twtxt.net thank you :) heās always happy and ready to go on adventures!
Weekend is here :)
I want to create a frontpage for my website - https://stigatle.no , fix cmake script for the desktop client and compile it on debian. Other then that Iāll walk the dog as usual and spend quality time with my family. Going to be a great one :)
In case you didnāt notice, I deleted my Twitter and Keybase accounts. Going full indieweb.
Flatten the Planets
ā Read more
monerod
from hogging on my CPU. I'm on DragonFly BSD, cpulimit
doesn't works, also nice
doesn't. I believe this is an IRC question.
Often people run a node somewhere, then connect to it with the remote node feature from other machines. Or use a light wallet.
Cpu use will go down when block chain is synced. Also just a tip - check the prune blockchain feature to save a lot of space.
Lymphocytes
ā Read more
And mostly whether itās even a good idea at al, and if we should continue or not?
I think that activitypub in yarn is a great feature! And also one of the easier ones to set up and get going.
And as I said last week - I think itās a important features - and will drive adoption.
It is optional as well - so if one does not want it - just not turn that feature on.
I personally was missing the fact that I could not easily follow others before you added activitypub, but now I can choose to follow them, which is great.
š Hey yāall yarners š¤ ā @darch@neotxt.dk and I have been discussing in our Weekly Yarn.social call (still ongoing⦠come join us! š) about the experimental Yarn.social <-> Activity Pub integration/bridge Iāve been working on⦠And mostly whether itās even a good idea at al, and if we should continue or not?
There are still some outstanding issues that would need to be improved if we continued this regardless
Some thoughts being discussed:
- Yarn.social pods are more of a āfamilyā, where you invite people into your āhomeā or ācommunityā
- Opening up to the āFediviseā is potentially āuncontrolledā
- Even at a small scale (a tiny dev pod) we see activities from servers never interacted with before
- The possibility of abuse (because basically anything can POST things to your Pod now)
- Pull vs. Push model polarising models/views which whilst in theory can be made to work, should they?
Go! š
So, progress is going smooth!
No I have compiled libcurl with openssl, and I fetch token already.
so next is creating three functions - one for posting, one for the login and fetching token (now I have just testing login when application starts), and the fetch the timeline. Then I need the gui.
Progressed faster in 2 hours in c++ then days with rustā¦
Okay, so I spent about one hour setting up cmake, fltk and libcurl for c++, got all that running now.
I still need to fix the cmake script a bit, but I have a working verison now with this.
I will now add the same curl stuff I had in rust in c++, then work on the gui and all that.
So I will drop rust, and go for c++ instead, much easier for me. Was worth a try in rust, but for now thatās not for me to be honest, I much faster and better in c++.
@prologic@twtxt.net it is from the generator. But in the actual go implementation methods are represented with a unsigned short. So 65k is the hard limit in go.
Found what I needed finally.. I now created a struct with this crate:
https://crates.io/crates/arraystring
That works for what I need, damn this has been annoying to find a solution too.
I can now store the strings I need in the struct, and use that in all the functions.
Also works with the GUI callback stuff, so it solves the Issue Iāve been having.
I have now added gui elements for server url, username, password.
And functions for fetching the timeline with the supplied info.
So now I can finally start working on the timeline GUI.
Itās been in a way easier then expected, but also somethings are a bit tricky.
I could easily have done the same in c++ much faster, but the whole point here was to learn more rust.
And for that itās been going well.
Oof.
@screem@twtxt.net nice! keep going at it!
Oof. I would usually go straight to sleep after putting the little one to sleep but here I am, awake and twting. Time to do one of the many things on my list to make me feel like Iām accomplishing something with my spare time
@bender@twtxt.net hehe!
The cool thing is that it worked just fine on my VPS at least, so this is going to be nice!
Yarn is by far my favorite social media, and even more now with the feediverse stuff thatās coming along.
What do you all think about the UFO thing going on?
Do you believe some of them are aliens? (tictac \ go-fast etc)?
Do you think some government have a real UFO stashed away somewhere?
getting a new phone soon. Ill go for a iphone 14 this time. I have always had android, but Im a bit tired of it now to be honest, want something else. I will get the standard model. the others are way too expensive. I use it mostly for photos, so I hope its good (either way itāll be better then what I have now).
tonight Im going to tinker a bit with my Mangopi riscv board. runs debian. I want to update it and install some new stuff on it.
On that note, I think Iām going to bed š“
Okay one last time, then Iām going to bed, letās hope this is the final bug that fixes Yarn/Twtxt <-> Activity Pub integration š
@prologic@twtxt.net doing fine, the dily grind. But look forward to the weekend, going to a indoor trampoline park with my kids, and weather is going to be nice (not rain) as well, so Ill try and get on a hike with them as well, have a fire, cook some food and just enjoy being out in the forest :)
** Accessibility updates **
Iām feeling pretty chuffed! Last week I wrote about my intention to make this website more accessible. My motivations were many-fold, but, primarily, mostly shame. Iāve worked as an accessibility specialist in the past, and now spend a bunch of my days at work looking for ways to make public infrastructure online more accessible. It seemed fitting to at least make sure the little bit I contribute to the web here is also accessible.
I thought it was going t ⦠ā Read more
today we went and played some football together and went to the park.
later Ill take the dog to the dogpark, some bigger dogs are going there later today, so thatāll be fun for Nanook. other then that weāll have nachos tonight, and saturday candy plus a movie :) going to be a nice day!
@prologic@twtxt.net I get the worry of privacy. But I think there is some value in the data being collected. Do I think that Russ is up there scheming new ways to discover what packages you use in internal projects for targeting ads?? Probably not.
Go has always been driven by usage data. Look at modules. There was need for having repeatable builds so various package tool chains were made and evolved into what we have today. Generics took time and seeing pain points where they would provide value. They werenāt done just so it could be checked off on a box of features. Some languages seem to do that to the extreme.
Whenever changes are made to the language there are extensive searches across public modules for where the change might cause issues or could be improved with the change. The fs embed and strings.Cut come to mind.
I think its good that the language maintainers are using what metrics they have to guide where to focus time and energy. Some of the other languages could use it. So time and effort isnāt wasted in maintaining something that has little impact.
The economics of the āspyingā are to improve the product and ecosystem. Is it āspyingā when a municipality uses water usage metrics in neighborhoods to forecast need of new water projects? Or is it to discover your shower habits for nefarious reasons?
@prologic@twtxt.net the rm -rf is basically what go clean -modcache
does.
I think you can use another form that will remove just the deps for a specific module. go clean -r
Any good ideas on how to maintain ~/go/pkg/mod and to remove old garbage?
It booted fine! currently creating partitions etc. I like that you could enable encryption. when its done Iāll go through my usual routine and set up all development tools etc and get some stuff compiled.
** week notes **
It got a wee bit cold here in Maine this weekend. It was thankfully uneventful for us. We hung around inside and watched it get real cold outside. Our home faired pretty well, too. Honestly pleasantly surprised about that!
We picked this weekend to go all in on potty training ā pantsless days, treats, rousing bouts of encouragement sung, and a lot of spot cleaning. Fueled by hubris, I thought we had this potty trainin ⦠ā Read more
@prologic@twtxt.net going to be a huge radio telescope. qorking on various scifi assets.
Whatās with all these tech companies going through massive layoffs. The latest one is Intel, but instead theyāre cutting salaries to avoid laying off.
hack lab now on legit at hacklab.nilfm.cc; all go modules bumped
@eldersnake@we.loveprivacy.club Several reasons:
- Itās another language to learn (SQL)
- It adds another dependency to your system
- Itās another failure mode (database blows up, scheme changes, indexs, etc)
- It increases security problems (now you have to worry about being SQL-safe)
And most of all, in my experience, it doesnāt actually solve any problems that a good key/value store can solve with good indexes and good data structures. Iām just no longer a fan, I used to use MySQL, SQLite, etc back in the day, these days, nope I wouldnāt even go anywhere near a database (for my own projects) if I can help it ā Itās just another thing that can fail, another operational overhead.
@prologic@twtxt.net Me too! I really wanted to do some winter camping this year, but I have not been motivated enough to pack up and go when the weekend comes - but one day soon I will head out and do that :)
H3: Instead of C3
[Updated with correct Gemlog link.]
A version of this was posted on on 2023-01-06 but I thought it might
also fit here. Go to my gemlog for somewhat more personal takes and
see what I publish first. IPv6 only!
gemini://gem.hack.org/mc/log/
As long-time readers know I have participated in the Chaos
Communication Congress (C3) in Germany every year since 2008.
Since C3 was cancelled this year I thought Iād arrange a very small
conference of my own. I would at least try to gather some friends and
acquaintances ⦠ā Read more
Delete and restart, change nothing and it works. meh, at least things go zoom now
H3: Instead of C3
A version of this was posted on on 2023-01-06 but I thought it might
also fit here. Go to my gemlog for somewhat more personal takes and
see what I publish first. IPv6 only!
gemini://gem.hack.org/log/
As long-time readers know I have participated in the Chaos
Communication Congress (C3) in Germany every year since 2008.
Since C3 was cancelled this year I thought Iād arrange a very small
conference of my own. I would at least try to gather some friends and
acquaintances in chat and video conference and watch t ⦠ā Read more
I have a fanless pc, with intel I7 (if I remember correct). Today Ill get it installed with latest alma linux, set up the things I want with docker (I usually do not use docker I just do not like it), but I see how useful it can be, so Im going to force my self to use it. Then when all services are running Ill use wireguard to hook it up to my VPS. I think this will be a great setup.
@prologic@twtxt.net @movq@www.uninformativ.de this is the default behavior of pass
on my machine:
I add a new password entry named example
and then type pass example
. The password I chose, ātestā, is displayed in cleartext. This is very bad default behavior. I donāt know about the other clis you both mentioned but Iāll check them out.
The browser plugin browserpass
does the same kind of thing, though I have already removed it and Iām not going to reinstall it to make a movie. Next to each credential thereās an icon to copy the username to the clipboard, an icon to copy the password to the clipboard, and then an icon to view details, which shows you everything, including the password, in cleartext. The screencap in the Chrome store is out of date; it doesnāt show the offending link to show all details, which I know is there because I literally installed it today and played with it.
Whatās The Fastest A Car Can Go? | Neil deGrasse Tyson Explains⦠ā Read more
The most secure way to access this site is to torify a gopher client and go to the onion address.
@mckinley@twtxt.net very weird things going on for me.. i can see your twt but its not showing up as a reply or fork?
I think Iām going to create some boilerplate code for !gestku that isnāt ad-hoc. I think Iām ready for this. Gestkus need less code because of how quickly I want to make them.
Did not want to start my day with a hike today, so I borrowed my daughterās kickbike and let the dog pull me for some kilometres. He did better today then ever before. He hit his top speed and just kept going.
New GitHub CLI extension tools
Support for GitHub CLI extensions has been expanded with new authorship tools and more ways to discover and install custom commands. Learn how to write powerful extensions in Go and find new commands to install. ā Read more
projects: built raven, a small twtxt client in go
ā(1) we donāt know what is going on in LLMs (2) itās outlandish to say that LLMs have no understanding of the worldā both claims cannot be true
All packed and ready to go to Vienna!
Why I Wonāt Go to Restaurants in 2023
Iāve decided after some consideration to not go to restaurants at all in 2023.
You can call this a New Yearās Resolution.
Itāll require at least some sacrifice, pain, annoyance to myself and perhaps others, but Iām going to stick by it and I think it will have a good effect.
Restaurants are a drastically over-used creature comfort of ⦠ā Read more
@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.
@prologic@twtxt.net On the one hand, twtxt has become more popular thanks to Yarn.social. On the other hand, subject and hashtag extensions took away the simplicity of the protocol. For example, it is impossible to understand which conversation (#base32hash) a tweet refers to or to reply to a tweet without going to a yarn.social pod. Compare with re: in this tweet which can be written without using any client at all
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
I learned how to make gopls syntax highlight go templates in VSCodium.
By adding the following to my config
i could go from into
Data Point
ā Read more
Tutorial: Getting started with generics - The Go Programming Language ā Okay @xuu@txt.sour.is I quite like Goās generics now 𤣠After going through this myself I like the semantics and the syntax. Iām glad they did a lot of work on this to keep it simple to both understand and use (just like the rest of Go) š #GoLang #Generics
ChatGPT is good, but itās not that good 𤣠I asked it to write a program in Go that performs double ratcheting and well the code is total garbage š ā Its only as good as the inputs it was trained on 𤣠#OpenAI #GPT3
I need to learn how to crash dates that are going nowhere with way too much escalation. That should be fun
** December adventure **
Over the past couple years Iāve done the advent of code to varying degrees. I thought I was going to do it again this year but decided to try something different. Iāve been calling what came together aā December Adventure.ā
It isnāt anything fancy; throughout December I aim to write a little bit of code everyday. So far Iāve written a bit of apl, bash, elisp, explored a bunch of flavors of scheme, and star ⦠ā Read more
@lyse@lyse.isobeef.org when I take him to work I walk him at the parkinglot when I need a break. and on my way home I walk a km or two, and then around the neighbourhood as needed later. But when I go for long walks during the weekend I can walk anywhere from 10km to 20, then the rest is as needed around the house. so heās well adjusted to short walks as well as long. today he pulled our kids on snow sleds on the street outside here, was really fun :) it was his first time trying that, and I could barely keep up with him. haha.
I started reading the proposal to introduce operator overloading in Go version 2 that I like to see: https://github.com/golang/go/issues/27605 Now a few hours later I ended up at this gem. Write a program that makes 2+2=5: https://codegolf.stackexchange.com/questions/28786/write-a-program-that-makes-2-2-5 There are some awesone solutions. :-)
$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.
Well, people should be able to talk, even if itās the āwrongā topic.
I think the whole ācovid disinformationā policy at twitter and others (spotify) is ridiculous.
A banner that pops up telling you to go āhereā for latest info is crazy.
People die from all kinds of things, covid is no exception from that, but no other virus has been put on display like this one. And also not even being able to discuss things around it (except for the cemented truth) is not something I like. Iām not a conspiracy theorist or anything like that - but I love discussing things, and when you cannot even do that - then I have a issue with it. So many people got banned for simply discussing or trying to discuss issues around it.
For some people they are just fun. Others canāt handle it. They go nuts. 2022-11-29T19:42:33-06:00 I prefer to spend my time writing code for only a few gopher users. No time for conspiracies.
ahh this is useful https://go.dev/doc/modules/managing-dependencies. the go culture doesnāt typically have large dependency graphs like Ruby or JS.
@prologic@twtxt.net the go get
and go mod tidy
wont fetch new changes. thatās all a manual affair AFAIK
Iāve started playing with Go today, just understood the basics and still a bit confused about the module and goroutine parts.
Iāll try to make something interesting soon.
another paper which relies on questionnaires for attention span. am i going crazy? how is this a good metricā½