Show newer
R. A. Dehi boosted

Need a disposable root server for quick experiments? `ssh root@segfault.net` (password: segfault). 

@RaphaelWimmer @thc you might also like sadservers.com/ - you get tossed into a shell of a malfunctioning server and need to figure out the problem.

R. A. Dehi boosted

For anyone curious here is the very first toot I ever made on QOTO:

qoto.org/@freemo/1003358395344

🎓 Doc Freemo :jpf: 🇳🇱  
Some of my own work photographing and documenting the Orion Nebula. Old but a favorite. #Astronomy #astrophotography

@enkiv2 We were talking about standoff markup formats the other day, right? Have you looked at the representation of toots in ActivityStreams/ActivityPub?

R. A. Dehi boosted

@radehi @cemerick You're right, looks like ColorQuantize dithers by default. Here it is with and without dithering:

R. A. Dehi boosted

hi friends, there will be a memorial for Peter Eckersley at the Internet Archive in SF on March 4 2023: facebook.com/events/2366523486. please spread the word to his friends who aren't on Facebook!

R. A. Dehi boosted

@sachac@emacs.ch @lxo This is really amazing. You implemented not only a waveform view but about half of a nonlinear video editor in Lisp. I've used Emacs for years and had no idea this was even possible.

war in Ukraine, nuclear war 

Apparently a single AP reporter had enough power to singlehandedly convince most of the world that Russia had fired two missiles into a NATO country, nearly drawing NATO into an Article 5 war against Russia?

James LaPorta is like the Stanislav Petrov of Bizarro World: instead of singlehandedly preventing a nuclear holocaust, he almost singlehandedly caused one.

thedailybeast.com/ap-fires-rep

R. A. Dehi boosted

@rmerriam @shriramk Some concepts don't transfer across many languages (in Fortran, what's the equivalent of a Prolog logic variable, a Pure rewriting rule, or a Forth IMMEDIATE word?) and even concepts that transfer across many languages don't transfer across all (what's the equivalent of a `while` loop in Coq, a type declaration in Forth, a struct in Fortran 66, or a closure in C?)

I think the concepts that *don't* have an equivalent in languages you're familiar with are usually the most valuable, because sometimes give you powerful new ways to solve problems, and you can always implement them in your programming language of choice with enough effort, writing an interpreter if necessary.

R. A. Dehi boosted

Did you know that #Mastodon supports #RSS feeds?

That means you can follow your favorite people and topics right inside of Thunderbird!

→ Just add ".rss" to the URL ←

For example, our Mastodon URL "mastodon.online/@thunderbird"

becomes

"mastodon.online/@thunderbird.r"

What about #hashtags? YEP!

Let's look at #OpenSource. From our instance, it is: "mastodon.online/tags/opensourc"

So, we just append .rss and it works!

"mastodon.online/tags/opensourc"

REALLY useful if you don't want to miss a thing!

Thanks to some experiments with @ambihelical, we've characterized the particular way 's Markdown support is broken with respect to code blocks.

Its Markdown mode is exactly backwards with respect to newlines: are ignored inside code blocks, but inside normal paragraphs newlines are treated as `<br>`. But another bug in Markdown support partly cancels this out if the code block is at the beginning of the post, because then, treats the code block as a normal paragraph.

