Searching txt.sour.is

Twts matching #lets-
Sort by: Newest, Oldest, Most Relevant

Got contacted on instagram from someone who wanted to buy some of my images (NFT), I have been putting the images I liked the most into a collection (and add new ones when I take Images I think is good enough) into the collection. Just letting it sit there to see if I can make a sale one day.
Not sure yet if the person is serious or not - but If I could make a sale - then I’m all for it.
It’s much easier to put things up for sale as NFT then other ways.
I sell them as a 1 item thing. And put a price that I think is fair (Fixed price on all, but based on the amount of time I actually spend getting to all these locations).
One thing I have not liked about NFT is all the crap art stuff that there that takes 0 effort, but I do at least spend time picking out where we go. And each image has a memory attached to it, a trip with my family to that exact place..

⤋ Read More

I’m curious. How many people truly believe blockchain social networks are the future?

NFTs, tokens, monetization, revenue…

I’m sorry, but how are your random social media blabbers worth any money?
Unless you’re Shakespeare or Einstein or some philosophical or scientific genius, I don’t see why anyone would want to read your posts, let alone cash out some “crypto” from some “wallet”.

And that applies to most people. Sure, your lifestyle and your thoughts may be interesting. But who’s going to start paying to view what’s going on in your life?

As if likes, upvotes, hearts, and subscriptions weren’t narcissistic enough, let’s make people think someone wants to pay them with crypto to view their random posts online.

⤋ Read More

Speculation, accusation, defamation, and conspiracies will always get more eyeballs then careful balanced well researched reporting. Lying about something now is cheaper and more profitable than sending a reporter out and getting the facts tomorrow. Forget Spotify for news – let’s fix the real problem (2017) | Hacker News

⤋ Read More

Ignite Realtime Blog: Certificate Manager plugin for Openfire release 1.1.1
The Ignite Realtime community is happy to announce a new release of the Certificate Manager plugin for Openfire.

This plugin allows you to automate TLS certificate management tasks. This is particularly helpful when your certificates are short-lived, like the ones issued by Let’s Encrypt.

This release is a maintenance release. It adds translations. More details are available in the [changelog] … ⌘ Read more

⤋ Read More

Erlang Solutions: Lifting Your Loads for Maintainable Elixir Applications
This post will discuss one particular aspect of designing Elixir applications using the Ecto library: separating data loading from using the data which is loaded.  I will lay out the situations and present some solutions, including a new library called ecto_require_associations.

Applications will differ, but let’s look at [this example]( … ⌘ Read more

⤋ Read More

Erlang Solutions: Lifting Your Loads for Maintainable Elixir Applications
This post will discuss one particular aspect of designing Elixir applications using the Ecto library: separating data loading from using the data which is loaded.  I will lay out the situations and present some solutions, including a new library called ecto_require_associations.

Applications will differ, but let’s look at [this example]( … ⌘ Read more

⤋ Read More

JMP: Newsletter: Jabber ID Discovery, New Referral Codes
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free … ⌘ Read more

⤋ Read More

@funbreaker@twtxt.net I have pushed a fix now to git, I now got rid of the error when I use it on my end. I will create a test account on twtxt later tonight (after dinner and all that) if needed. If you test the latest on your end before that - let me know :) And thanks for your patience.

⤋ Read More
↳ In-reply-to » The code for the desktop client is now public here: https://github.com/stig-atle/YarnDesktopClient , I will create tickets for the known things I need to fix and such later today.

If anyone of you pulls the code and compiles it - then please let me know :)

⤋ Read More

Multi-repository variant analysis: a powerful new way to perform security research across GitHub
Multi-repository variant analysis lets you scale security research across thousands of repositories, giving you a powerful tool to find and respond to newly discovered vulnerabilities. ⌘ Read more

⤋ Read More

My cheap alternative to Ngrok
Since GoBlog has an Auto-HTTPS feature that can automatically retrieve HTTPS certificates via ACME from e.g. Let’s Encrypt, I need a public IP address with which I can reach my test instance of GoBlog via port 80 and 443. ⌘ Read more

