works like magic https://lien.sus.fr/qyEP6
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 :)
[47°09′26″S, 126°43′03″W] Storm recedes – back to normal work
Trying to work out if it is possible to churn out an atom file to update mastodon with twtxt
One thing I did in another project was to use sqlite that had encryption. I might do that here as well. That would work well for this.
Worked a bit on the desktop client tonight, now I store username/pass/server url, but it’s insecure at the moment. I need to find a way to store it more securely.
[47°09′59″S, 126°43′54″W] Storm recedes – back to normal work
Viewing PDFs in Firefox works again
A few months ago I complained about Firefox not being able to open PDFs without downloading them. Recently, I also wanted to start developing a custom Firefox addon to fix this behavior. ⌘ Read more
@osnews@feeds.twtxt.net I do not understand why they took it away in the first place, I absolutely hate ‘icon only’ on taskbar on a computer. Super annoying when working with many windows.
Been a really nice day today. Just one more day at the office then it’s a long weekend (We have Monday off work). Looking forward to that!
Erlang Solutions: Re-implement our first blog scrapper with Crawly 0.15.0
It has been almost four years since my first article about scraping with Elixir and Crawly was published. Since then, many changes have occurred, the most significant being Erlang Solution’s blog design update. As a result, the 2019 tutorial is no longer functional.
This situation provided an excellent opportunity to update the original work and re-implement the Crawler using the new version of Cra … ⌘ Read more
yey it did work - https://lien.sus.fr/wntAn - not sure why the individual post page isn’t working tho
I hope it will work as it seems like a super good idea to integrate it to sus.fr
**RT by @mind_booster: 1/3 🚨Recent @POLITICOEurope leak revealed that US & EU officials have agreed to cooperate on measures to turn public opinion against #encryption.
Experts’ statements by @edri & @globalencrypt have called out against this plan
➡️https://edri.org/our-work/eu-us-plan-offensive-to-legitimise-police-access-to-data-civil-society-responds-amid-growing-fears-press-release/
➡️https://www.globalencryption.org/2023/04/statement-on-eu-us-cooperation-against-encryption/**
1/3 🚨Recent [@POLITICOEurope](https … ⌘ Read more
Working on showing attached images in the desktop client, it worked on first try.
Now I need to fix the scale and alignment - but cool that it works already!
ProcessOne: ejabberd 22.10
This ejabberd 22.10 release includes six months of work, over 140 commits, including relevant improvements in MIX, MUC, SQL, and installers, and bug fixes as usual.
This version brings support for latest MIX protocol version, and significantly improves detection and recovery of SQL connection issues.
There are no breaking changes in SQL schem … ⌘ Read more
Erlang Solutions: Re-implement our first blog scrapper with Crawly 0.15.0
It has been almost four years since my first article about scraping with Elixir and Crawly was published. Since then, many changes have occurred, the most significant being Erlang Solution’s blog design update. As a result, the 2019 tutorial is no longer functional.
This situation provided an excellent opportunity to update the original work and re-implement the Crawler using the new version of Crawl … ⌘ Read more
[47°09′33″S, 126°43′02″W] Storm recedes – back to normal work
@prologic@twtxt.net I will try and get that tonight. (Currently at work).
@funbreaker@twtxt.net I tested now against twtxt with a account I created -it segfaulted if you had a / at the end of the server url.. My bad.. works if you remove the slash. I will fix it in the client so that it removes the slash if it’s in the server url.
@lyse@lyse.isobeef.org @prologic@twtxt.net it seems like the ssl verification works now, I enabled it - but also added another option as well that I now saw in the docs, and now it did not fail on my end (which it did before). I will add a ‘enable ssl verification’ checkbox (checked by default) so that those who do not need or want it for testing and such can disable it if they want.
@funbreaker@twtxt.net okay, so something goes wrong in the response you get. Hm. I see you use twtxt, ill check against there tomorrow and see if I can find the issue (midnight here now). Also ill work on better error output as well when I find the problem.
Thank you for testing!
[LIVE] How would de-extinction work? And what’s the point? | Whose Gene 16 ⌘ Read more
@lyse@lyse.isobeef.org Also - I agree with the rest of what you say. I just have a habit of making stuff work, then improve, but what you mention is somethig I need to be better at doing from the start, so I’m glad you mention these things. Also - the TLS check - it refused to connect if I have it enabled, and from what I saw online you need a copy of the servers cert locally to have that enabled, that’s at least what I found when I looked into it, but it’s worth a second look for sure. Pizza was great today, i’m stuffed! :)
How generative AI is changing the way developers work
Rapid advancements in generative AI coding tools like GitHub Copilot are accelerating the next wave of software development. Here’s what you need to know. ⌘ Read more
I host gitea instance inside of termux and id it works perfectly.[ termux
JMP: Verify Google Play App Purchase on Your Server
We are preparing for the first-ever Google Play Store launch of Cheogram Android as part of JMP coming out of beta later this year. One of the things we wanted to “just work” for Google Play users is to be able to pay for the app and get their first month of JMP “bundled” into that purchase price, to smooth the common onboarding experience. So how do the JMP servers know that the app communicating with them is running a version of the app bought from Google P … ⌘ Read more
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. :-)
[47°09′30″S, 126°43′36″W] Storm recedes – back to normal work
Since I found a cheap lifetime license for AdGuard Premium, I’ll try it on my phone for a while. I’ve also configured it with my strict NextDNS profile. But now my phone not only filters DNS requests to block ads, but also HTTP requests. And while uBlock Origin works pretty well in Firefox on Android, I decided to disable it while using AdGuard to see how the performance compares. ⌘ Read more
@lyse@lyse.isobeef.org We use gitlab daily at work. but for my own projects I use gogs. I have some scripts that I used for a gnusocial client that I maintained (before leaving gnusocial). I’ll see if I can adapt that and make deb files for the yarn client - I mostly use debian \ Trisquel my self, so I also like .deb as well.
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.
Need to rework the timeline a bit, I want it to append new statuses after refresh, right now it fetches the whole timeline and just inserts it as a whole. So I’ll work on that alongside the refresh functionality.
So glad I switched to GTK4, so much easier to work with then FLTK.
[47°09′34″S, 126°43′18″W] Storm recedes – back to normal work
Reply button seems to work!
Erlang Solutions: You’ve been curious about LiveView, but you haven’t gotten into it
As a backend developer, I’ve spent most of my programming career away from frontend development. Whether it’s React/Elm for the web or Swift/Kotlin for mobile, these are fields of knowledge that fall outside of what I usually work with.
Nonetheless, I always wanted to have a tool at my disposal for building rich frontends. While the web seemed like the platform with the lowest bar … ⌘ Read more
How Wheels Really Work | Neil deGrasse Tyson Explains… ⌘ Read more
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() 😅
@funbreaker@yn.vern.cc Hi! I have attached the current screenshot, as you see it’s not done yet, I need to add some things, but a lot of work is already done.
I will fix the remaining things and try to make it usable enough this week so that I can upload the source.
Need to add the remaining reply button, image loading and width of the text etc first.
I had that in the FLTK client, so I just need to add it to this new GTK gui.
Here is what I had with FLTK
https://yarn.stigatle.no/twt/4nuoc7q
I did not have time to work on those things today, ran out of time. But I’ll resume tomorrow.
I’ve always said if you want to get a developer to do something, just question their intelligence. This works on way too may otherwise smart people. Managers exploit loyal workers over less committed colleagues | Hacker News
Got some good progress on the GTK gui today, got the timeline to work!
Took some time to figure out how the UI layout stuff works, but it looks good now.
I will add the avatars next.
The way it is right now - I got this up and running in a couple of hours, instead of ‘days’ with FLTK.
So I’m glad I made the decision to switch to GTK,
Right now I’m doing all development on Trisquel OS, windows version will come later on.
Also - since I thought about the possibility that I wanted to switch early in the process the code that does all the work is UI independent, meaning this was easy to do. +1 for planning ahead.. :)
I will post a screenshot of the new UI soon, once it’s a bit polished.
[47°09′12″S, 126°43′10″W] Storm recedes – back to normal work
Q: Is anyone actually finding the activitypub experimental feature I’ve been working on (for those running main) actually useful? 🤔 (because I’m not and having second thoughts…)
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.
The very first article about video games on Linux… from 1994
Yes. It’s about DOOM. And, no. The reviewer didn’t have working sound on Linux. ⌘ Read more
Qualifications
⌘ Read more
[47°09′42″S, 126°43′55″W] Storm recedes – back to normal work
[47°09′17″S, 126°43′03″W] Working impossible due to blizzard
[47°09′08″S, 126°43′57″W] Working impossible due to thunderstorm
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.
Also - did a quick test on linux, it gave a lot of errors with the rapidjson library, so I have to find a way to work around that. I think I’ll pull the latest, then compile it - and then point to that - instead of installing the rapidjson-dev package. Maybe that’ll work.
Timeline is cleaned up, so now I think I have that part sorted.
Next is to refactor a bit and then fix so that the timeline refreshes properly.
Once that is done I think I’ll clean it up and upload the source somewhere and create tickets for outstanding known issues. Most likely upload it to github and continue the work there.
If you regularly work remotely (away from home and the office), a portable monitor is one of the best investments you can make. I’ve had my HANNspree HL162 for almost a year now and it’s really helpful when I work from my family’s home. Having two screens really increases my productivity. 😄 ⌘ Read more
Announcing Docker+Wasm Technical Preview 2
Get the latest news on Docker+Wasm, including our work with partners to support more runtimes while making it easier to run Wasm workloads with Docker. ⌘ Read more
[47°09′52″S, 126°43′29″W] Working impossible due to blizzard
[47°09′18″S, 126°43′40″W] Storm recedes – back to normal work
Partnering with EU policymakers to ensure the Cyber Resilience Act works for developers
We’re looking forward to working with policymakers to improve cybersecurity and support developers. ⌘ Read more
I have cleaned up the timeline a bit, I like this much more.
I use the markdown text now, instead of the ‘text’ field in the json file, looks much cleaner.
I can work with this. One thing that I want to sort out next is the way the nicknames and url is shown.
Also links in posts should be clickable - not sure if the current labels support that, but I’ll try and figure it out somehow. Anyways - latest screenshot is attached here.. :)
Ignite Realtime Blog: Developing Openfire Efficient XML Interchange (EXI) functionality
We am excited to announce that a new plugin for the Openfire real time collaboration server is in the works! This plugin implements Efficient XML Interchange (EXI) functionality and provides an XMPP implementation of EXI as defined in XEP-0322.
Ef … ⌘ Read more
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 :)
[47°09′48″S, 126°43′40″W] Storm recedes – back to normal work
Now tell me how can I prevent 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.
This time I’m doing my commute (to my second flat) with this new 70L travel backpack from Decathlon. It’s already full with just my work stuff (notebook, keyboard, mouse) and some other stuff (personal notebook, smaller backpack, toiletries, 2L water bottle). How am I supposed to fit 14 days of vacation stuff in there? 🤔 Good that I can take a vacation without having to take the work stuff with me. 😅 ⌘ Read more
I see I’m not doing any work today, so rest day. Watching YouTube day.
Well, the code for getting and setting the avatar works.
I need to align things better though. But cool that it works.
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@twtxt.net Yeah, that did not work well it seems.
@stigatle@yarn.stigatle.no I don’t think this is working very well tonight for some reason 😅
👋 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! 👏
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.
Don’t leave developers behind in the Section 230 debate
Developers are at the heart of our online world and at the forefront of creating solutions for global challenges, working to make the software that underpins our digital infrastructure more secure, reliable, and safe. ⌘ Read more
I will work more on it this weekend. I hope to tidy it up enough for a screenshot 😀
How GitHub Docs’ new search works
GitHub Docs recently changed its site-search to Elasticsearch. Here’s how it was implemented. ⌘ Read more
[47°09′46″S, 126°43′36″W] Working impossible due to thunderstorm
Ignite Realtime Blog: Botz version 1.2.0 release
We have just released version 1.2.0 of the Botz framework for Openfire!
The Botz library adds to the already rich and extensible Openfire with the ability to create internal user bots.
In this release, a bug that prevented client sessions for bots from being created was fixed. Hat-tip to
Kris Iyer for working with us on a fix!
Download the latest version of the Botz framework from [its project page](https://www.igniterealtime.org/projects/botz/ … ⌘ Read more
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.
[47°09′36″S, 126°43′13″W] Working impossible due to blizzard
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).
[47°09′32″S, 126°43′04″W] Storm recedes – back to normal work
[47°09′13″S, 126°43′17″W] Working impossible due to thunderstorm
Release Radar · February 2023 Edition
Our community—along with ourselves—took a much needed break over the festive season. Now everyone is back into the full swing of work, and the open source community is showing us it’s all hands on deck. We had dozens of submissions for the February Release Radar—a testament to the amount of code being shipped by the […] ⌘ Read more
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.
The XMPP Standards Foundation: The XMPP Newsletter February 2023
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of February 2023.
Many thanks to all our readers and all contributors!
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Rea … ⌘ Read more
New machine for work.
I get to keep the old one for personal use
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++.
[47°09′10″S, 126°43′39″W] Storm recedes – back to normal work
@prologic@twtxt.net 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.
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.
@prologic@twtxt.net 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.
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.
JMP: Cheogram Android: Stickers
One feature people ask about from time to time is stickers. Now, “stickers” isn’t really a feature, nor is it even universally agreed what it means, but we’ve been working on some improvements to Cheogram Android (and the Cheogram service) to make some sticker workflows better, released today in 2.12.1-3. This post will mostly talk about those changes and the technical implications; if you just want to see a demo of som … ⌘ Read more
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@twtxt.net anything particular you are working on? :)
Linux is the new “It Just Works” OS
Listen now (20 min) | The Lunduke Journal of Technology Podcast - Feb 27, 2023 ⌘ Read more
@prologic@twtxt.net 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@twtxt.net Thank you. I’ll work on fetching and parsing all the posts after work today. Looking forward to getting this into a working state.