This suggests a straightforward, if inconvenient, workaround: instead of using a code block, use a normal paragraph, but wrap each line within the paragraph in `` ` ``. Unfortunately, due to a third bug in Markdown support, this doesn't actually work; the first line is fine, but the typewriter text on subsequent lines incorrectly fails to be recognized:

`def main():`
` print('hello')`
` print('world')`

A fourth bug means that newlines after the first one are ignored, perhaps because are incorrectly parsed as being part of another code block; I think in a case like this you don't have that problem:

def main():
print('hello')
print('world')

R. A. Dehi boosted

@allenholub We always do at least subconscious estimates because there are always more likely improvements than we have the time to make.

Consider [this now-obsolete extreme example from xkcd](xkcd.com/1425/). Wouldn't have been reasonable to equally prioritize working on both of these possible features; an afternoon or a week spent on the bird-recognition feature would have been only wasted.

In less extreme cases, an hour or two of estimation work can tell us whether a feature is more likely to take two days or a month. Many features that are worth trading off two days of other features for are not worth trading off a month of other features for.

Unfortunately, almost no companies have incentives set up to reward doing that estimation work, so formal estimates add little more value than subconscious ones.

@AccordionGuy the formatting in that post looks broken to you too, right? It's not only broken on my instance but in the actual post? Haven't yet figured out how to view the JSON-LD source.

Show thread
R. A. Dehi boosted

@mmasnick Yes, although I imagine screenreaders will have exactly the same amount of trouble. But if your instance supports it (am using Mastodon v3.2.1) you can also format in Markdown: *italics*, **bold**, _**bold italics**_, `typewriter`, [links](techdirt.com/), _**[`bold italic typewriter links`](techdirt.com/)**_. Pleroma has a similar feature. For Fraktur, blackboard bold, and script you still need to resort to Unicode.

------

Actually am not sure how much of that is going to work because the "Markdown" implementation in Mastodon is super janky and has a lot of problems. Let's see!

R. A. Dehi boosted

@radehi @rmerriam But trying to design for that is a bit like giving early cars a stirrup and rein instead of pedals and steering-wheels, because that's what people were used to from horses.

@freemo why is the formatting in this post broken? The pseudo-Markdown implementation seems to be eating all the newlines. How does that happen and how can we fix it?

Show thread

Is hilarious mistake in Python design. Thanks @elfprince13.

```python
def x():
e = None
while e is None:
try: print(input("? "))
except Exception as e: print(repr(e))

x()
```

Result:
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in x
UnboundLocalError: local variable 'e' referenced before assignment
```

Thomas Dickerson  
@shriramk seems like a good thread to port over this doozy from Twitter. “here's possibly the worst Python scoping rule I've ever seen.” Try for ...
R. A. Dehi boosted

#introductions

Hey, I'm Windell Oskay!

My background is in atomic physics. I co-founded, with Lenore Edman mastodon.social/@lenore1, Evil Mad Scientist ( evilmadscientist.com ), where I design the hardware and software of the AxiDraw pen plotters. Past projects include BristleBots, WaterColorBot, CandyFab.

Latest project, with co-author Eric Schlaepfer mastodon.social/@tubetime, is Open Circuits ( opencircuitsbook.com ), a coffee-table book photographic tour inside electronic components.

R. A. Dehi boosted

@science_quotes@c.im @freemo For engineering, is pretty valuable to know that the speed of sound (in air, near STP) is between 100 and 1000 m/s. Among other things, you know that if you compute an expected velocity for something of hundreds of meters per second, you need to think about taking aerodynamics and human safety into account that you wouldn't at lower velocities.

If you don't remember if is closer to 300 or to 400 m/s, sure, you can look that up. But knowing the order of magnitude of *every* potentially relevant phenomenon is fundamental to knowing which ones you can disregard.

R. A. Dehi boosted

@samplereality Twitter was written in Ruby at first too, but Ruby wastes 99.9% of your CPU and 90% of your RAM, so rewrote it in Scala years ago to make the costs much less enormous.

R. A. Dehi boosted

@deshipu Hmm, maybe it did work after all.

The archive.org snapshot of the Mastodon thread page does include various posts on the thread. Load progressively, but they load from archive.org and not fosstodon.org. Even the images in the posts load when I click through them.

But the images have URLs like web.archive.org/web/2022112116. Note that the timestamp embedded in the URL is 16:38:24, while the timestamp in the URL of the original page is 16:22. This suggests that archive.org is archiving the image successfully, but only when my browser loads the archived page and requests the image. The archival only works if I go and click on all the things in the thread that need to be archived!

My initial suspicion, however, was that archive.org only archived the Mastodon SPA and not the posts, and the SPA was requesting the posts at view time *from the original Mastodon server*. And that would have been a completely unsuccessful archival; upon viewing years later, it could have even included new information added by a malicious Mastodon server at that time. Is not so.

Should have known @brewsterkahle's team was pretty on the ball when it comes to archiving Mastodon since they even run their own instance.

Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.