I loved that language. I actually forked it, used it for a lot of stuff, bloated it (started by just trying to port to x86-64, ended up with a mini-FORTH with regexes, FFI to C, etc.). I still use it every day, though mostly for doing math in hex.
HN user
1337p337
Personal site is debu.gs.
Activity stream (mostly code) is at stream.debu.gs.
Appears to work: http://demo.fedilist.com/instance?sort=mau
Looks like you are correct, yeah, and the raw logs show 7,410 of the 10,729 live instances have it. Lemme hack it in real quick; I can't put it onto the big pages and not sure how well adding another column to that table will work, but give me like five minutes.
Believe it or not, the resource use is mostly bandwidth for that page. Something like 2MB of HTML; the actual data is mostly cached.
That'd be cool, but it just uses publicly available APIs for this. Most of the data like that isn't reported through the public APIs across various types of software. Bad data is tossed out (e.g., the you-think-your-fake-numbers-are-impressive.well-this-instance-contains-all-living-humans.lubar.me lists over 7 billion accounts) but data that is (as far as I know) accurate is presented as-is.
Ha, indeed. It seems to be up for me, but that's why I put it on the demo subdomain and left off HTTPS: it's a demo, not quite ready for production.
(It's also getting flooded with vulnerability scanners at the moment, but that's not affecting the load, just the pipe.)
This applies if you're thinking of Twitter as a business or as a tool for mass-broadcast. If you think of something with a similar format but that fits a different space, that's the use for the Fediverse: it's more like USENET or BBSs or even 2008 Twitter than it is like 2022 Twitter.
The main advantage of tools like this are that you can use them to communicate. When I don't have the need to do that, I don't use them. I try to use tools that will remember this sort of thing on their own.
I keep notes on ideas in a personal wiki (AwkiAwki), and I open up the recent changes page to remember what I was taking notes about. For anything past the planning or brainstorming stages, I just use `ls -t|sed 10q` on my directory full of editor session dumps. I always keep a scratch/memo buffer open in acme so there will be some brief notes, an outline of the behavior I planned to implement, or (more often) I can gather what was going on from which files were open and where the cursor is in those files. For non-code projects, there will at least be some text, so there will be a session dump.
Forth isn't super practical in such an environment; gForth in particular is a bit "large". (Not that this is bad, but it's of the second school the article mentions.) If you wanted, you could cobble together a Forth implementation that played nicely with pipes. I did this, it works fine, but it's not the type of environment that matches Forth very well.
Forth's design is to give you the machine and let you compute with it rather than to act as part of a pipeline.
Yep, that's why I left it off the list.
I've actually written some LambdaNative. Unfortunately, we ended up going with Cordova, but you can guess which one was more fun to write.
Stock Scheme does not have much in the way of interfaces to the outside world (long story) but there are several Scheme variants where people are doing larger projects. Racket is sort of a Scheme variant, and it seems to be the most popular, but Chicken and Guile are also pretty popular (as far as Scheme variants go) for real-world use cases.
Not a false dichotomy at all. Ignoring that the size of the team is exactly two (and there's only so much you can keep in your head), when you have a metric, you optimize for it. It's not even a conscious process.
Well, PG presents them as different bets, one of which paid off. They were the same essential bet from Newton's perspective. For example, books on physics at the time referred to religion heavily, sometimes as a cornerstone of an argument. Even Newton's Philosophiae Naturalis Principia Mathematica says "Collocavit igitur Deus Planetas in diversas distantiis à Sole, ut quilibet pro gradu densitatis calore Solis majore vel minore fruatur."
There wasn't quite the sharp division of disciplines, either. Thinking about it that way comes from the public school system (which the author ought to know, because if I'm not mistaken, he mentioned that in a previous essay). Mathematics (which didn't warrant a mention as a bet that paid off in a blurb about the guy that invented calculus), metaphysics, and the natural sciences were all areas of study, but they weren't different bets: they were interrelated components of our understanding of the universe.
At the risk of getting downvoted myself, I wonder why all of your comments are getting downvoted. Is it such a terrible opinion that it doesn't even belong on HN? A lot of people turn off syntax highlighting. It can be legitimately distracting, and it messes up tooling.
Unfortunately it just returns the code, not a compliant response (e.g., 405 should return an Allow: header).
Unfortunate that it's just a link to an image on Twitter, but not entirely surprising. Kicking off a thread to manage stdio is the usual solution, since even polling requires a syscall, which requires memory to change hands, which bumps latency some.
It was a good thing. Not just for the standardization bodies, for everyone. The "Fierce Idiocy of 'New!'"[1] died down for a little while and briefly it was possible to rely on a stable development environment. Features are great if they're the correct ones and they're done well, but stability and reliability are even nicer.
1. http://www.constitutionaldaily.com/index.php?id=737%3Athe-fi...
The OS doesn't power down the antenna while there are open network connections. Did your tests wait long enough to turn off the antenna, was the test environment clean (i.e., nothing else using the network on the device, including your tests)?
Definitely performance is a nice benefit. I don't use AdBlock; I have a few thousand lines in my /etc/hosts that map various bad actors (vast chunks of Javascript that doesn't do anything useful, 1x1 .gifs, ads, annoying widgets, etc.) to 255.255.255.255 (NXDOMAIN), and use dnsmasq on that machine to get that benefit across to the rest of the local network, regardless of browser. The thing that usually triggers another bout of "block these hosts" is if I notice that my ostensibly idle browser is burning CPU. I don't want to wait several seconds for a page to render, and I certainly don't want to waste laptop battery time on refreshing an iframe with "what people are saying about this on Twitter" or feeding someone's analytics server. Half the time a site runs really slowly, it's usually doing some nonsense that I'd be happier without, or my browser is waiting to download something that I don't need to see.
The total amount of Javascript in kB is one issue, but you don't need to hit the level of opcodes, I think. Counting the nodes in the parsetree would be useful, as well as measuring the amount of memory that is allocated by the Javascript, determining whether it runs once or continuously or on some trigger (e.g., scrolling, hovering, mouse movement). If you ran a profiler and measured the amount of time spent in the Javascript bits of your runtime (e.g., how long to parse the JS, how long to eval it, how often it runs, throw in some memory profiling) you could probably get some interesting numbers.
Fun times in bash, but very boring in the Inferno shell:
listen -A 'tcp!*!9000' { {req := "{sed '/^\r$/q'}; echo 'HTTP status and headers elided'; echo $req} & }
I've wondered about this while tossing around the idea with an old boss. LA is notorious for being a difficult place to build or expand a freeway, and the congestion problems are getting worse.
It seems you have to get them pretty high before you can travel very efficiently, so they don't work for going across cities. That's not even worrying about the local airports' airspace and the numerous tiny municipal airports. I don't know that these are intractable problems, though.
Which seems to get missed, despite the name "Trollaxor" and the "hacked his router" comment in the article. Glad someone pointed this out.
Well, the Urbit essays (linked in the article) are one attempt to resolve it, but bitrot still remains unresolved. I don't think I wrote anything indicating otherwise. If it doesn't see the light of day, it dies; bitrot is a slower death, but open source is a prerequisite to software not just disappearing into the void. I'd really like to have presented a solution to bitrot, but I don't have one.
Since _why's stuff was open, he addressed bitrot in his (brilliant) novella. The article treats it some; the open-source remarks were about the code that you don't see, that suffers from being under lock and key as well as bitrot.
I am somewhat surprised, given the content, that no one has posted _why's "Final words". I happen to have logged it, and given the content, it seems very relevant:
(08/13/2009 03:36:54 PM) twitter.com: _why: i thought that RIP was strictly for cremation.
(08/17/2009 10:22:45 AM) twitter.com: _why: burying myself feet first in the woods with the hope that this will lead to a career as a much beloved and sought after mouth-under-a-rock.
(08/18/2009 12:16:43 PM) twitter.com: _why: programming is rather thankless. you see your works become replaced by superior works in a year. unable to run at all in a few more.
(08/18/2009 12:32:21 PM) twitter.com: _why: if you program and want any longevity to your work, make a game. all else recycles, but people rewrite architectures to keep games alive.
(08/18/2009 01:17:43 PM) twitter.com: _why: ahh i’m just so totally suspicious of anyone who claims to love progress but stridently defends the status quo!!
(08/18/2009 01:55:00 PM) twitter.com: _why: kafka would be a lot harder to get into if the trial only ran on a power pc.
(08/18/2009 07:50:07 PM) twitter.com: _why: nailing a small ornate gold shelf at arm’s height above the bed for my cat to sit on. i give you: norton’s perch.
(08/18/2009 07:54:20 PM) twitter.com: _why: i should probably have little teeny shelves all leading up to it. with their own miniature portraits or doll banisters or something.
(08/18/2009 08:06:21 PM) twitter.com: _why: an ascending homage to fish bones. culminating in a delicate canopy of mouse furs.
BeOS and Plan 9 have such different concepts of OO that they're hard to compare. In BeOS, there's a C++ interface your applications have to conform to, and it's somewhat machine-centric. Your objects are live processes in memory.
Plan 9 guys tend not to like the design of HTTP ( http://http02.cat-v.org/ ) so don't tell anyone I used this illustration, but Plan 9 is OO similar to the way REST is.
In Plan 9 (and Inferno) your objects can be files on disk, structs in memory, devices, etc. Anything that can conform to the interface. The interface in this case is files. Your objects expose a filesystem, and you interact with them by means of the usual tools for file manipulation. The Acme editor exposes a filesystem, the clipboard ("snarf buffer") is a file, and the network is, instead of a group of special syscalls, a filesystem. So you could write a shell script that reads a URL from the snarf buffer, downloads the page it points to, and puts the content into a new window in Acme, in three or four lines, without using anything more complex than cat and echo.
It's certainly disappointing. There's been this furious obsession with "getting Linux onto the desktop", which lead to misguided attempts to dumb the OS down to the level that a Linux hacker thinks works for a "normal user". The efforts seem to have proven mainly that Linux hackers don't understand "normal users" and that, given enough determination, you can reimplement a broken version of Windows on top of any OS.
And then your config files get config files (GRUB2, Debian/Ubuntu network configuration, ...) as the horrifically bad design decisions made on behalf of the nonexistent "Linux desktop users" get pushed onto the server that you have to actually deploy working code onto. It's enough to drive a man to drink...or at least it's driven me to Inferno and Plan 9.
Ah, okay. Clicking on the tutorial link and then clicking on the "Overview" link on the site for the tutorial yielded "Creates a new service namespace beneath normal userspace for administration" and "Move between namespaces on demand with rerootwin and other scripts", both of which seem pretty useful. You might want to make a semi-prominent link to the overview.
It's interesting, but I can't tell from the documentation what it's actually for. It's apparently for clustering, but what does it do? I had downloaded the image a week or two back, but it just...booted Plan 9. A few examples that tie it together or explain some sort of use case would be great.