⤋ Read More

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.

⤋ Read More

Erlang Solutions: Can’t Live with It, Can’t Live without It
I’d like to share some thoughts about Elixir’s with keyword.  with is a wonderful tool, but in my experience it is a bit overused.  To use it best, we must understand how it behaves in all cases.  So, let’s briefly cover the basics, starting with pipes in Elixir.

Pipes are a wonderful abstraction

But like all tools, you should think about when it is best used…

Pipes are at their best when you expect your function … ⌘ Read more

⤋ Read More

Lindypress Bug Fix
Just a brief note that for the past couple of days, you might’ve been unable to buy books on LindyPress.net if you are in the United States, Canada or Australia (which is a lot of you). This has now been fixed, so you can place your orders now!

The issue was that there was a silent API update that kept addresses from validating states and provinces. Note that if your order placed, it’s all okay, this is only for people for whom the site would not let place an order.
… ⌘ Read more

⤋ Read More

Lindypress Bug Fix
Just a brief note that for the past couple of days, you might’ve been unable to buy books on LindyPress.net if you are in the United States, Canada or Australia (which is a lot of you). This has now been fixed, so you can place your orders now!

The issue was that there was a silent API update that kept addresses from validating states and provinces. Note that if your order placed, it’s all okay, this is only for people for whom the site would not let place an order.
… ⌘ Read more

⤋ Read More

Profanity: New Profanity Old System
Occasionally people visit our MUC asking how to run the latest profanity release on years old systems.
For some distributions people maintain a backports project, so you can get it from there if available.

Here we want to describe another methods, using containers, more specifically distrobox.

What’s Distrobox?

It’s basically a tool that let’s you run another distribution on your system. It uses docker/podman to create containers that … ⌘ Read more

⤋ Read More
↳ In-reply-to » 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.

@bender@twtxt.net Yeah, that is correct :) I use it for testing, but I set it up as any desktop system as close as I can, with all the things I usually use.
I’m really excited about riscv - I have another board as well, which is more like a arduino, but I never got that one to do anything useful, but the mangopo - is as you say more usefull since it’s just like a raspberrypi zero, and works very well.
But I am looking forward to that day I can have a proper desktop system (or laptop) with riscv. There was a board released some time ago that let you do that, but the price was a bit too high for me .So now I wait for the next thing to come out.

⤋ Read More

Took my daughter’s kickbike again and let Nanook pull for some kilometres, he was really good today, fun to see him correct around obstacles, and when he looks back at me while running to make sure things are OK. I really need to get a offroad kickbike that I can use, makes it more safe too - because he runs fast. I know Ill get one in mid May, hopefully sooner.

⤋ Read More

JMP: Newsletter: JMP is 6! Leaving beta this year! And FOSSY 🙂️
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one … ⌘ Read more

⤋ Read More

**RT by @mind_booster: Happy I ❤️ Free Software Day everyone! Let’s start by saying thank you to #freesoftware contributors out there who work for #softwarefreedom ❤️ #ilovefs

Don’t let this day pass without saying thank you! https://sharepic.fsfe.org/#ilovefs**
Happy I ❤️ Free Software Day everyone! Let’s start by saying thank you to #freesoftware contributors out there who work for #softwarefreedom ❤️ [#ilovefs](https:/ … ⌘ Read more

⤋ Read More

Erlang Solutions: Elixir, 7 steps to start your journey
Read this post in Spanish.

Let’s talk about Elixir!

Elixir is a functional programming language created by José Valim to build concurrent and scalable systems. It is defined as:

“a dynamic, functional language for building scalable and maintainable applications”.

https://elixir-lang.org/

Its first version was released in 2012. Since then, n … ⌘ Read more

⤋ Read More

JMP: Threads, Thumbnails, XMR, ETH
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Shar … ⌘ Read more

⤋ Read More

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.

⤋ Read More

