Gemini capsule
Gemini is a lightweight Internet
protocol. It’s heavier than Gopher but a bit lighter than HTTP(S).
It’s the Gemini programme if Gopher is Mercury and HTTP is Atlas.
One of its uses is to serve gemtext, which is a lightweight
Markdown-like markup language, instead of HTML. Gemini browsers don’t
have support for neither Javascript, nor CSS, nor any of the other new
web technologies. It can be beautiful anyway, see for instance
[Lagrange]( [http … ⌘ Read more
How to use a website in 2022
A step-by-step guide. ⌘ Read more
fknives/TikTok-Downloader
Simple Open Source App to Download TikTok Videos using share link.
Language: HTML
Star: 5
Watch: 5 ⌘ Read more
krypton-byte/tiktok-downloader
Tiktok Downloader/Scraper using requests & bs4
Language: Python
Star: 64
Watch: 64 ⌘ Read more
i think eliezer wanted micatwoa to take place in a world that was even more insane than here for us to more clearly see what’s wrong with our world, and the only way he could come up to accomplish that was to make the story take place in actual hell.
The XMPP Standards Foundation: The XMPP Newsletter April 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of April 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 bot … ⌘ Read more
Microsoft open sources 1995’s “3D Movie Maker”
Including the BRender 3D engine used in games like Carmageddon. ⌘ Read more
The Lunduke Journal Podcast – May 3, 2022
Listen now (25 min) | Unity & Ratpoison (two Desktop Environments I don’t use) ⌘ Read more
PEP 691: JSON-based Simple API for Python Package Indexes
The “Simple Repository API” that was defined in PEP 503 (and was in use much longer than that) has served us reasonably well for a very long time. However, the reliance on using HTML as the data exchange mechanism has several shortcomings. ⌘ Read more
Lunduke Journal hit 40% of our monthly goals in just 3 hours! Let’s take it all the way, baby!
Join us for another live-stream… starting… NOW. ⌘ Read more
Gajim: Development News April 2022
This month came with a lot of preparations for the release of Gajim 1.4 🚀 Gajim’s release pipeline has been improved in many ways, allowing us to make releases more frequently. Furthermore, April brought improvements for file previews on Windows.
For two and a half years I (wurstsalat) have been writing (and translating) Gajim’s monthly development news. Keeping this up on a monthly basis takes a lot of time and effort. Upcoming development news will … ⌘ Read more
PEP 690: Lazy Imports
This PEP proposes a feature to transparently defer the execution of imported modules until the moment when an imported object is used. Since Python programs commonly import many more modules than a single invocation of the program is likely to use in practice, lazy imports can greatly reduce the overall number of modules loaded, improving startup time and memory usage. Lazy imports also mostly eliminate the risk of import cycles. ⌘ Read more
Pixelorama – a truly spectacular pixel art editor for Linux, Mac, & Windows
Open source, gorgeous user interface, easy to use animation tools… Pixelorama is one of the best pixel art editors I’ve ever used. ⌘ Read more
Help old computers use the web with FrogFind.com & 68k.news
Because getting retro computers on “The Web” is tricky. We can use all the help we can get. ⌘ Read more
6 Dirty Secrets of the Linux and Open Source Industry
The Linux Foundation, Mozilla, and Open Source Initiative don’t want us talking about these topics. Which is weird. ⌘ Read more
Erlang Solutions: What are the key trends in digital payments? part 2/2
In the second and final part of this article, we take a look at some of the important developments in how payments work using our fintech industry knowledge and experience working on some of the most performant fintech systems in the world such as Vocalink’s Instant Payments Solution (IPS).
In part 1 we looked at the rapid growth in e-commerce, demand for faster payments and consumer adoption of relativel … ⌘ Read more
Make Linux Shell scripts declare “Success” or “Failure” using the Super Smash Bros announcer voice
… or any other audio files if you want to get creative about it. ⌘ Read more
@prologic moving around servers, managed to break my twtxt client so using literally the first one I could find
Naming kids is hard for us computer nerds.
There’s just so many great names to choose from. ⌘ Read more
Nix 2.8.0 released
We’re pleased to announce the availability of Nix 2.8.0. It will be
available from NixOS -\
Getting Nix / NixOS.
Here are the release notes:
New experimental command:
nix fmt, which applies a
formatter defined by theformatter.<system></system>flake
output to the Nix expressions in a flake.Various Nix commands can now read expressions from standard input
using--file -.New experimental builtin function
builtins.fetchClosurethat c … ⌘ Read more
Erlang Solutions: What are the key trends in digital payments? part ½
Payments are the backbone of a functioning global economy. A payments system can be defined as any system that can be used to settle a financial transaction by exchanging monetary value. Payments are a part of financial services that have undergone rapid and transformational change over recent years, and the Erlang Solutions team has been at the cutting-edge of many of these changes working on exciting cli … ⌘ Read more
NiceOS – a Linux distribution that uses packages from whatever Linux distro you want
No SystemD. No default package manager. NiceOS is… weird. But also nice. ⌘ Read more
English is probably the worst language you could use to translate any Asian language into Lost in Translation: Drama Titles That Steer You in the Wrong Direction - MyDramaList
Telegram is now a super-app?
It seems that there is a new super-app: Telegram. Bots can now also use HTML5 and JavaScript and thus “replace websites”. ⌘ Read more
tried to figure out how to use university springer access to download a textbook, gave up after two minutes and just used libgen. lmao
Erlang Solutions: Introducing Stream Support In RabbitMQ
In July 2021, streams were introduced to RabbitMQ, utilizing a new blazingly-fast protocol that can be used alongside AMQP 0.9.1. Streams offer an easier way to solve a number of problems in RabbitMQ, including large fan-outs, replay & time travel, and large logs, all with very high throughput (1 million messages per second on a 3-node cluster). Arnaud Cogoluègne s, Staff Engin … ⌘ Read more
Among a multitude of stars, one stares down at me. Among a multitude of people, I stare up at that one star. As the night grows deeper, it fades into brightness and I disappear into darkness. Where, when, as what will the two of us… you, one so warm, and me, one so tender, meet again? Encounter – My Kdrama Addiction
Lunduke explains ways to hide your activity on the Internet… using an iced coffee.
Incognito Mode… VPN… Tor… what’s the difference? ⌘ Read more
JMP: Computing International Call Rates with a Trie
A few months ago we launched International calling with JMP. One of the big tasks leading up to this launch was computing the rate card: that is, how much calls to different destinations would cost per minute. While there are many countries in the world, there are even more calling destinations. Our main carrier partner for this feature lists no fewer than 59881 unique phone number prefixes in the rates they charge us. This list is, quite frankly, incomprehen … ⌘ Read more
Git security vulnerability announced
Upgrade your local installation of Git, especially if you are using Git for Windows, or you use Git on a multi-user machine. ⌘ Read more
❤️ 🎶: It’s Cold (Take Care Of Us Captain OST) by Song Ji Eun
PicoShare – simple file sharing
Having recently posted about rathole, today I’d like to share another tool I use in combination with rathole: PicoShare. ⌘ Read more
Achieving SLSA 3 Compliance with GitHub Actions and Sigstore for Go modules
Learn how to build packages with SLSA 3 provenance using GitHub Actions. ⌘ Read more
Erlang Solutions: Using Elixir and WhatsApp to Fight COVID19
Introduction:Discover the inside story of how the World Health Organisation’s WhatsApp COVID-19 hotline service was launched in 5 days using Elixir. At the beginning of March 2020, Turn.io launched the world’s first WhatsApp-based COVID-19 response for the South African Ministry of Health. The service was designed, deployed, stress-tested, and launched.
In 5 days. It scaled, before any kind of public launch, to 450K unique … ⌘ Read more
The computers used to do 3D animation for Final Fantasy VII… in 1996.
It’s time for a little dive into mid-1990s computer history! ⌘ Read more
Former Ubuntu Snap advocate develops “Unsnap” to help people stop using Snap.
FallOverLaughing.gif. Also StandingOvation.gif. ⌘ Read more
@mutefall@twtxt.net interesting.. were you working on one of the two universities that used it between 1989 and 1991?
@mutefall@twtxt.net interesting.. were you working on one of the two universities that used it between 1989 and 1991?
4 ways we use GitHub Actions to build GitHub
From automating builds and releases to taking care of large-scale regression testing, here are a few ways we use GitHub Actions to build GitHub. ⌘ Read more
Massive price slashes to Lunduke Journal subscriptions… because inflation sucks
We could all use a leg up. Annual subscriptions now cost less, per month, than a gallon of gas… in 1990. ⌘ Read more
Mastodon 3.5 finally supports the Update ActivityPub activity. GoBlog supports sending updates for quite a while already, but only Pleroma showed the updated posts and not Mastodon. That would have been useful recently, when I posted “Spaces!” but wanted to post “Tabs!” and updated my post. 😅 ⌘ Read more
Controlling the mouse with your keyboard using “warpd”
Works on Linux and Mac. And it’s absolutely bonkers. ⌘ Read more
Vegan, Arch-using, Steam Deck owner who programs in Rust banned from the Internet
“Usually we just sedate them, ship them to Canada, and give them a Reddit or Mastodon account” - Google CEO ⌘ Read more
Robbing Us Blind ⌘ Read more
How to secure your end-to-end supply chain on GitHub
Securing your projects is no easy task, but end-to-end supply chain security is more top of mind than ever. We’ve seen bad actors expand their focus to taking over user accounts, commonly used dependencies, and also build systems. Defending against these attacks is hard, because there’s no one thing you can do to protect your […] ⌘ Read more
started using esglua, our static site generator | https://compudanzas.net/esglua.html
Back to GitHub
Not too long ago I reported how I build the Docker images for GoBlog using Drone and Docker-in-Docker. ⌘ Read more
Profanity: Profanity and OpenPGP for XMPP (OX)
We have been to implement OX in profanity. OX is
XEP-0374: OpenPGP for XMPP Instant Messaging which
may replace XEP-0027: Current Jabber OpenPGP Usage.
It is part of Profanity since version 0.10 but got some fixes since then.
Feel free to try and test the implementation. Let us know, if you have some
issues and support the development via testing and reporting bugs.
Ho … ⌘ Read more
Understanding Color Management
I worked on a project where I dived deep into understanding how modern
color management works, including things like color spaces, ICC profiles
and more. As I learnt here and there, I decided to write this post, both
for my future self, and others who may struggle with some of the
concepts as well.
Color management deals with translating between representations of
colors across a variety of devices. Throughout this post, we’ll use
natural language as … ⌘ Read more
Salary Negotiation
⌘ Read more
use known inconsistencies of human preferences as value-learning trip-wires: if the value learning algorithm hasn’t learned them yet, it’s operating at the wrong level of abstraction.
@prologic@twtxt.net yeah. For commercial use even. Just need to put an attribution note in the project README
@prologic@twtxt.net yeah. For commercial use even. Just need to put an attribution note in the project README
Erlang Solutions: 5 Key Tech Priorities for Fintech Leaders in 2022
Issues caused by sub-optimal tech choices are commonplace in the industry, leading to companies failing under unexpected stress or being unable to adapt in time when their business requirements change.
While no two projects are the same, we’ve observed some common themes for using scalable futureproof technologies to build diverse fintech systems. Taking advantage of these learnings sets financial service provi … ⌘ Read more
@xuu@txt.sour.is So that means we’re allowed to use it right? 😅
@lyse@lyse.isobeef.org Excellent use of old denim, and also excellent use of long-form twt!
@lyse@lyse.isobeef.org Excellent use of old denim, and also excellent use of long-form twt!
Alright, check this out. I just kinda completed today’s project of converting a jeans into a saw bag. It’s not fully done, the side seams on the flap need some more hand sewing, that’s for sure. No, I don’t have a sewing machine. Yet?
At first I wanted to put in the saw on the short side, but that would have made for more sewing work and increased material consumption. As a Swabian my genes force me to be very thrifty. Slipping in on the long side had the benefit of using the bottom trouser leg without any modification at all. The leg tapers slightly and gets wider and wider the more up you go. At the bottom it’s not as extreme as at the top.
The bag is made of two layers of cloth for extra durability. The double layers help to hide the inner two metal snap fastener counter parts, so the saw blade doesn’t get scratched. Not a big concern, but why not doing it, literally no added efforts were needed. Also I reckon it cuts off the metal on metal clinking sounds.
The only downside I noticed right after I pressed in the receiving ends of the snap fasteners is that the flap overhangs the bag by quite a lot. I fear that’s not really user-friendly. Oh well. Maybe I will fold it shorter and sew it on. Let’s see. The main purpose is to keep the folding saw closed, it only locks in two open positions.
Two buttons would have done the trick, with three I went a bit overkill. In fact the one in the middle is nearly sufficient. Not quite, but very close. But overkill is a bit my motto. The sides making up the bag are sewed together with like five stitch rows. As said in the introduction, the flap on the hand needs some more love.
Oh, and if I had made it in a vertical orientation I would have had the bonus of adding a belt loop and carrying it right along me. In the horizontal layout that’s not possible at all. The jeans cloth is too flimsy, the saw will immediately fall out if I open the middle button. It’s not ridgid enough. Anyways, I call it a success in my books so far. Definitely had some fun.
Annotate PDFs on Linux
This post is about a GUI tool called pdfrankestein that
fills a gap on mostly Linux machines where a powerful and easy to use
PDF annotator does not exist.
Adobe Acrobat® on Windows and Mac allow you to add text, drawings and
signatures to PDF documents. This is useful when filling forms or
marking notes to send back to someone. Such a tool with similar
capabilities and easy of use does not exist on Linux. The reason that’s
often cited is that PDF is a c … ⌘ Read more
#!/bin/sh
# Validate environment
if ! command -v msgbus > /dev/null; then
printf "missing msgbus command. Use: go install git.mills.io/prologic/msgbus/cmd/msgbus@latest"
exit 1
fi
if ! command -v salty > /dev/null; then
printf "missing salty command. Use: go install go.mills.io/salty/cmd/salty@latest"
exit 1
fi
if ! command -v salty-keygen > /dev/null; then
printf "missing salty-keygen command. Use: go install go.mills.io/salty/cmd/salty-keygen@latest"
exit 1
fi
if [ -z "$SALTY_IDENTITY" ]; then
export SALTY_IDENTITY="$HOME/.config/salty/$USER.key"
fi
get_user () {
user=$(grep user: "$SALTY_IDENTITY" | awk '{print $3}')
if [ -z "$user" ]; then
user="$USER"
fi
echo "$user"
}
stream () {
if [ -z "$SALTY_IDENTITY" ]; then
echo "SALTY_IDENTITY not set"
exit 2
fi
jq -r '.payload' | base64 -d | salty -i "$SALTY_IDENTITY" -d
}
lookup () {
if [ $# -lt 1 ]; then
printf "Usage: %s nick@domain\n" "$(basename "$0")"
exit 1
fi
user="$1"
nick="$(echo "$user" | awk -F@ '{ print $1 }')"
domain="$(echo "$user" | awk -F@ '{ print $2 }')"
curl -qsSL "https://$domain/.well-known/salty/${nick}.json"
}
readmsgs () {
topic="$1"
if [ -z "$topic" ]; then
topic=$(get_user)
fi
export SALTY_IDENTITY="$HOME/.config/salty/$topic.key"
if [ ! -f "$SALTY_IDENTITY" ]; then
echo "identity file missing for user $topic" >&2
exit 1
fi
msgbus sub "$topic" "$0"
}
sendmsg () {
if [ $# -lt 2 ]; then
printf "Usage: %s nick@domain.tld <message>\n" "$(basename "$0")"
exit 0
fi
if [ -z "$SALTY_IDENTITY" ]; then
echo "SALTY_IDENTITY not set"
exit 2
fi
user="$1"
message="$2"
salty_json="$(mktemp /tmp/salty.XXXXXX)"
lookup "$user" > "$salty_json"
endpoint="$(jq -r '.endpoint' < "$salty_json")"
topic="$(jq -r '.topic' < "$salty_json")"
key="$(jq -r '.key' < "$salty_json")"
rm "$salty_json"
message="[$(date +%FT%TZ)] <$(get_user)> $message"
echo "$message" \
| salty -i "$SALTY_IDENTITY" -r "$key" \
| msgbus -u "$endpoint" pub "$topic"
}
make_user () {
mkdir -p "$HOME/.config/salty"
if [ $# -lt 1 ]; then
user=$USER
else
user=$1
fi
identity_file="$HOME/.config/salty/$user.key"
if [ -f "$identity_file" ]; then
printf "user key exists!"
exit 1
fi
# Check for msgbus env.. probably can make it fallback to looking for a config file?
if [ -z "$MSGBUS_URI" ]; then
printf "missing MSGBUS_URI in environment"
exit 1
fi
salty-keygen -o "$identity_file"
echo "# user: $user" >> "$identity_file"
pubkey=$(grep key: "$identity_file" | awk '{print $4}')
cat <<- EOF
Create this file in your webserver well-known folder. https://hostname.tld/.well-known/salty/$user.json
{
"endpoint": "$MSGBUS_URI",
"topic": "$user",
"key": "$pubkey"
}
EOF
}
# check if streaming
if [ ! -t 1 ]; then
stream
exit 0
fi
# Show Help
if [ $# -lt 1 ]; then
printf "Commands: send read lookup"
exit 0
fi
CMD=$1
shift
case $CMD in
send)
sendmsg "$@"
;;
read)
readmsgs "$@"
;;
lookup)
lookup "$@"
;;
make-user)
make_user "$@"
;;
esac
#!/bin/sh
# Validate environment
if ! command -v msgbus > /dev/null; then
printf "missing msgbus command. Use: go install git.mills.io/prologic/msgbus/cmd/msgbus@latest"
exit 1
fi
if ! command -v salty > /dev/null; then
printf "missing salty command. Use: go install go.mills.io/salty/cmd/salty@latest"
exit 1
fi
if ! command -v salty-keygen > /dev/null; then
printf "missing salty-keygen command. Use: go install go.mills.io/salty/cmd/salty-keygen@latest"
exit 1
fi
if [ -z "$SALTY_IDENTITY" ]; then
export SALTY_IDENTITY="$HOME/.config/salty/$USER.key"
fi
get_user () {
user=$(grep user: "$SALTY_IDENTITY" | awk '{print $3}')
if [ -z "$user" ]; then
user="$USER"
fi
echo "$user"
}
stream () {
if [ -z "$SALTY_IDENTITY" ]; then
echo "SALTY_IDENTITY not set"
exit 2
fi
jq -r '.payload' | base64 -d | salty -i "$SALTY_IDENTITY" -d
}
lookup () {
if [ $# -lt 1 ]; then
printf "Usage: %s nick@domain\n" "$(basename "$0")"
exit 1
fi
user="$1"
nick="$(echo "$user" | awk -F@ '{ print $1 }')"
domain="$(echo "$user" | awk -F@ '{ print $2 }')"
curl -qsSL "https://$domain/.well-known/salty/${nick}.json"
}
readmsgs () {
topic="$1"
if [ -z "$topic" ]; then
topic=$(get_user)
fi
export SALTY_IDENTITY="$HOME/.config/salty/$topic.key"
if [ ! -f "$SALTY_IDENTITY" ]; then
echo "identity file missing for user $topic" >&2
exit 1
fi
msgbus sub "$topic" "$0"
}
sendmsg () {
if [ $# -lt 2 ]; then
printf "Usage: %s nick@domain.tld <message>\n" "$(basename "$0")"
exit 0
fi
if [ -z "$SALTY_IDENTITY" ]; then
echo "SALTY_IDENTITY not set"
exit 2
fi
user="$1"
message="$2"
salty_json="$(mktemp /tmp/salty.XXXXXX)"
lookup "$user" > "$salty_json"
endpoint="$(jq -r '.endpoint' < "$salty_json")"
topic="$(jq -r '.topic' < "$salty_json")"
key="$(jq -r '.key' < "$salty_json")"
rm "$salty_json"
message="[$(date +%FT%TZ)] <$(get_user)> $message"
echo "$message" \
| salty -i "$SALTY_IDENTITY" -r "$key" \
| msgbus -u "$endpoint" pub "$topic"
}
make_user () {
mkdir -p "$HOME/.config/salty"
if [ $# -lt 1 ]; then
user=$USER
else
user=$1
fi
identity_file="$HOME/.config/salty/$user.key"
if [ -f "$identity_file" ]; then
printf "user key exists!"
exit 1
fi
# Check for msgbus env.. probably can make it fallback to looking for a config file?
if [ -z "$MSGBUS_URI" ]; then
printf "missing MSGBUS_URI in environment"
exit 1
fi
salty-keygen -o "$identity_file"
echo "# user: $user" >> "$identity_file"
pubkey=$(grep key: "$identity_file" | awk '{print $4}')
cat <<- EOF
Create this file in your webserver well-known folder. https://hostname.tld/.well-known/salty/$user.json
{
"endpoint": "$MSGBUS_URI",
"topic": "$user",
"key": "$pubkey"
}
EOF
}
# check if streaming
if [ ! -t 1 ]; then
stream
exit 0
fi
# Show Help
if [ $# -lt 1 ]; then
printf "Commands: send read lookup"
exit 0
fi
CMD=$1
shift
case $CMD in
send)
sendmsg "$@"
;;
read)
readmsgs "$@"
;;
lookup)
lookup "$@"
;;
make-user)
make_user "$@"
;;
esac
Speed boost achievement unlocked on Docker Desktop 4.6 for Mac
Introducing virtiofs The 4.6 release of Docker Desktop for Mac contains a number of changes that drastically improve file sharing performance for macOS users. Firstly, developers now have the option of using a new experimental file sharing implementation called virtiofs (the current default is gRPC-FUSE). Secondly, improvements have been made to the way that files […]
The post [Speed boost achievement unlocked on … ⌘ Read more
Vulnerability Alert: Avoiding “Dirty Pipe” CVE-2022-0847 on Docker Engine and Docker Desktop
You might have heard about a new Linux vulnerability that was released last week, CVE-2022-0847, aka “Dirty Pipe”. This vulnerability overwrites supposedly read-only files in the Linux kernel host, which could enable attackers to modify files inside the host images from the container instance. If you use Docker Engine natively, we recommend you should update … ⌘ Read more
ssh client, because that's me, no-matter where I am. The only exception to this rule is I usually create a separate key for any "work" / " company" I am a part of.
@prologic@twtxt.net I have seen single use keys that are signed by a central PKI .. Keybase has one that uses a chatbot to generate the keys on the fly.
It just comes down to your threat model :)
ssh client, because that's me, no-matter where I am. The only exception to this rule is I usually create a separate key for any "work" / " company" I am a part of.
@prologic@twtxt.net I have seen single use keys that are signed by a central PKI .. Keybase has one that uses a chatbot to generate the keys on the fly.
It just comes down to your threat model :)
I would HIGHLY recommend reading up on the keybase architecture. They designed device key system for real time chat that is e2e secure. https://book.keybase.io/security
A property of ec keys is deriving new keys that can be determined to be “on curve.” bitcoin has some BIPs that derive single use keys for every transaction connected to a wallet. And be derived as either public or private chains. https://qvault.io/security/bip-32-watch-only-wallets/
I would HIGHLY recommend reading up on the keybase architecture. They designed device key system for real time chat that is e2e secure. https://book.keybase.io/security
A property of ec keys is deriving new keys that can be determined to be “on curve.” bitcoin has some BIPs that derive single use keys for every transaction connected to a wallet. And be derived as either public or private chains. https://qvault.io/security/bip-32-watch-only-wallets/
For instance I normally use the same RSA key/pair on all my workstations for my ssh client, because that’s me, no-matter where I am. The only exception to this rule is I usually create a separate key for any “work” / “ company” I am a part of.
Only 14% of Canadians “strongly approve” of Trudeau’s pandemic response: poll
First Nations chief warns MPs as Emergencies Act inquiry begins
The 1980s: When PC game box art used pictures of real people
So cheesy. But so awesome. ⌘ Read more
How to Build a Bike Generator with Control Panel
We built a pedal-powered generator and controller, which is practical to use as an energy source and exercise machine in a household — and which you can integrate into a solar PV system. We provide detailed plans to build your own, using basic skills and common hand tools. ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter February 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of February 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 a … ⌘ Read more
How Kubernetes works under the hood with Docker Desktop
Docker Desktop makes developing applications for Kubernetes easy. It provides a smooth Kubernetes setup experience by hiding the complexity of the installation and wiring with the host. Developers can focus entirely on their work rather than dealing with the Kubernetes setup details. This blog post covers development use cases and what happens under the hood […]
The post [How Kubernetes works under the hood with Docker Desktop … ⌘ Read more
How to Set the Height of a DIV Relative to a Browser Window (CSS)
This article answers a visitor’s question on
how to set the height of a DIV\
(or even other elements) so that it is a percentage of the browser window/viewport. And no, using the percent
unit (ie, “%”) won’t work the way you think. ⌘ Read more
Erlang Solutions: Is Elixir the Right Choice for Hypergrowth Startups
We always love to see and share stories that so perfectly capture the benefits of using Elixir. Today, we’ll be taking a look at an example that captures why Elixir is the perfect technology for startups that are anticipating fast growth, including how choosing Elixir allows your development team to focus on improving the product.
 using Flatpak
More for fun than being really useful, here’s a little tutorial on how to use Firefox on Chrome OS (Flex) (for me, it’s currently version 100 in the Dev Channel). But beware, the user experience really leaves a lot to be desired… ⌘ Read more
Ok, so I have now installed CloudReady, switched to the beta channel as well, but I can’t use Linux because my CPU is not secured against Spectre/Meltdown and CloudReady doesn’t come with microcode updates. Until that comes, my ThinkPad will probably only be for browsing, watching videos, and blogging… ⌘ Read more
Ok, so I have now installed CloudReady, switched to the beta channel as well, but I can’t use Linux because my CPU is not secured against Spectre/Meltdown and CloudReady doesn’t come with microcode updates. Until that comes, my ThinkPad will probably only be for browsing, watching videos, and blogging… ⌘ Read more
Code scanning finds more vulnerabilities using machine learning
Today we launched new code scanning analysis features powered by machine learning. The experimental analysis finds more of the most common types of vulnerabilities. ⌘ Read more
Erlang Solutions: Saving lives with Elixir
When you think about programming languages, you might not think about them literally changing people’s lives, but they do more often than you would expect. Elixir has empowered Linda Achieng and Sigu Mawa to build emergency software that is already saving lives in Kenya. What started with the death of a close friend, has expanded into an inspirational project, with Elixir being used to empower local com … ⌘ Read more
LuisMayo/Spotyparty
Too annoyed by Spotify Ads? Too lazy to navigate to Spotify when you want to change your music? Spotless is here to help you use Spotify effortless!
Language: JavaScript
Star: 1
Watch: 1 ⌘ Read more
LuisMayo/spotify-ultrastar-downloader
Export Spotify playlists using the Web API
Language: JavaScript
Star: 1
Watch: 1 ⌘ Read more
LuisMayo/ace-attorney-twitter-bot
Twitter bot that turns comment chains into ace attorney scenes. Inspired by and using https://github.com/micah5/ace-attorney-reddit-bot
Language: Python
Star: 407
Watch: 407 ⌘ Read more
when trying to learn a formula using flashcards, prefix the formula with a natural-language explanation. makes it easier to remember.
Debugging an ioctl Problem on OpenBSD
I was trying to use a V4L2 Ruby module for a project on my OpenBSD laptop but ran into a problem where sending the V4L2 ioctls from this module would fail, while other V4L2 programs on OpenBSD worked fine. ⌘ Read more
millenial woman who did a degree in *-studies and uses the word “communities” a lot