🔖 Bookmarks

bookmarks

Fossil SCM

Fossil is a simple, high-reliability, distributed software configuration management system with these advanced features:

  • Project Management - In addition to doing distributed version control like Git and Mercurial, Fossil also supports bug tracking, wiki, forum, email alerts, chat, and technotes.

  • Built-in Web Interface - Fossil has a built-in, themeable, extensible, and intuitive web interface with a rich variety of information pages (examples) promoting situational awareness.

  • This entire website is just a running instance of Fossil. The pages you see here are all wiki or embedded documentation or (in the case of the download page) unversioned files. When you clone Fossil from one of its self-hosting repositories, you get more than just source code - you get this entire website.

  • All-in-one - Fossil is a single self-contained, stand-alone executable. To install, simply download a precompiled binary for Linux, Mac, or Windows and put it on your $PATH. Easy-to-compile source code is also available.

  • Self-host Friendly - Stand up a project website in minutes using a variety of techniques. Fossil is CPU and memory efficient. Most projects can be hosted comfortably on a $5/month VPS or a Raspberry Pi. You can also set up an automatic GitHub mirror.

  • Simple Networking - Fossil uses ordinary HTTPS (or SSH if you prefer) for network communications, so it works fine from behind firewalls and proxies. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over dial-up, weak 3G, or airliner Wifi.

  • Autosync - Fossil supports “autosync” mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.

  • Robust & Reliable - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Automatic self-checks verify that all aspects of the repository are consistent prior to each commit.

  • Free and Open-Source - 2-clause BSD license.

Eigenen TRAININGSPLAN erstellen

“Du willst deinen eigenen TRAININGSPLAN selbst erstellen? Dann solltest du unbedingt die Superkompensation und simple Trainingsprinzipien verstanden haben. Daher gibt es heute einfach erklärte Trainingslehre, die ihr für euer persönliches Trainingsprogramm anwenden könnt. Ich erkläre neben der Superkompensation auch den Sinn von Split Training sowie der Trainingshäufigkeit pro Woche.”

PiKVM - Open and cheap DIY IP-KVM on Raspberry Pi

“A very simple and fully functional Raspberry Pi-based KVM over IP that you can make with your own hands without any soldering!

This device helps to manage servers or workstations remotely, regardless of the health of the operating system or whether one is installed. You can fix any problem, configure the BIOS, and even reinstall the OS using the virtual CD-ROM or Flash Drive.

It only costs between $30 and $100 for DIY depending on the features desired. Even the most expensive configuration will be cheaper than a $500 commercial IP-KVM. “

Der WAHRE Grund, warum der Tankrabatt floppt & die Preise steigen

“Ich möchte an dieser Stelle mal Finanzminister Christian Lindner (FDP) in Schutz nehmen, auch wenn das vielleicht manche überraschen mag. Dass die Spritpreise steigen, hat ziemlich wenig mit dem Tankrabatt zu tun. Und die (zugegebenermaßen schlechte) Form des Tankrabatts – als Steuersenkung, nicht als direkt ausgezahlter Rabatt – war nicht einmal das Wunschmodell der FDP (Quelle). Ohne den Tankrabatt wäre der Spritpreis jetzt wohl wirklich noch höher.”

TATÜTATA.fail

Das Strafgesetzbuch gilt ohne Ausnahme in ganz Deutschland: Das Strafrecht macht keinen Unterschied zwischen Ost und West, zwischen Stadt und Land, zwischen Flensburg und Sonthofen. Überall droht Straftäter:innen die gleiche Strafe. Das deutsche Strafrecht ist einheitlich.

Die deutsche Strafverfolgung ist hingegen uneinheitlich.

Make a borderless form movable in .NET

public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool ReleaseCapture();

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{     
    if (e.Button == MouseButtons.Left)
    {
        ReleaseCapture();
        SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
    }
}

I made a 2001-era emoji font! That you can use!

You know the scenes in Friends when Ross starts talking about dinosaurs and he’s SUPER excited but everyone else is losing the will to live? This is basically that, only instead of dinosaurs, it’s emoji, and unlike Ross, I have never successfully befriended a monkey.

Something about these early emoji makes me happy. I might at some point use the on this site or integrate them as custom emojis in a fediverse instance :)

Why books donʼt work