PEP 703: Making the Global Interpreter Lock Optional in CPython
CPython’s global interpreter lock (“GIL”) prevents multiple threads from executing Python code at the same time. The GIL is an obstacle to using multi-core CPUs from Python efficiently. This PEP proposes adding a build configuration (–without-gil) to CPython to let it run Python code without the global interpreter lock and with the necessary changes needed to make the interpreter thread-safe. ⌘ Read more

⤋ Read More

RT by @mind_booster: Happy Public Domain Day 2023! Let’s celebrate in style with Erma Bossi’s fun painting “Circus”, which just entered the Public Domain – meaning it is now free to re-use and remix by anyone! href=”https://txt.sour.is/search?q=%23publicdomainday”>#publicdomainday**
Happy Public Domain Day 2023! Let’s celebrate in style with Erma Bossi’s fun painting “Circus”, which just entered the Public Domain – meaning it is now free to re-use and remix by anyone! #publicdomainday

![](https://nitter.net/pi … ⌘ Read more

⤋ Read More

I think boredom is a real force that pushes ourselves to the edge, to hopefully make a change in life, like going out to see real people. Social media creates this cozy, safe place to keep your mind occupied, letting life pass without realizing it. Social media may prevent users from reaping creative rewards of profound boredom | Hacker News

⤋ Read More

How we use GitHub to be more productive, collaborative, and secure
Our engineering and security teams have done some incredible work in 2022. Let’s take a look at how we use GitHub to be more productive, build collaboratively, and shift security left. ⌘ Read more

⤋ Read More

JMP: Newsletter: Busy Year in 2022
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Sha … ⌘ Read more

⤋ Read More

JMP: Newsletter: Busy Year in 2022
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Sha … ⌘ Read more

⤋ Read More

Creating an accessible search experience with the QueryBuilder component
GitHub’s search inputs have several complex accessibility considerations. Let’s dive into what those are, how we addressed them, and talk about the standalone, reusable component that was ultimately built. ⌘ Read more

⤋ Read More

pareto improvement: instead of letting students write bachelors/masters theses that are basically just literature reviews, let them rewrite the respective wikipedia articles instead (and then check the article)

⤋ Read More

Brought our dog to work today, so nice to have one that handles the cold without any issues. He just chills in his crate in the car while I work, and I take some small breaks to let him stretch his legs. Loves to play around in the snow. I could then take the ‘long’ walk on my way home instead of getting home first - then head out again.

⤋ Read More
↳ In-reply-to » Tired of running owncloud, switched to syncthing, takes some time to set up all devices, but I'm glad to finally be pushed to set it up.

@darch@neotxt.dk yeah, all my computers and devices are on 24/7. but I’ll install it on my webserver (vps) as well, and let that one be the master device. my desktop is backed up to spideroak at all times, so when I sync there it backs things up. Im not too worried about the issue if something causes a conflict. There is only one file that worries me, and that is my keepass file. I might keep that elsewhere to be sure, I have not decided yet.

⤋ Read More

How to Build a Restreaming Server with a Raspberry Pi
First of all, what is a restreaming server? Sometimes you want to livestream video from a device like an ATEM Mini or OBS to multiple destinations. Many devices and software like this will let you push video to just one RTMP destination at a time. ⌘ Read more

⤋ Read More

Amnistier les covidistes ? Et puis quoi encore ?
The Atlantic, vénérable mensuel fondé au XIXème siècle, a récemment fait paraître un article d’Emily Oster qui a largement défrayé la chronique : dans “Let’s declare a pandemic amnestie” (“Déclarons une amnistie pour la pandémie”), l’auteur tente d’aligner quelques arguments en faveur d’un pardon général pour tous ceux qui, pendant la pandémie, ont pris les décisions […] ⌘ Read more

⤋ Read More

JMP: Newsletter: New Cheogram Android Release, Chatwoot Instance
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.5.3
Gajim 1.5.3 brings back a feature many of you missed: selecting and copying multiple messages. Emoji shortcodes have been improved and cover even more emojis now. Gajim also lets you mark workspaces as read, so you don’t have to go through all conversations. Thank you for all your contributions!

What’s New

Since we changed the way Gajim displays messages in Gajim 1.4, selecting multiple messages to copy them was not possible anymore. With Gajim 1.5.3 you can now select multiple messag … ⌘ Read more

⤋ Read More

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:

Image

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.

⤋ Read More

**Here’s how a patent troll works:

  1. Sit and watch as s codec is made specifically to avoid patent fees;
  2. Wait a decade to let the codec be wildly implemented;
  3. Try to monetize the work of others, using patents some other parties might have.**
    Here’s how a patent troll works:

1. Sit and watch as s codec is made specifically to avoid patent fees;

2. Wait a decade to let the codec be wildly implemented;

3. Try to monetize the work of others, using patents some other parties might have.

[nitter.net/Hi … ⌘ Read more

⤋ Read More

JMP: Newsletter: Voicemail Changes, Opt-in Jabber ID Discoverability
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone number … ⌘ Read more

⤋ Read More

Monal IM: Monal IM – project moved
We recently started to migrate the App from Anu Pokharel‘s Apple account to Thilo Molitor‘s Apple account.

Aspart of this transition we also deployed some new push servers to not let an old retired developer pay for the infrastructure needed for Monal.

Coming along with this transition from the old developer team to the new one is our new clean website at https://monal-im.org/. From now on, this blog will not be used for Monal anymore.

**Many t … ⌘ Read more

⤋ Read More

Integrated Terminal for Running Containers, Extended Integration with Containerd, and More in Docker Desktop 4.12
Docker Desktop 4.12 is now live! This release brings some key quality-of-life improvements to the Docker Dashboard. We’ve also made some changes to our container image management and added it as an experimental feature. Finally, we’ve made it easier to find useful Extensions. Let’s dive in. Execute commands in a runn … ⌘ Read more

⤋ Read More

JMP: Newsletter: New Employee, Command UI, JMP SIM Card, Multi-account Billing
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone … ⌘ Read more

⤋ Read More
↳ In-reply-to » Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.

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
}

fig. 1

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)
})

