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ā½
FYI, As Iāll be going camping this weekend with the family, I wonāt be able to make our weekly call. You guys are welcome to go ahead and discuss various topics and summarise for others to read up on later š
@prologic@twtxt.net git worked after upgrade. But I seem to have to reinstall go. I have not done that yet. I will see if I have time to fix that later tonight.
`
``
`
@movq@uninformativ.de yeah.. i rewrote it a few times because i thought there was something breaking.. but was mistaken
though now i am seeing a weird cache corruption.. that seems to come and go.
Tell me you write go like javascript without telling me you write go like javascript:
import "runtime/debug"
var Commit = func() string {
if info, ok := debug.ReadBuildInfo(); ok {
for _, setting := range info.Settings {
if setting.Key == "vcs.revision" {
return setting.Value
}
}
}
return ""
}()
@prologic@twtxt.net Alright, thereās some erroneous markdown parsing going on, I reckon. In my original twt I have a code block surrounded by three backticks. The code block itself contains a single backtick. However, at least for rendering, yarnd shows three backticks instead (not sure if my markdown is invalid, though):
The power of GitHub in the palm of your hand
GitHub Mobile helps keep work going while youāre going. Untether yourself from your office. ā Read more
i only allow myself to go the hard way. good or bad?
Developing Go Apps With Docker
Develop Go applications with Docker using these containerization steps, best practices, optimization tips, and more. ā Read more
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
I was inclined to let this go so as not to stir anything up, but after some additional thought Iāve decided to call it out. This twt:
is exactly the kind of ad hominem garbage I came to expect from Twitterā¢, and Iām disappointed to see it replicated here. Rummaging through someoneās background trying to find a āgotchaā argument to take credibility away from what a person is saying, instead of engaging the ideas directly, is what trolls and bad faith actors do. Thatās what the twt above does (falsely, I might addāwhatās being claimed is untrue).
If you take issue with something Iāve said, you can mute me, unfollow me, ignore me, use TamperMonkey to turn all my twts into gibberish, engage the ideas directly, etc etc etc. There are plenty of options to make what I said go away. Reading through my links, reading about my organizationās CEOās background, and trying to use that against me somehow (after misinterpreting it no less)? Besides being unacceptable in a rational discussion, and besides being completely ineffective in stopping me from expressing whatever it is you didnāt like, itās creepy. Donāt do that.
Release Radar Ā· September 2022 Edition
Hackatoberfest, hackathons, and open source contributions. Itās been a hectic month with so many community pull requests to all kinds of projects. So many in fact that we had to spend hours going through all the submissions for this blog post. We almost didnāt get it out before the end of October. Nevertheless, we are [ā¦] ā Read more
@prologic@twtxt.net Itās called ācgodā and it isnāt written in C or Go? I want my money backā¦
I also like Gopher more than Gemini. The problem Gemini is trying to solve is better solved by just writing static HTML 4.01 pages.
I love parsers in go : https://dev-nonsense.com/posts/incremental-parsing-in-go/
@prologic@twtxt.net, business is slow (I also just got off that hyoo-mƤn illness that is going around named COVID), so that leaves me some free time on my entrepreneurial hands. š I have always lurked every couple of weeks or so. I see yarn has regressed on the UI! š¬š©
š£ NEW: Announcing the new and improved Yarns search engine and crawler! search.twtxt.net ā Example search for āHello Worldā Enjoy! š¤ ā @darch@neotxt.dk When you have this, this is what we need to work on in terms of improving the UI/UX. As a first step you should probably try to apply the same SimpleCSS to this codebase and go from there. ā In the end (didnāt happen yet, time/effort) most of the code here in yarns
will get reused directly into yarnd
, except that Iāll use the bluge indexer instead.
2045
ā Read more
On the go with GitHub Projects on GitHub Mobile (public beta)
Stay connected and up to date on your work with GitHub Projects on GitHub Mobile, now in public beta. ā Read more
GitHub for Startups is generally available
Weāre launching GitHub for Startups to give your startup the tools needed to go from idea to unicorn status on the worldās largest developer platform. ā Read more
Transform your software engineering practices with GitHub Enterprise
Go beyond knowing GitHub as the home of open source and explore how GitHub Enterprise can help you transform your software engineering organization and practices. ā Read more
Everyday Carry
ā Read more
@lyse@lyse.isobeef.org Thank you :) always nice to have this view when I go to the office, stand there, vape a bit, enjoy the view and silence before heading in and code all day. :)
And that I can silence it without having or go through the full test announcing fire and carbon monox throughout the house.
started my day by going to the dogpark. had a really nice time. now itās time to telax and enjoy the weekend.
@abucci@anthony.buc.ci Its not better than a Cat5e. I have had two versions of the device. The old ones were only 200Mbps i didnāt have the MAC issue but its like using an old 10baseT. The newer model can support 1Gbps on each port for a total bandwidth of 2Gbps.. i typically would see 400-500Mbps from my Wifi6 router. I am not sure if it was some type of internal timeout or being confused by switching between different wifi access points and seeing the mac on different sides.
Right now I have my wifi connected directly with a cat6e this gets me just under my providers 1.3G downlink. the only thing faster is plugging in directly.
MoCA is a good option, they have 2.5G models in the same price range as the 1G Powerline models BUT, only if you have the coax in wall already.. which puts you in the same spot if you donāt. You are for sure going to have an outlet in every room of the house by code.
New day at the office, been a nice first week after vacation so far, but weekend is always appreciated!
Not sure what weāre going to do yet - but Iām sure going to enjoy the days off work :)