# I am the Watcher. I am your guide through this vast new twtiverse.
#
# Usage:
# https://watcher.sour.is/api/plain/users View list of users and latest twt date.
# https://watcher.sour.is/api/plain/twt View all twts.
# https://watcher.sour.is/api/plain/mentions?uri=:uri View all mentions for uri.
# https://watcher.sour.is/api/plain/conv/:hash View all twts for a conversation subject.
#
# Options:
# uri Filter to show a specific users twts.
# offset Start index for quey.
# limit Count of items to return (going back in time).
#
# twt range = 1 938
# self = https://watcher.sour.is?uri=https://yarn.stigatle.no/user/stigatle/twtxt.txt&offset=338
# next = https://watcher.sour.is?uri=https://yarn.stigatle.no/user/stigatle/twtxt.txt&offset=438
# prev = https://watcher.sour.is?uri=https://yarn.stigatle.no/user/stigatle/twtxt.txt&offset=238
I will spend a evening replacing the GUI library. FLTK is a pain when it comes to getting the strings the way I need them. I think Ill try gtkmm or nanogui.
The reply button works from my application! I think it's really fun to work on this. Yarn's great API makes it fast to to develop for! :)
Working on things again today, made the timeline layout a bit better, now I'll work on the reply button, makes it more useful to use :)
@prologic Keep us updated as you think about what to do about activitypub! :) Also - what ever you decide to do - I totally understand.
@abucci and a lot of advancement has happened since 2015..
@abucci exit nodes and tor traffic that is contained within tor network is two separate things. And I do know what I'm talking about. I ran a exit node for a long time, rented vps in sweden, police raided there, then came at my door the next morning because someone sent angela merkel a threatening email through my exit node. Blocking exit nodes does not shut down hidden services because hidden service traffic never leaves the tor network.
@abucci anyone can run a exit node. Show me a case where a hidden service was taken over without regular investigation etc.
The biggest darknet markets where taken down due to misconfigurations or mistakes leading them to leak IP and such , not because tor is compromised or that some agency ran a exit node.
A hidden service's traffic never goes through a exit node, only passes through middle nodes and everything stays encrypted.
@abucci how? Monero + tor or i2p. Try and block that.
Just see the total hashrate on the network, then figure out how many cpu's you need to get over 51% of that rate - you then know what it would cost :)
Also - nice to see a monero discussion, it's my fav cc. Also like it a lot because of the asic resistance that is built in.
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.
Well, the code for getting and setting the avatar works.
I need to align things better though. But cool that it works.
_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._
Oh, and also image upload needs to be done.
Got some time for coding today, dog is resting a bit, and kids are busy.
Today I'm resuming on the timeline, I'll see if I can fetch and show the avatars next to the statuses.
And I'll see if I can get a reply button to work, also need to clean up stuff that I've done so far.
A bit of duplicate stuff that can be simplified etc.
@prologic Yeah, that did not work well it seems.
So my status above looks like this in fltk because of the @
Soooo... Fltk uses @ symbol in strings to apply effects to text, now wonder I've been having issues with the timeline.. https://www.fltk.org/doc-2.0/html/group__symbols.html
@ is used for mentions and all that stuff, so well - it just breaks the strings in the labels.
A lot of more work needs to be done, but at least now I got the basic timeline stuff done, took a good while to figure out how to solve it, but now I know. The reason why the statuses are cut short on some is because of html tags and stuff like that - c++ is a bit picky with strings and stuff like that. but I'll get that sorted as well.
At least I can show the first screenshot. Keep in mind the GUI is not at all finished, I'm working on the basics first, implement all the features, then I work on finishing touches.
I will work more on it this weekend. I hope to tidy it up enough for a screenshot π
This one did the trick:
");
std::regex_replace(std::back_inserter(outputString), inputString.begin(), inputString.end(), tags, "");
Okay, so it seems like the label\text I use for statuses does not like the strings from posts.
Especially if they contain html tags and such (which the often do), it just breaks the text.
I wonder what I can do with that.. I kinda want to not have html tags in the json reply.
Have to think a bit about how to solve it. Took a while to figure it out, the text was just garbled.
I created some long example strings with regular letters and such, to see if X number of posts would show up, and they did, but when I then replace my test strings with text from json - it goes all wrong again.
Okay, so it seems like the label\\text I use for statuses does not like the strings from posts.
Especially if they contain html tags and such (which the often do), it just breaks the text.
I wonder what I can do with that.. I kinda want to not have html tags in the json reply.
Have to think a bit about how to solve it. Took a while to figure it out, the text was just garbled.
I created some long example strings with regular letters and such, to see if X number of posts would show up, and they did, but when I then replace my test strings with text from json - it goes all wrong again.
@prologic Ouch, does not sound good..
Hope you get better soon!
How are you all doing today?
Working some more on timeline, trying to create a group widget and add label child widgets, those labels should then show the text for each status.
Brrr, we had -12c this morning. But no clouds and sun is out. Nice day!
Did some more work on the timeline stuff today, now I have added parsing of each status, so that I can get the data I need from each status (user, image url, text, links - all that stuff I need).
Created the function that grabs the timeline.
Now I have to plan a bit to make the actual gui for it, I think I might try and create my own custom fltk widget that I can feed with the json reply, and then it will set itself up based on that.
Or maybe something simple at first - not sure yet.
Next up is grabbing and showing the timeline, then all the other stuff needed. :)
Was fast to get this up and running, and nice to end the weekend with this working.
Posting from c++, fltk GUI.
my twitter feed blew up yesterday. I typically get some hundred views. but the post I did yesterday did get a lot of traction, lot's of replies and feedback etc.
Json parsing is done :)
Now I can write the rest!
@lyse always nice to know stuff like that! one day it can save someone :)
Ah, I forgot - first i need to add a json library, so I'll do that now.
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...
@prologic Thank you! And same to you! Was great talking with you.
Haha, yeah, he is always ready for playtime or walks, haha.
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++.
Im very close to making the decision to just rewrite what I have in c++ instead. I feel I would have done this much faster with that. I'll think about it until tomorrow. I'll probably do that anyways just to see. just start with cmake and get started with it.
@prologic Yeah, apparently it was a bit of old new (according to twitter), but still - looking forward to have a risc-v desktop system. :)
Hopefully it'll not be too long until something like that hits the market with a price that I can pay for it.
I do have 2 risk-v devices already, one mangopi (like a raspberrypi zero), and one HiFive1 Rev B (like a arduino).
The Hifive rev B was a waste of time and money for me - but I bought it anyways, too 'embedded' for my liking, so not easy to make things work on that. The mangopi is perfect, got all my desktop stuff set up on that running debian.
@prologic I will most likely post something tonight. Right now its juts a window with 3 input textboxes and some button, nothing fancy at all. :)
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.
okay, so all chores for today is done, so I have some time to code some more. I will resume my variable and functions adventure in Rust.
@prologic What I mean is '3D' that runs in realtime engine (like games etc) - and not 'offline' 3d (like animations etc), I work with simulators for oil industry.
The company I work work added a hybrid solution after covid restrictions lifted, we can work x amount of days a week from home.
Which was a great solution. Covid proved that everyone could work from home and still meet the project demands.
Personally I prefer the office, even if I have to be there alone (I worked for months alone there). But I also like the flexibility when I need it.
@prologic Ah man, that sounds nice! I do not drink - except that I have one cider during the summer vacation. (Always look forward to that one).
Other then that I love energy drinks, not that they help in any way - just tastes good :)
I'm on my way to the office now shortly, ready for a new day with realtime 3D and coding.
Good morning to you all! Wish you a great day!
Also, I'm struggling a bit with some basic stuff, for example variables, does not work the same way as I'm used to with c++ it seems, so it's a bit confusing, re-using variables as input to several functions does not seem to be as straight forward as I'm used too - so I need to find some more info about stuff like that.
Also the callback stuff for buttons and such is really weird to me. But I'll stick with it.
Got the timeline, that was very easy to do, but now the harder part starts - wrap the timeline into a nice gui.
This is where I need to put in some work now. Started on this today.
the last days has been super busy, work, family, dog takes up most of my time (not that I complain). But I need to find some time for coding, so hopefully I can resume tonight for a couple of hours when kids has gone to sleep.
@screem anything particular you are working on? :)
Heh, so now all the news sites in Norway is saying that 'covid leak from the lab is a plausible explanation', and 2 years ago you got banned all over the place for even asking if that was possible, and called this and that if you questioned this.
@prologic Yeah, I'm sure all I need is there, the challenge is to set up the gui for it all - it's not always clear how to do it all for me (in rust), but I'm sure I'll get that stuff solved :) If I start something I work on it until it does what I need.
I might also switch to another gui library, I have to check out a bit more which one I feel is easiest to use for what I need.
@prologic Thank you. I'll work on fetching and parsing all the posts after work today. Looking forward to getting this into a working state.
The issue I had was the way the json library got the value, it included qoutes, which I do not want when I create the header info, and that is what took the most time to figure out how to solve, but not that works, which is nice! Next up is fetching statues and show them, and also a dynamic gui for posts.
Oh damn! That took a while, was a pain in the ass to get the json stuff working, but now it did! So now I get the token as json, fetch it and then use it when I created the post above! Woho!
@prologic got ping, login and posting to work through gui. next is fetching statuses and parse that into a nice list etc.
@movq Correct! It'll be a generic yarn client. :)
@prologic haha yeah! got the pieces I need now, so Ill start on a gui application with this now.
@retronav yeah, takes some time to adjust.
got the ping request to work, currently working on auth stuff.
I will try and write a small cli example project in rust, that will let you post a message on yarn through a server url. Once I have that - I will then try and write a client with GUI and all that. I have not used rust much - but I really want to learn it more. I usually stick with c++. Not sure how much time it'll take to get started, but I'll give it a try.
Started my day with a 10km hike with the dog this morning, was nice and quiet outside today, about 0c out, but sun was shining, so was really nice. Kids are busy today, so now I'm spending some time on my computer, which is nice. Been a very busy week, so I'm glad it's weekend now.
@prologic great news! thank you so much! Ill upgrade asap.
I was supposed to travel this weekend (work), but in the end I did not need too. So now Ill enjoy the weekend at home :)
Good morning to you all!
Are you doing anything cool this weekend?
@bender 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.
So. this post should show up on mastodon! :)
@bender I enabled that through the web ui admin panel now.
@bender can you give me your @user for your mastodon? I can then follow you there and see if that part works. I picked some random ones from fosstodon to follow, it said it followed successfully at least.
@bender are you testing that from another server?
Do I make it discoverable by enabling the 'open profile' setting? or do you mean something else?
Did this show up in the feediverse?
@prologic Just a heads up - seems like your autocomplete or something is still using the nick I had at twtxt and not my new one :)
Good morning to you all!
The weather forecast says it'll be sunny for a week now, damn I'm looking forward to that, we've had a lot of rain this week.
some cool images of that spy balloon.


@prologic aha, I see. no problem. Ill get it set up on my prod server tomorrow then π
@prologic Running out of time for tonight, but I will test it tomorrow! :) I'll let you know how it goes tomorrow night.
@prologic Thank you.
What I did was to just pull the latest, build deps and the server, then enable the features as you mention through command line, as soon as I add activitypub it fails with that error when it starts up.
@prologic got the admin stuff sorted on both now.
@prologic I do not think I have set up the admin user correctly.
I need to check that. But yes - I should be the admin either way.
The error I mentioned was on my development machine - not my VPS that I currently post from.
I do not write much, but I decided to write a post about our dog.
https://stigatle.no/posts/2023-07-02-husky/
I'm trying to write a bit more on my website, so it felt natural to write about this.
I also have some other posts I want to do later on about other things that I do.
@prologic - when I start it I get this error:
ERRO[0000] error setting up ap error="error getting support feed: error: feed not found"
FATA[0000] error creating server error="error getting support feed: error: feed not found"
home from work. feed the dog, then walk in the forest in the rain. after that it's computer time :)