fig. 2

I can tell the function the type being modified and returned using the function argument that is passed in. pretty cray cray.

⤋ Read More
↳ In-reply-to » Hi, I am playing with making an event sourcing database. Its super alpha but I thought I would share since others are talking about databases and such.

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
}

fig. 1

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)
})

fig. 2

I can tell the function the type being modified and returned using the function argument that is passed in. pretty cray cray.

⤋ Read More
↳ In-reply-to » 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).

@prologic@twtxt.net Error handling especially in Go is very tricky I think. Even though the idea is simple, it’s fairly hard to actually implement and use in a meaningful way in my opinion. All this error wrapping or the lack of it and checking whether some specific error occurred is a mess. errors.As(…) just doesn’t feel natural. errors.Is(…) only just. I mainly avoided it. Yesterday evening I actually researched a bit about that and found this article on errors with Go 1.13. It shed a little bit of light, but I still have a long way to go, I reckon.

We tried several things but haven’t found the holy grail. Currently, we have a mix of different styles, but nothing feels really right. And having plenty of different approaches also doesn’t help, that’s right. I agree, error messages often end up getting wrapped way too much with useless information. We haven’t found a solution yet. We just noticed that it kind of depends on the exact circumstances, sometimes the caller should add more information, sometimes it’s better if the callee already includes what it was supposed to do.

To experiment and get a feel for yesterday’s research results I tried myself on the combined log parser and how to signal three different errors. I’m not happy with it. Any feedback is highly appreciated. The idea is to let the caller check (not implemented yet) whether a specific error occurred. That means I have to define some dedicated errors upfront (ErrInvalidFormat, ErrInvalidStatusCode, ErrInvalidSentBytes) that can be used in the err == ErrInvalidFormat or probably more correct errors.Is(err, ErrInvalidFormat) check at the caller.

