Show more
~b boosted
@hiro @zxcvfadsf @Moon I don't know how Hindi works but Arabic is a rendering problem.

> would require color as an intrinsic property of characters

That was the exact moment we decided to destroy ourselves.

There's no guarantee that users you are talking to are also Mastodon users.

Don't encourage monopolization the network. Other servers are equally just as part of the Fediverse.

Show thread

@peter
It may not, but it's a little annoying and disrespectful to assume every user they see on their Mastodon web interface is also a Mastodon user. There's no guarantee of that! And omitting "the Fediverse" is denying the existance of other servers, which monopolizes the network and gives Mastodon more leeway to push their own implementation of ActivityPub.

@ChiaChatter
If you spend all your time on the Fediverse via the Mastodon interface, you can easily forget (or not even notice) that others are viewing the same content via other interfaces (Pleroma, for example). It all looks like "Mastodon", but it's not! There's no guarantee you're talking to other Mastodon users.

@nantucketebooks
Mine's infused with Turkish cigar. Enhances the experience imo.

Say "Fediverse", not "Mastodon". They are not interchangeable. If you're on Mastodon, you are inextricably on the Fediverse too.

Thanks to @vladh’s great work, now has tuple unpacking, as per the spec section 6.6.47.3

const (a, b, c): (i64, str, f64) = (2i, "hello", 1.0);

git.sr.ht/~sircmpwn/harec/comm

harelang.org/specification/

I'm surprised there's no (FLOSS) piano app for Android (F-droid). Anyone know of one?

~b boosted
~b boosted
:9front: fossil/venti really are very nice and it is great to have a system that is very easy to hack.

I looked over to check the time and it was the Plan 9 clock, which always takes a second to read. The dots indicating the hours are all the same shape/color, and the hour hand is the same thickness as the minute hand. I figured it'd be trivial to tweak, so I popped up the source. Finding the source is a pain in most Linux distros, but on Plan 9, the location of the source code is at the bottom of the man page. But you don't even need to do that: there's a program called src(1)¹ that can print the location of the source code, or just open it up in your editor². So instead of untarring anything or `apt-get source` or whatever, I just typed `src clock`.

The source was easy to read, about a hundred lines, and I did the tweak and thought "Oh, I should post a patch to fedi, there are people on fedi that use this." But I'd made the changes already, so what do I do to get a diff?

This is the magic part: yesterday(1)³. You type `yesterday $filename` and it mounts the archive (for which you do not need root, because you control your namespace so every mount works like FUSE, and the fileserver enforces permissions itself, so unlike zfs or whatever, any user can securely inspect snapshots and filesystem history) and then prints out the path to that file from yesterday's dump (or whenever, just yesterday is the default). So you can do "diff `{yesterday /sys/src/cmd/clock.c} /sys/src/cmd/clock.c"⁴ and this gives you the diff.

Whole process took about five minutes from wanting to tweak something to installing the new version and retrieving the diff. It was quicker to do than to explain. Nearly everything on Plan 9 is like that, you see something you wanna tweak and you can tweak it with no friction, because the source is simple and available and because of fossil and venti⁵, you can get the full history of arbitrary files.

Here's the diff and a screenshot. (The clock is still nothing impressive but it is somewhat faster to read it; anyway, this is how you do that.)

--


¹ http://man.9front.org/1/src

² The plumber handles this: http://man.9front.org/4/plumber . The overview is that it's sort of like things like OSX's "open" or XDG's (:vomit:) "xdg-open", but arbitrary data instead of filenames/URLs only, and the plumber is much more hacker-friendly. So the plumbing file says things like "if it looks like the path to a C file, send it to the 'edit' port" and whatever editor you have open listens for things sent to "edit", sort of like pub-sub. There are also rules in $home/lib/plumbing for starting whatever it is that you want to start, so if there's nothing listening for "plumb to edit" you can tell it how to start up your editor.

³ http://man.9front.org/1/yesterday

⁴ While grabbing the link to the 9front manual, I noticed that the man page also covers `diffy`, which basically does this. I did not know about diffy. Sometimes I post this stuff and someone says "Who cares?" and "Why would you post this?" and that's why. I hope it is useful or interesting to whoever reads it, but trying to explain it is often very useful to me, I find stuff out or it makes me think things through more carefully than just using it.

⁵ I will keep posting this until I am blue in the face: http://doc.cat-v.org/plan_9/4th_edition/papers/venti/ . Here's the fossil paper, too, for good measure: http://doc.cat-v.org/plan_9/4th_edition/papers/fossil/ .
clock.diff
clock.png

@derickr
Yep. Hare is a system's programming language, so it wouldn't be appropriate to ship our own compiled tzdb package like most languages. We have to parse the tzif files like C.

And yes, the POSIX DST ruleset strings are very annoying! We will likely have to move or copy some code from datetime:: to time::chrono::.

@derickr
Wow, what a better fedi-encounter than that of the author of a "Guide to Date and Time Programming" book. Nice to meet you!

I will certainly be reading up on PHP's datetime facilities, and thankful for your outreach. I'm guilty of leaving PHP out of my reading list. A quick glance tells me there's quite a similarity to Hare's design.

If you are interested, (the Hare project and) I would love some feedback regarding Hare's (nacent, in-progress and unpolished) datetime library. Perhaps you have some wisdom, some design theory we can learn from.

=> @hare
=> harelang.org/community/
=> docs.harelang.org/datetime
=> git.sr.ht/~torresjrjr/hare/tre

Thanks again. Will use that email.

Does anyone know of any good literature on datetime arithmetic? Or perhaps a really good software library (standard or third-party)? Especially anything that tackles non-communitivity, overflows or nonexistant dates/times (due to timezone effects).

I'm looking to rehaul the stdlib datetime module soon, and we want it to be very robust and of high quality. Will also be helpful in some Hare projects, like a scheduler.

=> docs.harelang.org/datetime
=> git.sr.ht/~sircmpwn/scheduled

The closest thing to a useful standard I've found is this:

=> w3.org/TR/xmlschema-2/#adding-

In the mean time, I'm trying to create a formalisation of datetime arithmetic so we can have something theoretically sound to implement. Something which takes advantage of Hare's language features. If you're interested, let me know. The more gray matter, the better. Boosts welcome.

@G117CH

You certainly make some good points there. I agree. I suppose I always talk with the implication of libre software in mind.

What business, if I may ask?

@G117CH
I'd argue philosophically that npm as a concept is flawed, and the lack of this insight is what causes all these issues in the first place.

Also, I don't buy a lot of this "forced upon by the world ecosystem complexity". I see a large lack of due diligence out there. But yes, the outside world exists, and we have to deal with it :D.

> I wonder how adoption will work out.

World domination is not a priority for the Hare project. Upstream Hare deliberately does not support non-libre OSs. It's a principled language, and if others happen to find value in it, that's great. It's not meant to replace anything. Languages serve different purposes and niches, including Rust.

Show more
Qoto Mastodon

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