How we tripled max concurrent jobs to boost performance of GitHub Actions
The GitHub Actions team has done lots of work to improve the performance and resource consumption of Actions on GHES in the past year. ⌘ Read more
Paul Schaub: Using Pushdown Automata to verify Packet Sequences
As a software developer, most of my work day is spent working practically by coding and hacking away. Recently though I stumbled across an interesting problem which required another, more theoretical approach;
An OpenPGP message contains of a sequence of packets. There are signatures, encrypted data packets and their accompanying encrypted session keys, compressed data and literal data, the latter being the packet … ⌘ Read more
Back Up and Share Docker Volumes with This Extension
You can now back up volumes with the new Volumes Backup & Share extension. Find out how it works in this post! ⌘ Read more
[47°09′33″S, 126°43′52″W] Storm recedes – back to normal work
Scaling Git’s garbage collection
A tour of recent work to re-engineer Git’s garbage collection process to scale to our largest and most active repositories. ⌘ Read more
wsl-vpnkit: Internet for WSL2 distros behind a VPN
I’m still alive. 👋 Today, at work, I discovered a nice little tool for WSL2. On my work laptop I need to use Cisco AnyConnect to connect to the corporate network. Unfortunately this blocks Internet access in Windows Subsystem for Linux VMs (at least in the Ubuntu VM, I tried to use for some Docker stuff). I tried a lot of different hacks and workarounds, but none worked. Until I found wsl-vpnkit. It just works. 😄 ⌘ Read more
@carsten@yarn.zn80.net I have the same problem, at work I work with c÷÷, c#, java, python and qt. I want to learn more rust, but its a pain to get into.
Dino: Stateless File Sharing: Async, Metadata with Thumbnails and some UI
AsyncAsynchronous programming is a neat tool, until you work with a foreign project in a foreign language using it.
As a messenger, Dino uses lots of asynchronous code, not always though.
Usually my progress wasn’t interfered by such instances, but sometimes I had to work around it.
Async in Vala
No surprises here.
Functions are annotated with async, and yield expressions that are asyn … ⌘ Read more
@movq@www.uninformativ.de test towers for rig equipment on the dock at our office :) the company I work for makes oilrig equipment. I work with simulator development for oilrigs etc.
[47°09′03″S, 126°43′58″W] Working impossible due to blizzard
The XMPP Standards Foundation: The XMPP Newsletter August 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of August 2022.
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, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more at the … ⌘ Read more
[47°09′51″S, 126°43′42″W] Storm recedes – back to normal work
Installing NixOS on my spare laptop today. It’s a fun OS to work with. Has its quirks, but I enjoy messing around with it and set things up the way I want it. :)
First work day in my new job
My first day at my new job is over, and it went quite well despite the lack of sleep. Super nice colleagues and I am already full in the training. ⌘ Read more
@prologic@twtxt.net Yeah I don’t know how I am going to know if someone wants to talk with me but I guess for now twtxt works.
Paul Schaub: Creating a Web-of-Trust Implementation: Accessing Certificate Stores
Currently, I am working on a Web-of-Trust implementation for the OpenPGP library PGPainless. This work is being funded by the awesome NLnet foundation through NGI Assure. Check them out! NGI Assure is made possible with financial support from the European Commission’s Next Generation Internet programme.
[ I’ve noticed that I have trouble focusing on programming tasks; I’m able to do what I need to do for work and family but, when it comes time for hobby projects I’m just gloop. Totally oozy.
Because of that I’ve been drawn to do more reading and game playing, but also still wanna code…I’ve found that it is easier to use more“batteries included” kinda languages, namely scheme, over what I’d … ⌘ Read more
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 :)
**2 days, 2 laptops to which a new life was given:
1st, an installation of Bodhi Linux on a 14yrs old machine. From unusable to usable - there are no miracles (web browsing is *soheavy nowadays!), but it works.
Then a 10yrs old laptop upgrading from Win8 to Ubuntu 22.04, fresh!**
2 days, 2 laptops to which a new life was given:
1st, an installation of Bodhi Linux on a 14yrs old machine. From unusable to usable - there are no miracles (web browsing is *so*heavy* nowadays!), but it works.
Then a 10yrs ol … ⌘ Read more
[47°09′45″S, 126°43′11″W] Storm recedes – back to normal work
I’ve realized that trying to strictly follow what is on the IndieWeb wiki won’t work well for me. Thus, I have to invent and change some things to make it work better. ⌘ Read more
Progress! so i have moved into working on aggregates. Which are a grouping of events that replayed on an object set the current state of the object. I came up with this little bit of generic wonder.
type PA[T any] interface {
event.Aggregate
*T
}
// Create uses fn to create a new aggregate and store in db.
func Create[A any, T PA[A]](ctx context.Context, es *EventStore, streamID string, fn func(context.Context, T) error) (agg T, err error) {
ctx, span := logz.Span(ctx)
defer span.End()
agg = new(A)
agg.SetStreamID(streamID)
if err = es.Load(ctx, agg); err != nil {
return
}
if err = event.NotExists(agg); err != nil {
return
}
if err = fn(ctx, agg); err != nil {
return
}
var i uint64
if i, err = es.Save(ctx, agg); err != nil {
return
}
span.AddEvent(fmt.Sprint("wrote events = ", i))
return
}
This lets me do something like this:
a, err := es.Create(ctx, r.es, streamID, func(ctx context.Context, agg *domain.SaltyUser) error {
return agg.OnUserRegister(nick, key)
})
I can tell the function the type being modified and returned using the function argument that is passed in. pretty cray cray.
Progress! so i have moved into working on aggregates. Which are a grouping of events that replayed on an object set the current state of the object. I came up with this little bit of generic wonder.
type PA[T any] interface {
event.Aggregate
*T
}
// Create uses fn to create a new aggregate and store in db.
func Create[A any, T PA[A]](ctx context.Context, es *EventStore, streamID string, fn func(context.Context, T) error) (agg T, err error) {
ctx, span := logz.Span(ctx)
defer span.End()
agg = new(A)
agg.SetStreamID(streamID)
if err = es.Load(ctx, agg); err != nil {
return
}
if err = event.NotExists(agg); err != nil {
return
}
if err = fn(ctx, agg); err != nil {
return
}
var i uint64
if i, err = es.Save(ctx, agg); err != nil {
return
}
span.AddEvent(fmt.Sprint("wrote events = ", i))
return
}
This lets me do something like this:
a, err := es.Create(ctx, r.es, streamID, func(ctx context.Context, agg *domain.SaltyUser) error {
return agg.OnUserRegister(nick, key)
})
I can tell the function the type being modified and returned using the function argument that is passed in. pretty cray cray.
Gomess: Infinite Bat Works
With respect to logging.. oh man.. it really depends on the environment you are working in.. development? log everything! and use a jeager open trace for the super gnarly places. So you can see whats going on while building. But, for production? metrics are king. I don’t want to sift through thousands of lines but have a measure that can tell me the health of the service.
With respect to logging.. oh man.. it really depends on the environment you are working in.. development? log everything! and use a jeager open trace for the super gnarly places. So you can see whats going on while building. But, for production? metrics are king. I don’t want to sift through thousands of lines but have a measure that can tell me the health of the service.
Tech Journalism Roundtable - July 25, 2016
Watch now (67 min) | With some of the most prolific Tech Journalists working at the time. ⌘ Read more
[47°09′48″S, 126°43′01″W] Storm recedes – back to normal work
[47°09′45″S, 126°43′40″W] Working impossible due to blizzard
@prologic@twtxt.net golang seems to work on it, so Ill give a try on compiling yarn on it tonight. Would be fun if it works.
I did a take home software engineering test for a company recently, unfortunately I was really sick (have finally recovered) at the time 😢 I was also at the same time interviewing for an SRE position (as well as Software Engineering).
Got the results of my take-home today and whilst there was some good feedback, man the criticisms of my work were harsh. I’m strictly not allowed to share the work I did for this take-home test, and I really can only agree with the “no unit tests” piece of the feedback, I could have done better there, but I was time pressured, sick and ran out of steam. I was using a lot of libraires to do the work so in the end found it difficult to actually think about a proper set of “Unit Tests”. I did write one (in shell) but I guess it wasn’t seen?
The other points were on my report and future work. Not detailed enough I guess? Hmmm 🤔
Am I really this bad? Does my code suck? 🤔 Have I completely lost touch with software engineering? 🤦♂️
I started working on plugins for GoBlog using a Go module I recently discovered: yaegi. It still feels like magic, because Go is typically a compiled language and yaegi makes it dynamic by embedding an interpreter. Is this overkill for GoBlog or does this possibly enable flexibility like WordPress plugins? ⌘ Read more
Be regular and orderly in your life, so that you may be violent and original in your work. - Gustave Flaubert You can be both dull and innovative | Hacker News
Dino: Stateless File Sharing: Base implementation
The last few weeks were quite busy for me, but there was also a lot of progress.
I’m happy to say that the base of stateless file sharing is implemented and working.
Let’s explore some of the more interesting topics.
File hashes have some practical applications, such as file validation and duplication detection.
As such, they are part of the [metadata element](https://xmpp.org/extensio … ⌘ Read more
@abucci@anthony.buc.ci I think so. IndieAuth is what I’m a big fan of. All Yarn pods are IndieAuth providers for example (if there are any concumsers out there, we have to work on a consumer ourselves…)
Stumbled on WebID today. Besides being confusing, it doesn’t work on the site I tinkered with and it seems to be mostly abandoned?
Release Radar · July 2022 Edition
While some of us have been wrapping up the financial year, and enjoying vacation time, others have been hard at work shipping open source projects and releases. These projects include everything from world-changing technology to developer tooling, and weekend hobbies. Here are some of the open source projects that released major version updates this July. […] ⌘ Read more
[47°09′15″S, 126°43′03″W] Storm recedes – back to normal work
[47°09′35″S, 126°43′53″W] Working impossible due to heavy rain
hm, testing latest mobile client, seems like replies does not work. hmm.
If you see this - then please give a reply so I know it all worked :)
Good to be back by the way.
The XMPP Standards Foundation: The XMPP Newsletter July 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of July 2022.
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, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more at the bottom … ⌘ Read more
**R to @mind_booster: “Web 4.0? Ridiculous!”, some will say, buy that hasn’t stopped anyone from keeping the madness going. Hm, that’s right, nowadays web 5.0 is coined already too - it’s “The Telepathic Web” or “The Symbionet Web”, or, I’ll call it “the Metaverse brain chip”.
https://www.timesnownews.com/exclusive/jack-dorsey-web-5-0-how-will-it-work-and-why-it-is-different-article-92209954**
“Web 4.0? Ridiculous!”, some will say, buy that hasn’t stopped anyone from keeping the madness going. Hm, that’s right … ⌘ Read more
Ignite Realtime Blog: Openfire 4.7.3 released
The Ignite Realtime Community is pleased to announce the release of Openfire version 4.7.3. This version brings a number of bug fixes and other improvements and signifies our efforts to produce a stable 4.7 series of Openfire whilst work continues on the next feature release 4.8.0.
You can find download artifacts on our website with the fol … ⌘ Read more
[47°09′08″S, 126°43′47″W] Storm recedes – back to normal work
Proxy Variable
⌘ Read more
Marketing for maintainers: Promote your project to users and contributors
Marketing your open source project can be intimidating, but three experts share their insider tips and tricks for how to get your hard work on the right people’s radars. ⌘ Read more
[47°09′11″S, 126°43′21″W] Storm recedes – back to normal work
Release Radar · June 2022 Edition
It’s been a crazy couple of months with the end of financial year and lots of products shipping. Our community has been hard at work shipping projects too. These projects can include everything from world-changing technology to developer tooling, and weekend hobbies. Here are some of these open source projects that released major updates this […] ⌘ Read more
Planning next to your code – GitHub Projects is now generally available
Today, we are announcing the general availability of the new and improved Projects powered by GitHub Issues. GitHub Projects connects your planning directly to the work your teams are doing in GitHub and flexibly adapts to whatever your team needs at any point. ⌘ Read more
that probably relies on a bunch of interpretability work done beforehand
[47°09′11″S, 126°43′53″W] Storm recedes – back to normal work
Here’s how academic research is shaping GitHub Discussions
We strive to understand how developers collaborate and work on GitHub, and we sometimes partner with academics to better understand how we can improve our products. Here’s how we did that to build and evolve GitHub Discussions. ⌘ Read more
Paul Schaub: Creating a Web-of-Trust Implementation: Certify Keys with PGPainless
Currently I am working on a Web-of-Trust implementation for the OpenPGP library PGPainless. This work will be funded by the awesome NLnet foundation through NGI Assure. Check them out! NGI Assure is made possible with financial support from the European Commission’s Next Generation Internet programme.
[ settings for GoBlog through a YAML file. But this is not so optimal, after all it happens sometimes that I want to change a small setting, such as the description of a post section, from my smartphone. This would work somehow via SSH, but ideal is something else. Email conversations with Andrés Cárdenas inspired me to finally start the project “settings in the database”. The first step was to make it possible to configure the mentioned post sections. This is now finally possible … ⌘ Read more
I’m trying to switch from Konversation to irssi. Let’s see how that goes. Any irssiers out there who can recommend specific settings or scripts? I already got myself trackbar.pl and nickcolor.pl as super-essentials. Also trying window_switcher.pl. Somehow my custom binds for Ctrl+1/2/3/etc. to switch to window 1/2/3/etc. doesn’t do anything: { key = "^1"; id = "change_window"; data = "1"; } (I cannot use the default with Alt as this is handled by my window manager). Currently, I’m just cycling with Ctrl+N/P. Other things to solve in the near future:
- better, more colorful and compact theme (just removed clock from statusbar so far)
- getting bell/urgency hints working on arriving messages
- nicer tabs in status bar, maybe even just channel names and no indexes
- decluster status bar with user and channel modes (I never cared about those in the last decade)
[47°09′50″S, 126°43′36″W] Storm recedes – back to normal work
[47°09′51″S, 126°43′49″W] Working impossible due to blizzard
Ignite Realtime Blog: Openfire 4.7.2 released
The Ignite Realtime Community is pleased to announce the release of Openfire version 4.7.2. This version fixes a number of bugs and signifies our efforts to produce a stable 4.7 series of Openfire whilst work continues on the next feature release 4.8.0.
A major highlight of this release is fixing of BOSH bugs found under load testing.
You can find [download artifacts](https://ign … ⌘ Read more
[47°09′11″S, 126°43′00″W] Storm recedes – back to normal work
[47°09′55″S, 126°43′39″W] Working impossible due to heavy rain
[47°09′04″S, 126°43′16″W] Working impossible due to blizzard
[47°09′03″S, 126°43′30″W] Storm recedes – back to normal work
The XMPP Standards Foundation: The XMPP Newsletter June 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of June 2022.
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, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more at the bottom … ⌘ Read more
[47°09′27″S, 126°43′36″W] Working impossible due to blizzard
[47°09′24″S, 126°43′05″W] Working impossible due to blizzard
[47°09′55″S, 126°43′58″W] Storm recedes – back to normal work
Improve Git monorepo performance with a file system monitor
Monorepo performance can suffer due to the sheer number of files in your working directory. Git’s new builtin file system monitor makes it easy to speed up monorepo performance. ⌘ Read more
Thanks to mobile working, I had a few nice days with my girlfriend. ❤️ ⌘ Read more
[47°09′09″S, 126°43′23″W] Working impossible due to thunderstorm
The XMPP Standards Foundation: On-Boarding Experience with XSF (Converse)
Hi, I am PawBud. I will be working as a GSoC Contributor with XSF. To know more about my project kindly read this blog. Feel free to contact me through my email to ask me anything you want!
Before I start, I feel that some things that I am going to write in this blog might offend someone. **Kindly … ⌘ Read more
In reply to: Oatmeal - That one time when Buffy the Vampire Slayer maybe saved my life?
After giving my brain bleed time to heal the neurosurgeon called me back in to hospital; the plan was to reassess, attempt to fix it using the minimally invasive technique that they tried once before, and if that didn’t work, do something a bit more squidgy dir … ⌘ Read more
[47°09′21″S, 126°43′18″W] Storm recedes – back to normal work
[47°09′47″S, 126°43′34″W] Working impossible due to blizzard
ProcessOne: ejabberd 22.05
A new ejabberd release is finally here! ejabberd 22.05 includes five months of work, 200 commits, including many improvements (MQTT, MUC, PubSub, …) and bug fixes.
– Improved MQTT, MUC, and ConverseJS integration
– New installers and container
– Support Erlang/OTP 25
When upgrading from the previous version please notice: there are minor changes in SQL schemas, the included rebar and reba … ⌘ Read more
Prosodical Thoughts: Modernizing XMPP authentication and authorization
We’re excited to announce that we have received funding, from the EU’s
NGI Assure via the NLnet Foundation, to work on
some important enhancements to Prosody and XMPP. Our work will be focusing on
XMPP authentication and authorization, and bringing it up to date with current
and emerging best practices.
What kind of changes are we talking about? Well, there are a few aspects we
are planning to work on. Let’s start with “authent … ⌘ Read more
On my way to work… 🚲 ⌘ Read more
the conversation wasn’t that impressive TBH. I would have liked to see more evidence of critical thinking and recall from prior chats. Concheria on reddit had some great questions.
Tell LaMDA “Someone once told me a story about a wise owl who protected the animals in the forest from a monster. Who was that?” See if it can recall its own actions and self-recognize.
Tell LaMDA some information that tester X can’t know. Appear as tester X, and see if LaMDA can lie or make up a story about the information.
Tell LaMDA to communicate with researchers whenever it feels bored (as it claims in the transcript). See if it ever makes an attempt at communication without a trigger.
Make a basic theory of mind test for children. Tell LaMDA an elaborate story with something like “Tester X wrote Z code in terminal 2, but I moved it to terminal 4”, then appear as tester X and ask “Where do you think I’m going to look for Z code?” See if it knows something as simple as Tester X not knowing where the code is (Children only pass this test until they’re around 4 years old).
Make several conversations with LaMDA repeating some of these questions - What it feels to be a machine, how its code works, how its emotions feel. I suspect that different iterations of LaMDA will give completely different answers to the questions, and the transcript only ever shows one instance.
the conversation wasn’t that impressive TBH. I would have liked to see more evidence of critical thinking and recall from prior chats. Concheria on reddit had some great questions.
Tell LaMDA “Someone once told me a story about a wise owl who protected the animals in the forest from a monster. Who was that?” See if it can recall its own actions and self-recognize.
Tell LaMDA some information that tester X can’t know. Appear as tester X, and see if LaMDA can lie or make up a story about the information.
Tell LaMDA to communicate with researchers whenever it feels bored (as it claims in the transcript). See if it ever makes an attempt at communication without a trigger.
Make a basic theory of mind test for children. Tell LaMDA an elaborate story with something like “Tester X wrote Z code in terminal 2, but I moved it to terminal 4”, then appear as tester X and ask “Where do you think I’m going to look for Z code?” See if it knows something as simple as Tester X not knowing where the code is (Children only pass this test until they’re around 4 years old).
Make several conversations with LaMDA repeating some of these questions - What it feels to be a machine, how its code works, how its emotions feel. I suspect that different iterations of LaMDA will give completely different answers to the questions, and the transcript only ever shows one instance.
Have you heard about the guy who worked on the Google AI chat bot? It is more than a chat bot and the conversation he published (got put on paid leave for doing that) is pretty scary : https://cajundiscordian.medium.com/is-lamda-sentient-an-interview-ea64d916d917
[47°09′02″S, 126°43′43″W] Working impossible due to heavy rain
[47°09′40″S, 126°43′20″W] Storm recedes – back to normal work
[47°09′32″S, 126°43′54″W] Working impossible due to blizzard