20 random bookmarks

Bookmarks and whatnot. Закладки и всякое.

2025-05-13

1907.

This blog is hosted on a Nintendo Wii

blog.infected.systems/posts/2025-04-21-this-blog-is-hosted-on-a-nintendo-wii

Using NetBSD and proxied by a Caddy installation somewhere else. No caching. Works well for some reason. A cheap VPS is still cheaper than what the author pays for electricity for this setup though, despite them saying otherwise.

2025-03-04

1793.

Удивительный и забытый Palm: операционная система, которая изменила всё

trashbox.ru/link/udivitelnyj-i-zabytyj-palm-chast-3

Давайте посмотрим на историю и устройство Palm OS, а также поговорим о философии дизайна ПО Palm и его наследии

2025-02-16

1768.

Choices

www.joelonsoftware.com/2000/04/12/choices

Do not provide too many choices in your interface. The author talks about user interface, but I think it also applies to programming interfaces. I try to follow this principle.

2025-02-10

1762.

ntfy.sh | Push notifications to your phone or desktop via PUT/POST

ntfy.sh

ntfy is a simple HTTP-based pub-sub notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, and/or using a REST API.

curl \
  -d "Backup successful 😀" \
  ntfy.sh/mytopic

Free notifications!

UPD. Used it in my SystemD service files to notify me of service restarts. It was extremely easy to do so. Will use it for now, until I migrate to a proper monitoring system.

2025-02-04

1748.

ThoughtStorms Wiki

thoughtstorms.info/view/HelloWorld

Runs on Cardigan Bay. Has a long history

2025-01-04

1701.

be organized from the very beginning

www.librarian.net/stax/5585/be-organized-from-the-very-beginning

A difficult part of technology instruction is not that things are unknowable, but that no one is ever starting at the beginning, not in 2024.

2024-10-23

Reposted 1573.

maps.stamen.com / toner

maps.stamen.com/toner

Stamen's toner map style is lovingly crafted and free for the taking.

2024-09-20

1519.

Measure execution time in Go (Golang)

gosamples.dev/measure-time

A good snippet. I used it at work.

func track(name string) func() {
    start := time.Now()
    return func() {
        log.Printf("%s, execution time %s\n", name, time.Since(start))
    }
}

func main() {
    defer track("main")() // do not forget about the second parentheses
    time.Sleep(2 * time.Second)
}

2024-09-01

1483.

Jin

page.hyoo.ru#!=4ynowz_qskrm7

Realtime personal pages

2024-08-07

1424.

Solid Technical Reports

solidproject.org/TR

The specs.

2024-07-22

Reposted 1401.

HTML email designer

designer.sendune.com

HTML for email is probably the hardest code to write. Even a teeny-tiny deviation from the rules will break the email in untold combination of os/desktop/mobile clients.

It's mid 2024. Almost 50 years since email was invented and 35 years since HTML was born. A 'basic-open-source-HTML-email-designer' must be a solved problem, right? We thought so too.

Sadly, that's not the case.

There are a few decent open source email designers but they carry dependencies that make them cumbersome to embed within your app. That's why we decided to open source our HTML Email Designer.

The SENDUNE email designer focuses on simplicity and ease of use. It is light-weight. It does pure HTML - no intermediate code wranglers like mjml. There is no lock-in of any kind. Save HTML output as a template and use with ANY email service provider.

2024-02-27

1158.

JavaScript Bloat in 2024 @ tonsky.me

tonsky.me/blog/js-bloat

2024-02-05

1117.

News from WWDC23: WebKit Features in Safari 17 beta

webkit.org/blog/14205/news-from-wwdc23-webkit-features-in-safari-17-beta

The <model> element will provide a way to easily present 3D content in a web page without any scripting. Just like with <img> and <video>, HTML makes it possible for <model> to work in a robust and simple manner across web browsers on any platform. Model is still undergoing specification and is subject to change, but we expect it will work like this:

<modelsrc="asset/example-3d-model"width="400"height="300"></model>

New WebKit brings easy 3D-models to web.

2023-10-20

787.

banging errors in go

flak.tedunangst.com/post/bango

Tedu wrote a tool that lets you handle errors in Go like this:

func decomp(filename string) ([]byte, error) {
        fd := ^os.Open(filename)
        defer fd.Close()
        zd := ^gzip.NewReader(fd)
        data := ^io.ReadAll(zd)
        return data, nil
}

Funky!

2023-10-06

670.

The invisible problem

jenson.org/text

Whenever I explain my research at Google into mobile text editing, I’m usually met with blank stares or a slightly hostile “Everyone can edit text on their phones, right? What’s the problem?”

2023-09-23

633.

</> htmx ~ Essays

htmx.org/essays/right-click-view-source

Essays from the htmx developers. I'm sure you'll like them.

2023-07-30

527.

Backing Up Your Data against Geomagnetic Storms and EMPs

briantomasik.com/backing-data-geomagnetic-storms-emps

It might be worth to prepare your data for a big electric spark. The spark is unlikely, but still. Your safest bets are discs and paper, the two optical storage media.

2023-07-25

509.

Alpine Linux does not make the news

drewdevault.com/2023/07/25/Alpine-does-not-make-news.html#fnref:1

TL;DR: Alpine is boring, this is good.

Recently I've had an issue with Alpine, which I had to resolve with some workaround from GitHub issues. But otherwise it's boring yeah. Cool. One day I'll use it on all of my servers! For now, I only use it on CI.

2023-07-02

414.

Edbrowse, a Command Line Editor Browser

edbrowse.org

Edbrowse, a text based editor browser.

2023-03-19

122.

Alex Schroeder: 2023-03-07 A vision for search

alexschroeder.ch/wiki/2023-03-07_A_vision_for_search

This compressed JSON file (better than XML, right?) would be a well-known path for every site, like “/.well-known/index.json.xz”. It lists all the pages on your domain, and their keywords.