“Books are easy to take for granted. Not any specific book, I mean: the form of a book. Paper or pixels—it hardly matters. Words in lines on pages in chapters. And at least for non-fiction books, one implied assumption at the foundation: people absorb knowledge by reading sentences. This last idea so invisibly defines the medium that it’s hard not to take for granted, which is a shame because, as we’ll see, it’s quite mistaken.”

An IndieWeb reader: My new home on the internet

I have a new home on the internet. I don’t visit the Twitter home timeline or the Facebook news feed anymore. I don’t open the Instagram app except when I post a photo. I still have accounts there — I just don’t visit those sites anymore. Instead, I have my own new space on the internet where everything I’m interested in is consolidated, and I can read and reply to things from there.

This post is still a huge source inspiration to me. A goal I want to achieve.

The Original Emoji, by Shigetaka Kurita

In 1999 the Japanese telecom NTT DOCOMO released the original 176 emoji (e meaning “picture” and moji “character”) for mobile phones and pagers. Designed on a simple 12 × 12 pixel grid by Shigetaka Kurita, emoji enhanced the visual interface for DOCOMO’s devices and facilitated the rise of the nascent practice of text messaging and mobile email. [..] Drawing on varied sources including manga, Zapf dingbats, and commonly used emoticons, Kurita’s set included illustrations of weather phenomena, pictograms, and a range of expressive faces. [..] Kurita’s emoji planted the seeds for the explosion of a new visual language.

Bundesnetzagentur untersagt Zero Rating-Optionen „Telekom StreamOn“ und „Vodafone Pass“

Die Bundesnetzagentur hat heute die Vermarktung der Zero Rating-Optionen „StreamOn“ und „Vodafone Pass“ untersagt. Außerdem hat sie die Beendigung von Bestandskundenverträgen angeordnet. Die Angebote verstoßen gegen die Netzneutralität, weil sie den Datenverkehr nicht gleich behandeln.

“„Wir beenden die Ungleichbehandlung von Datenverkehren, die mit den Zero Rating-Optionen verbunden sind,“” sagt Klaus Müller, Präsident der Bundesnetzagentur. “„Wir erwarten, dass die Anbieter nun Tarife mit höheren Datenvolumina oder günstigere Mobilfunk-Flatratetarife anbieten. Verbraucherinnen und Verbraucher werden davon profitieren.“”

Cool things people do with their blogs!

Small and independent blogs are always full of surprises. The more blogs I stumble upon, the more genuinely surprised I am by the things people do with their blogs. It seemed like a good idea to summarize highlights here. I hope it might inspire non-bloggers to blog and bloggers to tinker more with their site—because obviously the tinkering never ends!

Your Lifestyle Has Already Been Designed

We’ve been led into a culture that has been engineered to leave us tired, hungry for indulgence, willing to pay a lot for convenience and entertainment, and most importantly, vaguely dissatisfied with our lives so that we continue wanting things we don’t have. We buy so much because it always seems like something is still missing.

Western economies, particularly that of the United States, have been built in a very calculated manner on gratification, addiction, and unnecessary spending. We spend to cheer ourselves up, to reward ourselves, to celebrate, to fix problems, to elevate our status, and to alleviate boredom.

Russisches Kriegsschiff, fick dich!

Wenn das Ziel der Führung Machterhalt ist, werden Kompetenz, Effizienz, Engagement per se als verdächtig angesehen. (Das ist auch der Grund, warum Sie einen tyrannischen Chef nie durch gute Arbeit besänftigen werden.)

Es ist kein Zufall, dass ganze Militär­einheiten, sogar die Atomraketen­silos, an die russische Mafia Schutzgeld zahlen – die Mafia steht höher in der Hierarchie.

ViteJS

Next Generation Frontend Tooling

  • On demand file serving over native ESM, no bundling required!
  • Hot Module Replacement (HMR) that stays fast regardless of app size.
  • Out-of-the-box support for TypeScript, JSX, CSS and more.
  • Pre-configured Rollup build with multi-page and library mode support.
  • Rollup-superset plugin interface shared between dev and build.
  • Flexible programmatic APIs with full TypeScript typing.

Your guide to a damn light Arch Linux with i3 and text apps

Now, you may as well go ahead and install GNOME or Unity at this point. It’s probably the easier path. But if you are installing Arch you probably shouldn’t be are not a new Linux user. Why don’t you try i3 and try to configure it without all those programs desktop environments usually throw at you? It’ll be fun, I promise. Kind of.

