Me. $350 off and $100 worth of storage upgrades on a Pixel 9 pro was worth it for me. Phones now are expensive as fuck but getting a ~40% discount on a brand new product made it easier to accept.
Me. $350 off and $100 worth of storage upgrades on a Pixel 9 pro was worth it for me. Phones now are expensive as fuck but getting a ~40% discount on a brand new product made it easier to accept.
Telegram’s server side software is closed source, owned and ran by them exclusively so they really have no room to talk. WhatsApp doesn’t even have OSS clients so they’re even worse in that regard
Here’s one I have saved in my shell aliases.
nscript() {
local name="${1:-nscript-$(printf '%s' $(echo "$RANDOM" | md5sum) | cut -c 1-10)}"
echo -e "#!/usr/bin/env bash\n#set -Eeuxo pipefail\nset -e" > ./"$name".sh && chmod +x ./"$name".sh && hx ./"$name".sh
}
alias nsh='nscript'
Admittedly much more complicated than necessary, but it’s pretty full featured. first line constructs a filename for the new script from a generated 10 character random hash and prepends “nscript” and a user provided name.
The second line writes out the shebang and a few oft used bash flags, makes the file executable and opens in in my editor (Helix in my case).
The third line is just a shortened alias for the function.
Wow those are some nice keycaps.
Seems he’s revealing that he is either Bruce Wayne or Bane. As they’re the only two to ever escape from the pit; historically speaking.
Since you’re in EU you have quite a few options for vendors. Here is a good list.
I looked through most of these vendors before and it’s unlikely that you’ll find everything you need to build a fully custom keyboard from a single vendor, but with 2 or more you should be able to source all the pieces you need.
Some vendors that have a decent selection:
Another option of you don’t mind the potentially long shipping time is to buy all the components from Aliexpress. They will likely have an expansive selection and lower price compared with EU retailers, but you may or may not end up paying tax, and the shipping time will be longer on everything.
I managed to figure out an ugly way of getting the keyboard matrix down to 20 pins, but a much better option to using a pro-micro would be to go with an Elite-Pi or Helios Microcontroller Since it has 23 GPIO pins, and there won’t be a hacky workaround like with the pro-micro.
One thing I forgot to mention is key switch preference, the two main types are MX (high profile) and Choc (low profile). MX switches are both easier to find and have much larger variety of both switches and keycaps. Choc is nice because it has a lower profile similar to laptop keyboards, but the selection of switches and keycaps are much more limited. There are other low profile switch types like Choc mini (PG1232), Choc V2(PG1353), and Notebook X(PG1425) switches, but they’re even harder to source than the Choc V1(PG1350).
Probably not exactly what you’re looking for, but for my personal use I just set up a repo in my git forge (gitea in my case) with a bunch of markdown files in various folders and a Hugo theme.
Every time I want to update a document I can click the link at the bottom of the “Wiki” page and edit it in Gitea’s WYSIWYG editor. Similar process if I want to make a new document. When I save the changes I have a CI job (native to Gitea/Github) that uses Hugo to build the markdown docs into a full website and sync it to a folder on one of my servers where it’s picked up by a web server.
Sounds complicated when I type it all out, but the only thing that I can reasonably expect to be a deal breaker is the Hugo software, of which there are archived versions, and even if there wasn’t Hugo’s input is just markdown, so I can repurpose however I see fit.
You could probably do something similar with other SSG’s or even use Github’s pages feature, though that does add a failure point if/when they decide to sunset or monetize the feature.
We could also make it so pressig the two shift buttons simultaneously is how you lock into upper-case letters.
I haven’t tried it before but I’m almost certain it’s possible to do with QMK or ZMK firmwares.
As for the lack of pins generally, the easiest thing to do would be to use a microcontroller with more pins, but that may bring more challenges when designing the pcb depending on the availability of good component footprints.
The most commonly used footprint is for the pro-micro though, but you’d end up needing to cut 4 rows/columns off of the board to fit within its pin constraints, though I do think there is a modification for pro-micros that can give you two more pins, which could technically work if you cut off the rightmost column and the function row.
If you’re willing to get rid of just the rightmost row you would be able to use something like the nice!nano since it has 21 gpio pins. It would become optionally wireless in that case as well.
If you didn’t want to cut down the board at all, could also go with something like an Elite Pi, which has a similar footprint to the pro-micro except with an extra 5 pins along the bottom edge, as it has the same footprint as the elite-c.
Quite a few options, and I’m not sure if you have a preference for wired vs. wireless or parts availability where you are, so those would likely influence what you decide to go with.
No problem, glad to help point you in a useful direction. If you’re not especially concerned with labels, you might be able to get around needing to have a blank set of keycaps laser etched or something like that.
I also got bored yesterday and had your idea of a TypeMatrix 2030 kicking around my head, so I decided to mock-up a layout similar to what I described in the previous post, and created a Github project you can use as a jumping off point if you want to proceed that direction.
https://github.com/pyunramura/mechamatrix2030
Keep in mind, the layout probably needs some more thought and the pcb generation part of it has not even been started, but it should be possible to get a completed board with some learning, some funds, and some work.
One of the major issues I didn’t think of before is the fact that the keyboard has quite a lot of keys, so many in fact that the matrix is too large for a standard pro-micro type microcontroller. The keyboard has 7 rows and 15 columns which needs 22 pins, which is unfortunately 4 too many for a pro-micro. There are other microcontrollers with a similar footprint that might be suitable instead though. Elite-C, Blackpill, and some of the RP2040 boards come to mind.
Just looking at the TypeMatrix for the first time. Looks like a pretty interesting layout. Manufacturing a mechanical TM(TypeMatrix) clone is likely going to be pretty difficult, but becomes more possible the more you diverge from the design.
At a high level though, the main issues I see at first glance is that TM is using laptop switches, custom legends, and 1/2 size function row keys.
The only analogue to laptop switches in the mechanical keyboard world is Kalih X switches, but they’re hard to come by and a bit more difficult to design for, but they just might work with the TM keycaps, but don’t quote me on that.
Choc switches are possible, but you’re not going to get legends (the letters and symbols on the keycaps) unless you have them custom made, which is next to impossible if using traditional methods. Same story with full size MX switches. You might be able to fill out the alpha-numerics, but the secondary legends in blue aren’t going to be there, not to mention the vertical shift, back space, enter, and control.
As for the 1/2 size function row, you’ll have to compromise and go with full 1u keys because there aren’t any switches out there that will fit in a 0.5u size, not to mention lack of keycaps. And speaking of odd-sized keycaps, you might run into issues with Choc keycaps for the spacebar in particular, as I don’t think anyone manufactures a 5u spacebar in choc form factor, and the 2u shift, enter, and control keys will need choc stabilizers, which are pretty hard to find IIRC.
So, with that all said, these are the compromises you’re probably going to have to make to get a completed keyboard:
There’s a few routes you can go down to get his done.
Pay someone else to do it.
Learn how to do it yourself.
If you take route 1, it’s going to be much more costly than route 2 most likely, but far less time and effort invested to get a working product. I’m sure there are plenty of people who have designed their own PCB/Keyboard that would be willing to design yours for the right price.
If you take route 2 then you’re going to be putting a lot of time into learning different software packages, how a keyboard works at the circuit level, and how to solder at the very least; but you’ll have done all the work yourself, which is pretty gratifying IMO.
A good place to start learning is “ergogen”. It’s like a configuration language and accompanying software for designing keyboards programmatically. It’s not especially complicated and has plenty of resources on YouTube and in written form. There are online viewers that make it easy to visualize the layout you’re configuring, and other projects on Github that can take ergogen output files and convert those to pcb design files that are ready to send off to manufacturing, 3d printed case files, and and interactive BOM (bill of materials) that can help you when it comes time to solder the switches, controller, diodes, etc.
Even if you need something just once, just install it and then uninstall it, takes like 10 seconds.
apt install foo && apt remove foo
That’s essentially what nix-shell -p
does. Not a special feature of nix, just nix’s way of doing the above.
Actually using it though is pretty convenient; it disappears on its own when I exit the shell. I used it just the other day with nix-shell -p ventoy
to install ventoy onto an ssd, I may not need that program again for years. Just used it with audible-cli to download my library and strip the DRM with ffmpeg. Probably won’t be needing that for a while either.
The other thing to keep in mind is that since Nix is meant to be declarative, everything goes in a config file, which screams semi-permenant. Having to do that with ventoy and audible-cli would just be pretty inconvenient. That’s why it exists; due to how Nix is, you need a subcommand for temporary one-off operations.
If you’re ok with just file storage sftpgo has been solid for me for years now. Does sftp ftp and WebDAV (like nextcloud). Webui isn’t as pretty but it’s fast. Mobile apps will be various sync apps with sftp or WebDAV support. On Android folder sync pro is pretty good for keeping documents and pictures backed up
Ah you’re probably right about the mobile clients. I’m not a mobile watcher really. I can say though that the jellyfin desktop app and jellyfin mpv shim both have skip-intro integration, though I’ve only tested it with jellyfin MPV shim.
Skip-intro is an unofficial plugin ATM but can vouch that it works decently well. Can’t compare it to the Plex implementation since it has been quite a while since I’ve had Plex deployed.
Just this one https://wallhaven.cc/w/2y2wg6
Have it hard-coded in my config so I'm less likely to faff around with my wallpaper instead of doing something productive. Less cognitive load IMO
Assuming they’re generally on the same instance ::cough EH cough:: others can just defederate if they want. Those that are harassing and spreading hate speech on mixed servers can be blocked, banned from communities, or the instance in question if egregious enough.
Edit: Am I resurrecting a 3 year old post rn?
Good bot
Wait, is that even a thing here?
I think ejabberd or another other xmpp server would have been my first choice for a service like this by a long shot. If only we had some good iOS clients to go to. While I’m on android, most of the family and some of the friends use iOS, so it was kind of a non-starter from that alone.
Edit: log -> long
Hmmm. I don't have a network/infrastructure diagram or anything yet, but I've been meaning to create one. I'll probably put one together and post more about my setup if there's any interest. I'll be sure to tag you when I do. Thanks for the interest!
If you’re on android I can highly recommend Eternity. Open source and a fork of Infinity for Reddit; which is still going as a paid service post Reddit API débâcle. I loved Infinity prior to Reddit being a bitch and Eternity is just as great