Show more

#Linux is magic. Here are some tools I recently encountered that work only on Linux due to the aforementioned magic -

Inspect a command's effect before committing it to the filesystem - github.com/binpash/try

Box up misbehaving applications, forcing them to put files into the right place - github.com/queer/boxxy

I am looking for full-time PhD students on topics centered around knowledge graphs spanning from graph data management to neurosymbolic AI and GraphRAG.

Application deadline:
September 12, 2024

Link:
jobs.tuwien.ac.at/Job/236402

Bellingcat is a non-profit and the ability to carry out our work is dependent on the kind support of individual donors. If you would like to support our work, you can do so here bellingcat.com/donate/

Show thread

I can't help but notice how silly many CWs feel to me after 2022. I think they're important mental health tool, so hiding "uspol" under CW is... ....? 😅

System Design and Software Architecture Workshop: Oct 21-23 and Oct 28-30
* early enrollment discount *

Info/enroll: ti.to/bredemeyer/system-design

Preview material: Architecture/Technical Decisions ebook (pdf):
ruthmalan.com/Leadership/20240

System Seeing Journal “starter kit” (daily prompts and related quotes to reflect on) (pdf):
ruthmalan.com/systems/2024Syst

@nicd based takes. I feel better about my 30H+ trip by trains and buses with 666 connections in germany (they have ridiculous train systems, be prepared to lose hundreds of euros going through germany by land) after reading this 🤗

I took the first trip in 4 years and I had quite a valid excuse — I was helping my mom and grandma move from the border with russia inland into Latvia.

But honestly, fuck the people you describe. seriously.

climate anxiety/defeatism rant 

My dudes, Telegram is not an e2e messaging app like Signal or WhatsApp. Telegram is more like Twitter. It is a social media app that is mostly public content that also happens to have DMs, where you can turn on e2e messaging with questionable cryptography that most people never even bother to use.

@calispera I appreciate circlejerk as much as the next Magic player, but without context it looks straw as fuck.

Also, as a Latvian Jew I'm very wary of appeals to revisionism in any forms, including "my family existed longer than your nation". So I don't like that Serge guy based on this. 🙂

Insofar as I may be heard by anything, which may or may not
care what I say, I ask, if it matters, that you be forgiven for
anything you may have done or failed to do which requires
forgiveness.

Conversely, if not forgiveness but something else
may be required to insure any possible benefit for which you
may be eligible after the destruction of your body, I ask that this, whatever it may be, be granted or withheld, as the case
may be, in such a manner as to insure your receiving said
benefit.

I ask this in my capacity as your elected intermediary
between yourself and that which may not be yourself, but
which may have an interest in the matter of your receiving as
much as it is possible for you to receive of this thing, and
which may in some way be influenced by this ceremony.
Amen.

-- Roger Zelazny, Creatures of Light and Darkness, 1969

#GHC supports lexically scoped type variables, without which some type signatures are simply impossible to write. For example:
```
f :: forall a. [a] -> [a]
f xs = ys ++ ys
where
ys :: [a]
ys = reverse xs
```
The type signature for f brings the type variable a into scope, because of the explicit forall (Declaration type signatures). The type variables bound by a forall scope over the entire definition of the accompanying value declaration. In this example, the type variable a scopes over the whole definition of f, including over the type signature for ys. In Haskell 98 it is not possible to declare a type for ys; a major benefit of scoped type variables is that it becomes possible to do so.

An equivalent form for that example, avoiding explicit forall uses Pattern type signatures:
```
f :: [a] -> [a]
f (xs :: [aa]) = xs ++ ys
where
ys :: [aa]
ys = reverse xs
```
Unlike the forall form, type variable a from f’s signature is not scoped over f’s equation(s). Type variable aa bound by the pattern signature is scoped over the right-hand side of f’s equation. (Therefore there is no need to use a distinct type variable; using a would be equivalent.)

oh my god! i was walking home (fucken hot out eh) and glanced at the wall and undergrowth to the side, wondering if I’d spot any more lizards to photograph and make @k8 jealous (😂) when i saw a flash of white and stopped in my tracks… a luna moth! no fucking way! that is the absolute coolest thing, i’m thrilled #LunaMoth #moths

Show more
Doma Social

Mastodon server of https://doma.dev.