Micromacro Crime City Browsergame

I have seen the Micromacro game a local gsme store but never looked at it properly. This browser game is a cool intro into the game, where you solve crimes on a big map similiar to the famous german “Where is Walter?” book series with a set of cards that presents you with a case and asks questions like “What was the murder weapon?”

Then you search the map and try to find the answer the question and proceed to the next card until you solve the case.

The board game might find a place into my game collection really soon 😊

An opinionated list of best practices for textual websites

I realize not everybody’s going to ditch the Web and switch to Gemini or Gopher today (that’ll take, like, a month at the longest). Until that happens, here’s a non-exhaustive, highly-opinionated list of best practices for websites that focus primarily on text. I don’t expect anybody to fully agree with the list; nonetheless, the article should have some useful information for any web content author or front-end web developer.

Das Chat-Gesetz der EU – kommt die totale Überwachung?

“Die Europäische Kommission bereitet ein Gesetz vor, mit dem Kindesmissbrauch im Netz wirksamer bekämpft werden soll. Der Inhalt hat es in sich: Die Anbieter von Chat-Plattformen und deren Mutterkonzerne sollen verpflichtet werden, Kommunikation bspw. in Chats vor der Verschlüsselung auf mögliche Kindesmissbrauchsfälle zu durchleuchten. Juristen, Netzaktivisten und Vertreter der Zivilgesellschaft halten das für brandgefährlich für die Meinungsfreiheit, für die Demokratie, den sozialen Zusammenhalt der Gesellschaft.”

cmus, a really quick guide

I use these keys most times I run cmus. They’re configurable, but these are the defaults.

  • v - stop playback

  • b - next track

  • z - previous track

  • c - pause playback

  • s - toggle shuffle (read about the m key below if you’re going to use shuffle)

  • m - toggles the “aaa mode.” aaa stands for artist, album, or all. Controls whether cmus shuffles between songs from an artist, album, or from all your songs. You can see the currently set “aaa mode” in the bottom right, next to where the display of the continue, repeat, and shuffle settings.

  • x - restart track

  • i - jump view to the currently playing track (handy when in shuffle mode and follow is off.)

  • f - toggle follow. When follow is on, the selection bar will jump to the next playing track. For example, in shuffle mode, this controls whether the selection bar jumps between artists or not. You can manually focus on the playing track by pressing i, as noted above. If follow is on, an ‘f’ appears in the bottom right, in the area where continue, repeat, and shuffle are displayed.

  • / - searching cmus works as in many Unix programs. Typing /, a string, and enter will find the first instance of that string in your current view. Press n to go to the next string, N to go to the previous. cmus’s search isn’t case sensitive and is quite smart. For example, a search for damned insurrection will return Bulldozer’s “Insurrection of the Living Damned”.

  • - - reduce the volume by 10%

  • + - increase the volume by 10%

In Defence of the Boring Web

Having recently had the pleasure of doing most of my internet interactions on a tablet or a smartphone because my laptop was ‘hors de combat,’ I was able to further reflect on the state of the modern web.1 With Web 2.0 being already passé, Web 3.0 being not the latest fad any more, and talks of Web 4.0, 4.5, and 5.0, my own website seems to follow a strange and anachronistic vision. I like to call this The Boring Web.

lolight - tokenizer and syntax highlighter

Lightweight tokenizer and syntax highlighter, less than 3kB of minified code. No language specific syntax support, just a CSS stylable breakdown into tokens. Default styles included.

This is an awesome piece of code in my opinion. Instead of adding support for whole languages, lolight is basically one big regular expression that finds common words in code like define, class and end and applies classes to them! Apart from that, a few other expressions find comments, numbers, strings and that’s it.

This is the keyword regex, which I find fascinating, it’s a bit like Codegolf:

