Skip Navigation
What’s in a name?
  • of course!

  • White House: Future Software Should Be Memory Safe
  • I feel this is a bit of a moot point from the White House. Memory-safe languages have been around for decades. I feel like the amount of C/C++ out there isn't so much that people think having dangerous stuff around is good, but more that nobody really wants to pay to change it.

  • Does email (SMTP/POP3) count as a member of the fediverse?
  • Depends how you look at it! Here’s me accessing Mastodon and the fediverse via email: https://lemmy.world/post/11020167 I’ve written a a couple more prototypes to connect one to the other. If anyone is interested I could write up more about how it works or do a more public demo

  • RFC 9512: YAML Media Type
  • Link to the YAML spec, for the (very) brave: https://yaml.org/spec/1.2.2/

  • mpost
  • ym8nodehi

  • Third time's a charm
  • no you didn't Mr. Simpson, no one can

  • No sir
  • took me a couple but worth it

  • mpost
  • hi?

  • mpost
  • hi world

  • mpost
  • hello again

  • Australia is bigger than some people overseas imagine.
  • The other fun one is that the continental US (AKA everything except Alaska) is just about the same size as Australia. Then when you consider that there's 49 states versus Australia's 7, you can see how the numbers come about.

  • mpost
  • looks like I've solved the unfollow thing. one final test...

  • mpost
  • hello, world!

  • mpost
  • pretty sure?

  • mpost
  • but really shouldn't get this comment as we've undone the follow??

  • mpost
  • after unfollow

  • mpost
  • hey

  • 💰➡️✝️
  • well there was probably awareness of ideas of sacrifice, punishment, right/wrong. Old ideas...

  • Unexpected comment behaviour between Mastodon and Lemmy

    My replies via Mastodon to Lemmy posts don't get distributed as expected. For example:

    • Original post: https://lemmy.ml/post/11552444
    • A reply via Lemmy: https://ttrpg.network/comment/4965852
    • My reply to that: https://hachyderm.io/@otl/111887721960075860

    It seems my reply only shows in these Lemmy servers:

    • lemmy.ml (the server of the group to which the post was made)
    • lemmy.world (the server of the post's author)
    • ttrpg.network (the server of the comment's author)

    From some other lemmy servers, my comment is not present:

    • lemmy.sdf.org: https://lemmy.sdf.org/comment/8124910
    • lemmy.one: https://lemmy.one/comment/6912806
    • aussie.zone: https://aussie.zone/comment/6414209

    I expected that my reply would show on any other Lemmy server with subscriptions to [email protected]. Does that make sense? I'm hoping to help troubleshoot federation like this as I'm super excited about ActivityPub and what it means for the internet! :)

    12

    Simple Made Easy - Rich Hickey (2011)

    One of my favourite talks on programming. Just wanted to share for others who haven't seen this before.

    3

    Anyone subscribe to Crikey?

    https://www.crikey.com.au How is it?

    Last year I gifted a news junky friend a year subscription to the New York Times. That was cool but they are more interested in Australian stories. Normally they browse the ABC and BBC apps.

    3

    git-send-email.io - Learn to use email with Git

    With Github so popular now, not everyone is aware of the workflows that git provides out-of-the-box for collaboration. Thought this may pique some people's curiosity :)

    6

    Rejected automation?

    www.srcbeat.com Why in-car computer systems are so bad - Part 1

    Do the people making these things even know what they are doing? Maybe not.

    Let’s share stories where your automation efforts have been rejected and you can’t quite understand why! Here’s mine.

    16

    Colemak on iPadOS

    Coming to you from my iPad and my old mechanical keyboard plugged in via a USB-C adapter! Go to Settings -> General -> Keyboard -> Hardware keyboards Finally select the language then scroll down to Colemak!

    My girlfriend is using the desktop to watch a movie and I wanted to type something up. Never thought I could do it on my iPad but here we are :)

    Just wanted to let you all know. Not sure how long this has been possible for; pretty sure it's only possible if you've got a physical keyboard connected via USB or Bluetooth.

    1

    [Praise] Small app size!

    I’m in Indonesia at the moment and my internet connections are poor. So having an app that weighs just 20MB is fantastic!

    That’s all I really wanted to say. Congrats to the devs on the progress so far!

    3

    Pikchr: A pic-inspired markup language for diagrams in web documents

    > The design goal of Pikchr is to enable embedded line diagrams in Markdown or other simple markup languages.

    Cool project. Created by the same group as SQLite. The scripting language is based on pic(1) but outputs SVG instead of troff.

    0

    What next for a hobbyist documentarian?

    TL;DR Seeking any advice on making documentaries about things around me!

    I've done a couple of short videos as a hobby between jobs. I'm a programmer by trade. It was really fun to make these in particular:

    • a short documentary [Backpackers In Cairns, Australia During the COVID-19 Pandemic]
    • a group profile of the [NSW Carriage Driving Society].

    But these take time that I don't really have any more; I've got a girlfriend and we don't want to spend all that time on the road! I tried to shoot a couple of 90-second news packages for a local news website but it was really hard. I hate politics and I hate that breaking news cycle.

    Off the top of my head, here are some things that I think would be fun to shoot and edit:

    • Documenting local organised events. Not just the highlights; from setting up and packing down again, mishaps along the way.
    • From bin to...? Where our rubbish goes
    • Cancelled buses: why bus drivers are so hard to find

    I feel embarassed to speak to people about these things. The word "imposter" comes to mind. I don't have any political agenda and I don't care about getting clicks via outrage. It's about discovering how things work - how things really are - and sharing that discovery.

    Alternatively I thought about shooting footage and uploading it "raw" to YouTube and/or editorial footage stock sites. From there I could pass it on to local news publications.

    Keen to hear any advice on what I could do next. Any YouTube channels which cover this kind of thing in a similar tone?

    [Backpackers In Cairns, Australia During the COVID-19 Pandemic]: https://www.youtube.com/watch?v=V5nljUo-P58 [NSW Carriage Driving Society]: https://www.youtube.com/watch?v=Pul4TCF77PE

    1

    Lemmy: experimental Acme program to access Lemmy

    Lemmy uses the packages [olowe.co/lemmy] ([source]), which provides a [io/fs] filesystem interface to a Lemmy instance, and [9fans.net/go/acme] to interact with acme. What you get is an Acme Mail inspired program for Lemmy. As you can see, it's a work in progress!

    But it's been fun so far. Sorry that this isn't running on Plan 9 (running on OpenBSD). I'm on the road at the moment and don't have a way to connect to a server right now!

    [io/fs]: https://godocs.io/io/fs [olowe.co/lemmy]: https://godocs.io/olowe.co/lemmy#FS [source]: https://git.sr.ht/~otl/lemmy [9fans.net/go/acme]: https://pkg.go.dev/9fans.net/go/acme

    3

    Deleting >4000 junk communities by @LMAO

    I recently wrote a command-line utility [lemmyverse] to find communities indexed by [Lemmy Explorer]. A quick count shows almost 14%(!) of all communities indexed by lemmyverse are junk communities created by a single user @LMAO ([reported here]):

    % lemmyverse . | wc -l 30376 % lemmyverse enoweiooe | wc -l 4206

    Here's a python script, using no external dependencies, which uses Lemmy's HTTP API to delete all communities that @LMAO moderates:

    #!/usr/bin/env python

    import json import urllib.parse import urllib.request

    baseurl = "https://lemmy.world" username = "admin" password = "password"

    def login(user, passwd): url = baseurl+"/api/v3/user/login" body = urllib.parse.urlencode({ "username_or_email": user, "password": passwd, }) resp = urllib.request.urlopen(url, body.encode()) j = json.load(resp) return j["jwt"]

    def get_user(name): query = urllib.parse.urlencode({"username": name}) resp = urllib.request.urlopen(baseurl+"/api/v3/user?"+query) return json.load(resp)

    def delete_community(token, id): url = baseurl+"/api/v3/community/delete" params = { "auth": token, "community_id": id, } body = urllib.parse.urlencode(params) urllib.request.urlopen(url, body.encode())

    token = login(username, password) user = get_user("LMAO") for community in user["moderates"]: id = community["community"]["id"] try: delete_community(token, id) except Exception as err: print("delete community id %d: %s" % (id, err))

    Change username and password on lines 8 and 9 to suit.

    Hope that helps! :) Thanks for the work you all put in to running this popular instance.

    [reported here]: https://lemmy.world/post/943832 [lemmyverse]: https://lemmy.ml/post/2175658 [Lemmy Explorer]: https://lemmyverse.net

    21

    lemmyverse: find communities from the command line

    lemmyverse: search lemmy communities from the command-line. Thanks to the data HTTP API from [lemmyverse.net]! This is not really as polished as I like but, hey, in the interest of having a lively Lemmy I thought I'd share anyway :)

    Usage

    lemmyverse searches community names and descriptions using a regular expression:

    lemmyverse pattern

    Find communities about motorcycles:

    $ lemmyverse motorcycle [email protected] All Things motorcycles [email protected] All Things motorcycles [email protected] All Things motorcycles [email protected] Community for BMW motorcycles. A place to share [email protected] A community to discuss all things BMW cars & motorcycles.\nFeel free to show off your new vehicle/parts [email protected] A discussion area for Buell motorcycles. [email protected] A community for pictures and videos of people using motorcycles to transport things in a creative manner.\n\nThis includes [email protected] This community is for all things motorcycle related. At a later point and with enough traction gained ...

    Find communities for the Plan 9 operating system:

    $ lemmyverse '(plan9)|(Plan 9)' [email protected] Discussions on the Plan9 operating system.

    Why?

    I run relatively slow hardware and I'm travelling in Bali, Indonesia at the moment. Loading [lemmyverse.net] in a web browser takes ages and gets the laptop fans spinning (it's hot here!). So I had some fun creating a tiny command-line program to find Lemmy communities using classic UNIX tools awk(1), tr(1), grep(1) etc.

    More info

    See the [man page]:

    LEMMYVERSE(1) General Commands Manual LEMMYVERSE(1)

    NAME lemmyverse - find lemmy communities

    SYNOPSIS lemmyverse pattern

    DESCRIPTION lemmyverse finds Lemmy communities indexed by lemmyverse.net using the given regular expression as interpreted by grep(1). Both the names and descriptions of the communities are searched.

    On first run, a local community database must be generated. The full community index is downloaded from https://lemmyverse.net using curl(1), transformed, then stored in the user cache directory. To regenerate the database, remove the file and run lemmyverse again.

    FILES communities Community database from lemmyverse.net.

    ENVIRONMENT lemmyverse uses the following environment variables:

    XDG_CACHE_DIR The directory to store the community database. If unset, $HOME/.cache/lemmyverse is used.

    EXAMPLES Find communities for the Plan 9 operating system: lemmyverse '(plan9)|(Plan 9)'

    List all communities from the instance lemmy.sdf.org: lemmyverse '@lemmy.sdf.org'

    EXIT STATUS The lemmyverse utility exits 0 on success, and >0 if an error occurs.

    SEE ALSO grep(1), curl(1), https://lemmyverse.net

    [lemmyverse.net]: https://lemmyverse.net [man page]: https://git.sr.ht/~otl/x/tree/master/item/man/lemmyverse.1

    11

    Go tech lead Russ Cox:

    > This post is about why we need a coroutine package for Go, > and what it would look like.

    With a post like this it usually means there will almost certainly be a new standard library package. But even more interestingly:

    > If we are to add coroutines to Go, we should aim to do it without language changes. > That means the definition of coroutines should be possible to implement and understand in terms of ordinary Go code. > Later, I will argue for an optimized implementation provided directly by the runtime, > but that implementation should be indistinguishable from the pure Go definition.

    0

    Go project tech lead Russ Cox talks about a technique to make programs clearer using concurrency.

    0

    An OpenBSD developer and the one-man-band behind [Pushover] gives some advice after 10 years of running a public HTTP API. It's interesting as big companies are happy to publish articles about all the fancy stuff they developed to run some API, but you don't always hear from a sole developer running a service for such a long time.

    [Pushover]: https://pushover.net

    3

    (mac)OStalgia

    There's something about the consistency that is missing nowadays.

    3