All three errors define separate error categories and are created using errors.New(…). But for the invalid status code and invalid sent bytes cases I want to include more detail, the actual invalid number that is. Since these errors are already predefined, I cannot add this dynamic information to them. So I would need to wrap them à la fmt.Errorf("invalid sent bytes '%s': %w", sentBytes, ErrInvalidSentBytes"). Yet, the ErrInvalidSentBytes is wrapped and can be asserted later on using errors.Is(err, ErrInvalidSentBytes), but the big problem is that the message is repeated. I don’t want that!

Having a Python and Java background, exception hierarchies are a well understood concept I’m trying to use here. While typing this long message it occurs to me that this is probably the issue here. Anyways, I thought, I just create a ParseError type, that can hold a custom message and some causing error (one of the three ErrInvalid* above). The custom message is then returned at Error() and the wrapped cause will be matched in Is(…). I then just return a ParseError{fmt.Sprintf("invalid sent bytes '%s'", sentBytes), ErrInvalidSentBytes}, but that looks super weird.

I probably need to scrap the “parent error” ParseError and make all three “suberrors” three dedicated error types implementing Error() string methods where I create a useful error messages. Then the caller probably could just errors.Is(err, InvalidSentBytesError{}). But creating an instance of the InvalidSentBytesError type only to check for such an error category just does feel wrong to me. However, it might be the way to do this. I don’t know. To be tried. Opinions, anyone? Implementing a whole new type is some effort, that I want to avoid.

Alternatively just one ParseError containing an error kind enumeration for InvalidFormat and friends could be used. Also seen that pattern before. But that would then require the much more verbose var parseError ParseError; if errors.As(err, &parseError) && parseError.Kind == InvalidSentBytes { … } or something like that. Far from elegant in my eyes.

⤋ Read More

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

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

⤋ Read More

JMP: Newsletter: Multilingual Transcriptions and Better Voicemail Greetings
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numb … ⌘ Read more

⤋ 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)

⤋ Read More

JMP: Newsletter: Command UI and Better Transcriptions Coming Soon
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one a … ⌘ Read more

⤋ Read More

School in China ditches sleeping on desks at nap time for health reasons and lets students set up their own tents to sleep in
A school in China, concerned by the health impacts of students sleeping with heads on desks, tried something different — now its ‘sleep lying down project’ is winning praise nationally. ⌘ Read more

⤋ Read More

Quirky China: Chinese factory uses mannequin as ‘fire warden’, pupils use train bench as homework desk, school lets kids wear hanfu clothes
Quirky China: A factory is caught using a mannequin to police fire warnings, three students have turned a train bench into a homework desk and a school is allowing pupils to attend classes dressed in traditional hanfu costumes. ⌘ Read more

⤋ 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

⤋ Read More

Paul Schaub: Reproducible Builds – Telling of a Debugging Story
Reproducibility is an important tool to empower users. Why would a user care about that? Let me elaborate.

For a piece of software to be reproducible means that everyone with access to the software’s source code is able to build the binary form of it (e.g. the executable that gets distributed). What’s the matter? Isn’t that true for any project with accessible source code? Not at all. Reproducibility means that the r … ⌘ Read more

⤋ Read More
↳ In-reply-to » A read-only, finger(1)-based social network, maybe? http://txtpunk.com/fingers/

It’ll track a bunch of finger(1) endpoints and let you see what’s new. Very early draft. Not actually a social network, more an anti-social network for ‘80s CompSci transplants. :-)

⤋ Read More

JMP: Newsletter: Togethr, SMS-only Ports, Snikket Hosting
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free … ⌘ Read more

⤋ Read More

How to measure innersource across your organization
The innersource contribution percentage is the rate of contributions from people outside the team that originally authored the software. Let’s dive into what it can look like for your organization. ⌘ Read more

⤋ Read More

JMP: Newsletter: New Staff, New Commands
Hi everyone!

Welcome to the latest edition of your pseudo-monthly JMP update!

In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; … ⌘ Read more

⤋ Read More