^(a(bstract|lias|nd|rguments|rray|s(m|sert)?|uto)|b(ase|egin|ool(ean)?|reak|yte)|c(ase|atch|har|hecked|lass|lone|ompl|onst|ontinue)|de(bugger|cimal|clare|f(ault|er|p)?|init|l(egate|ete)?)|dim|do|double|e(cho|ls?if|lse(if)?|nd|nsure|num|vent|x(cept|ec|p(licit|ort)|te(nds|nsion|rn)))|f(allthrough|alse|inal(ly)?|ixed|loat|or(each)?|riend|rom|unc(tion)?)|global|goto|guard|i(f|mp(lements|licit|ort)|n(it|clude(_once)?|line|out|stanceof|t(erface|ernal)?)?|s)|l(ambda|et|ock|ong)|m(odule|utable)|NaN|n(amespace|ative|ext|ew|il|ot|ull)|o(bject|perator|r|ut|verride)|p(ackage|arams|rivate|rotected|rotocol|ublic)|r(aise|e(adonly|do|f|gister|peat|quire(_once)?|scue|strict|try|turn))|s(byte|ealed|el(f|ect)|hort|igned|izeof|tatic|tring|truct|ubscript|uper|ynchronized|witch)|t(emplate|hen|his|hrows?|ransient|rue|ry|ype(alias|def|id|name|of))|u(n(checked|def(ined)?|ion|less|signed|til)|se|sing)|v(ar|irtual|oid|olatile)|w(char_t|hen|here|hile|ith)|xor|yield)$

It’s not perfect, and one code block got it to “break out” of the block and highlight the whole html of my page all the way down to the closing html tag. But it is novel, interesting and small in size. I’m glad I found it.

Vaultwarden: Your guide to your self-hosted Bitwarden password vault

There is an easier way to achieve the way of putting your password entries into a database located within your reach, based upon a compatible platform: Vaultwarden is an unofficial Bitwarden-compatible server written in Rust and some of you may already know it under its previous name bitwarden-rs. Being compatible to all official Bitwarden-clients you may download from the official website, Vaultwarden is a sleek and mighty alternative and can easily be deployed on your, for example, NAS or a VPS.

No Social Media Club

Two years ago, I tried to quit Twitter. While that attempt didn’t take, I spent the summer with my cell phone turned off unless I was using it. I rode the bus, and I remember sitting there, looking around, while dozens of people around me stared down at their phones, swiping, swiping, swiping, their faces slack, the light from tiny screens illuminating their cheekbones or flabby chins. It was an eerie experience. I felt like a ghost, neither fully dead nor fully alive. The bus was still there, and the world was still there, but the people weren’t. Only their bodies.

Line Goes Up – The Problem With NFTs

If someone pitches you on a “great” Web3 project, ask them if it requires buying or selling crypto to do what they say it does.

This is a true masterpiece, shoving A LOT of information about economy, the 2008 crash, cryptocurrencies and blockchains into a two-hour documentary. It might be overwhelming if this is your first contact with cryptocurrencies.

The sad part for me is that the whole thing to me is not so different how people reject covid(-vaccines) and are completely stuck in a bubble and actively block out question/criticism of their way of seeing things.

The Third Web

You are here because you are somehow interested in what the “Web3” or “NFT” thing is about. Maybe someone gave you this link, maybe you follow me somewhere. In this document I’ll try to explain what those terms mean, what ideas and politics they are based on and what I think about them. I will do my best to represent the Web3/NFT ideas as fairly as possible but for transparency’s sake I should note that I am not a fan.

twtxt Documentation

Welcome to twtxt’s documentation. This documentation is divided into multiple parts. We recommend you to get started with the Installation and then head over to the Quickstart section. If you don’t know what this is about read the Introduction first. There is a more detailed Usage section about how to use twtxt via the CLI. The internals of twtxt are documented in the API chapter.

Really interesting project. It seems to me that more and more people are using simple Technologies like RSS and Webmentions to build interesting stuff.

Micropub Channels Proposal

This is a proposal to introduce a new organizational concept to Micropub for creating and editing posts: Channels.

  • A post can be created within one or more “channels”
  • The server can define its own list of channels, and can decide whether the user is allowed to create new ones or not
  • The server is assumed to have a default channel, where posts created that don’t specify a channel are created in the default channel
  • Clients must not assume the names, IDs, presence or absence of any channels at the micropub endpoint
  • A website may not support channels at all, in which case none of this matters to the micropub endpoint and it can ignore channels in requests completely.

The Minimum Everyone Working With Data Must Know About File Types, Encoding, Delimiters and Data types

Do you ever work with data?
Do you ever work with datasets that have multiple rows and columns?
Did you ever encounter one of the following issues?

If you recognize any of these issues, you are deforming your data in ways that might impact anything you use it for at a later stage. There are a few technicalities on how data is stored that you should be aware of in order to work around these issues. If you work with data, you need to know this. Not being a computer scientist is not an excuse.