Nah, the language itself should be as simple as possible. Bloating it with endless extensibility and features is exactly what makes Perl a write-only language in many cases and why it is becoming less and less relevant with time.
Nah, the language itself should be as simple as possible. Bloating it with endless extensibility and features is exactly what makes Perl a write-only language in many cases and why it is becoming less and less relevant with time.
I agree, but then there’s also some other niceties that come from expression parsers in the language itself (as noted in the article): syntax highlighting, LSP, a more complete AST for editors like helix.
I honestly think it can be a lot more readable, especially when the regex would have been in the thousands of characters.
What is the point in federating a wiki this way? The point of an encyclopedia is to have structured and consistent information about everything in one place. This seems to propose a model where rules, formatting, notability/verifiability criteria, quality etc can only be consistent within a single server. Information is spread over multiple servers, creating a rife potential for duplicate articles, difficulties with search, and fracturing of the community (I can easily imagine a dozen articles about every even slightly politically contentious subject).
In other words, to me the point of federation is to allow multiple sets of rules (e.g. moderation rules) to exist within a single space, which seems to be contrary to the basic idea of an encyclopedia. IMHO the better implementation of an encyclopedia is a robust set of rules ensuring that every (notable) viewpoint is represented, and social norms that ensure everyone follows them regardless of their personal biases. Wikipedia is kind of like this, although I understand the frustration due to it often being biased towards a liberal viewpoint (but even then, a wide range of viewpoints is almost always represented).
Hey, in the future it’d be nicer to describe the project while posting something like this. Having to click through just to see what it is can be a bit annoying.
Looks neat, does its job.
If you’re a power-user looking at this, you can also look at https://github.com/rgwood/systemctl-tui which is somewhat similar but seems to be more useful (for now), also showing the service logs and being easily navigable with a keyboard.
Seconded. I’m coming from Emacs (+evil), so I’m still missing a few features (proper git integration a-la magit, collaborative editing a-la crdt.el, remote editing a-la tramp). However what is already there works way better/faster/more consistent than any other editor IMHO, and I’ve tried neovim with plugins too. I particularly enjoy the ability to traverse the AST rather than text (Alt+l/p/o/i by default, but I have it remapped to Alt+h/j/k/l). Really looking forward to https://github.com/helix-editor/helix/pull/8675, I’ll probably write a couple plugins if this ever lands.
This is why I’m kinda excited about WASM. With a WASM backend for GHC, you can now write almost the entire frontend logic in Haskell, with only some minor bindings on the JS side. I really wish that this happens at some point to eliminate the need for JS almost entirely, but I’m not that hopeful anymore.
Phone? Nah. It’s only a tool, used for photography, maps/navigation, messaging while on the go, shopping lists and phone calls for that one time a month you need to make one. Maybe other stuff sometimes, like making a bank transfer when not at home or editing OSM.
I used to be indirectly addicted to it. It was actually doomscrolling Reddit, but now that I’m off it I don’t get the urge anymore.
My desktop is a different story, I’m kind of addicted to it while I’m at home; when outside I don’t really miss it.
It’s quite useful to parse comments and generate documentation from them, either as plain old hypertext or in your editor with LSP.
If I’m honest it’s breathtakingly beautiful. I’ve been around most of Europe and some of Asia, and the only comparable places are Swiss Alps and the Himalayas; however, Georgia is much cheaper than the former and more developed/safe than the latter. It’s also quite tiny but heterogeneous: within a day’s drive you can go from (slightly underwhelming) Black Sea through amazing forests into wild mountains, back down to vineyards and sunflower fields, through a volcanic plateau with otherworldly landscapes and then bathe in hot springs under the starry sky. There’s an insane density of buildings and ruins from dozens of different cultures and epochs, all the way from bronze age to medieval Georgian to Russian colonial style to Soviet-era constructivism. I don’t drink wine but I’ve heard that it’s quite amazing too. My only gripes is that the country might be backsliding into authoritarian rule, and the locals are welcoming but “conservative” (bigoted) to the extent that it’s straight up dangerous for LGBT people to visit.
Back when I was in Russia I’d say it’d be Suzdal, famous for the density of churches and other traditional architecture; or Tarusa, known for that one song that everyone seems to know a couple of lines from, Gorodok (here is a random rendition I found just now), both with just under 10k pop according to the wiki. And, as a bit of a stretch since it’s not a town and most people would call it Solovki, Solovetsky settlement, famous for being a prison, with about 800 people. Also Oymyakon with under 600 people, the coldest settlement on earth if you’re into that sort of thing.
Now in Georgia, I’d say Borjomi with just over 10k pop famous for its water, and Bakuriani (just over 1800 people) for its water and the ski resort. Again a bit of a stretch, but I guess everyone in Georgia at least also knows the ski resort of Gudauri at just under 100 people, as well as mountain resorts of Gomismta and Bakhmaro, both with no permanent residents due to the rough winters. Geography nerds will also be familiar with Ushguli, (arguably) the highest inhabited settlement in Europe, population 220.
Typically this is true, but it’s certainly possible to get comparable performance with functional style
It’s possible, but you have to specifically write code that’s fast, rather than idiomatic or ergonomic, and you have to know what you’re doing. At that point, you may have been better off writing it in something else. I feel like OCaml is good at this because it allows you to write abstractions and main control flow in a functional way and hot paths in an imperative way without switching language, but so is Rust.
Carp, which I linked above, basically uses the same approach to memory management as Rust. It doesn’t rely on GC.
I’ll take a look, thanks!
I also find that for most cases it really doesn’t matter all that much unless you’re in a specific domain like writing drivers, making a game engine, etc. Computers are plenty fast nowadays, and ergonomics tend to be more important than raw performance.
I mostly agree with you, e.g. Haskell and Clojure, despite being “slow”, are plenty fast for what they’re used for. On the other hand, I’m very much annoyed when “user-facing” software takes way too long to load or do simple tasks. Java in particular is pretty bad at this: JOSM (Java OpenStreetMap editor) takes longer to load than my entire desktop startup, including a window manager and browser. Unfortunately it’s also the best editor around, so I pretty much have to use it to edit OSM, but it still annoys me to no end. Unnecessary computations, IO inefficiencies and layers of wrapping also affect the power consumption quite noticeably.
Modern C compilers are a fascinating blend of functional and imperative, that’s true; and I didn’t say that C is “close to how the modern architectures work”. However, mainstream modern architectures are almost always engineered with C in mind primarily, and this is also acknowledged in the article you’ve linked. Rust, having a lot of similarities to C in terms of its underlying memory model, calling conventions, and control flow primitives, can often benefit from those hardware patterns and optimizations in a way that’s more difficult to replicate with a functional language (especially so given most of them are GC-d due to their memory model). The closest I’ve seen in terms of easy-to-write-quick-code is OCaml, but even there the fast paths are often written in a very much imperative style. Idris2 also seems promising if they manage to get a GC-less mode working. Maybe also Roc, but I’ve not taken a look at it yet.
Note that I write all of this as someone spending a lot of their work time programming in a functional language (Haskell), with Rust being mostly for hobby stuff. It just always surprises me how much easier it is to write fast code in Rust, and yet also how much of my Haskell intuition was applicable when I was learning it.
I agree that they fit different niches! My point was that with modern CPU architectures, imperative languages make it much easier to write fast&efficient code just because the hardware was pretty much engineered with C in mind. IMHO Rust offers the best of both worlds when it comes to systems/low-level dev.
TBH Rust is pretty nice, it borrows (pun intended) a lot of ideas from the functional world (algebraic data types, traits, closures, affine types to an extent, composition over inheritance, and the general vibe of type-driven development), but it’s much easier to write fast, efficient code, integrate with decades of libraries in imperative languages, and the ecosystem somehow feels mature already.
So, here’s my attempt
The first portion (^.?$
) matches all lines of 0 or 1 characters.
The second portion (^(..+?)\1+$
) is more complicated:
(..+?)
is a capture group that matches the first character in any line, followed by a smallest possible non-zero number of characters such that (2) still matches (note that the minimum length of this match is 2)\1+
matches as many as possible (and more than 0) repeats of the (1) groupI think what this does is match any line consisting of a single character with the length
1
(due to the note in (1), so that the repeating portion has to be at least 2 characters long), orTherefore, combined with the first portion, it matches all lines of the same character whose lengths are composite (non-prime) numbers? (it will also match any line of length 1, and all lines consisting of the same string repeated more than one time)
I haven’t used it in a while, but I think it just sends you an SMS with a code that you can enter manually, so yeah it works on devices without a SIM
Hm, I haven’t thought about a Fandom replacement (a bunch of wikis covering mostly unrelated, niche subjects); for something like this, federation would indeed be nice as just a way to have a single user account, search, etc. I still stand by my opinion that a general-purpose encyclopedia should have a single article per subject, and thus not really suitable for federation.