I think they want to hire you to write a Sokoban AI, and are offering 800 an hour.
Fuck Spez
(Hey noone else said it in this thread so I think I have to)
Plenty of self-driving trains around, generally metros where frequency and 24/7 operation is a great boon to overall service quality – you don’t want people to look at schedules, you want them to go to the station knowing there’s going to be a train in a couple of minutes, tops.
It’s way different for long-haul service, freight, passenger, doesn’t matter. Longer and less frequent trains with way more passengers in them, and you probably need other staff too, like someone needs to run the bistro. The tracks they’re running on are also way less predictable, with a metro you can have station screen doors everywhere (which btw necessitate automatic driving, humans aren’t accurate enough) try that with an international train: Regions much less countries can’t even agree on uniform platform heights. Much less door locations: Automated long-haul would require dedicated platforms at every station and while those could be served by trains with drivers, trains nowadays are all smart enough that including a button “stop at exactly that location, to the half-centimetre” isn’t an issue, those trains would have to have doors at the right location. Now go ahead and convince Germany and France that they need to replace all TGVs and ICEs to have doors in the same location as your regional trains.
Oh and none of that automation tech used with trains uses machine learning, btw. At least not at the basic level, when it comes to actually driving the train. I do remember watching a documentary about Singapore’s metro, where they have an ML algorithm scheduling track maintenance, minimising not service interruptions as such but impact on people’s commute. First the workers complained that none of the orders made any sense, then the developers made the computer spit out context and motivation alongside with the orders, workers changed their tune to “that’s fucking brilliant”.
…which, actually, brings me to the conclusion: Also with automated systems we’re going to need maintenance which isn’t going to be automated any time soon. If you automate a metro that currently doesn’t run 24/7 you don’t have that many drivers in the first place, and probably have other jobs for them to do. Automating really is about making “a train max. every five minutes, 24/7” possible without breaking the bank.
Very relatedly: If you’re a EU citizen make sure to sign this initiative.
If not a EU citizen do not sign it, that’d be the opposite of helping, but do enjoy numbers go up from afar. Also you can spread the word that’s fair game.
Now that you mention it yes Lua is probably the one that I remember. It’s an incredibly well-designed language from start to finish but also culturally an odd-ball. ..
isn’t even the biggest offender: Their indices start at 1. Haskell accosts you with zygohistomorphic prepromorphisms but at least [1
is ] !! 2
.
I try not to and if I have to I’d use string interpolation. I’m not even sure whether you’re pulling my leg right know, I literally don’t remember whether they have a string append operator.
Like 99.999% of the sh
I ever wrote was in Makefiles and short wrapper scripts which could just as well be aliases. No argument handling past $@
, no nothing the language is just too fickle for me to bother dealing with. The likes of zsh are make-up on a pig, I think I had a quick run-in with fish but never really got the hang. Nushell is different, it’s actually bold enough in its changes to get rid of all the crufty nonsense.
So can any TLD holder. The rules for .org might change to disallow individuals. .com might outlaw non-profits. .net might get restricted to ISPs. There is a small, but existent, chance that all the oxygen molecules in the room I’m in are going to decide that they’ll huddle up in some corner, leaving me to suffocate. I refuse to worry about it.
If you want to be paranoid like that you can send the rust foundation some money and tell them to spend it on the .rust and .ferris gTLDs.
Unlikely, and even more unlikely to not be able to be worked around by a local rust user group.
Like, the .eu restriction to only give out domains to individuals and companies within the EEA is more about having a domestic contact than anything else, EURid doesn’t care who actually uses the domain just that it has European legal representation.
Pre- and post-increment are only really useful when you’re doing C-style looping and there’s a good reason we don’t do that in Rust.
I actually honestly can’t recall ever making an off by one error in Rust, I’m sure when implementing specific data structures or when doing pointer manipulation it’s still a possibility but you can write a gazillion lines of code without ever running risk of that particular annoyance. Also while C folks may have an argument regarding operator semantics, C++ folks don’t they’re doing unspeakable things to <<
.
Also, FWIW Haskell uses ++
to append lists and therefore also strings. It’s not like it’s an odd-ball usage of the symbols, that’d be ..
which I vaguely remember some language using. Would cause a whole new class of confusion regarding 'a'..'z'
vs. "a".."z"
. Not to mention that "aa".."zz"
actually makes sense as a range all that’s missing is &str: Step
. Probably not a good idea to have built-in because do we mean printable ASCII? Whole unicode range? Just the alphabet? Not an issue when you’re doing it to single chars but strings get ambiguous fast. Does Rust even guarantee stuff about Char ordering C certainly doesn’t really do that, short of I think 0..9
being contiguous.
Rust has impl Add<&str> for String and impl AddAssign<&str> for String. Both append as expected.
I wouldn’t go so far and say “as expected”: “Addition” implies that we’re dealing with a ring, that there’s also multiplication, and that really doesn’t make sense for strings (unless you indeed consider them numbers). It’s why Haskell’s Monoid
typeclass comes with the function mappend
, not madd
.
In Rust’s defence though std::ops
traits aren’t meant to carry any semantics they’re about syntax: It’s called Add
because it’s +
, not because it means something. I do think it would’ve been worth it to introduce ++
for general appending (also vectors, sets, maps, etc), though, to keep things clean. Also ++=
for the mutating case.
Saint Helena is in no way comparable because it’s not disputed territory. Back when Mauritius became independent the British carved out some islands for their continued colonial use, breaking (back then brand new) international law.
Saint Helena has no such connection to another country and it was uninhabited before the Dutch settled. The Brits later conquered it but even if the Dutch want it back it’d keep its autonomous territory status and therefore its own TLD, the Dutch have plenty of those.
Serbia isn’t going to vanish any time soon.
The string “AAAAA” cannot be said to be greater or less than “AAAAB”, besides the very special case when we order it.
I hate it to break it to you but it’s the same with numbers.
That makes complete sense. Ranges implement fmt::Debug
, ..
is a range, in particular the full range (all values) ..=
isn’t because the upper bound is missing but ..=..
ranges from the beginning to the… full range. Which doesn’t make sense semantically but you can debug print it so add a couple more nested calls and you get a punch card.
I totally didn’t need the Rust playground to figure that out.
EDIT: Oh, glossed over that: ..
is only the full range if standing alone, it’s also an infix operator which is why you can add as many as you want (be careful with whitespace, though). .. .. .. .. .. .. .. .. .. ..
is a valid Rust expression.
Named function arguments would occasionally be nice to have instead of the single n-tuple they take now. Currently I’m more or less playing a game of "can I name my local variables such that rust-analyzer won’t display the argument name when I stick them into functions (because they’re called the same)).
Enum constructors are functions, this typechecks:
fn foo<T>() {
let f: fn(T) -> Option<T> = Some;
}
I was a bit apprehensive because rust has like a gazillion different function types but here it seems to work like just any other language with a HM type system.
I’m not too familiar with the specific legal status of the OSCE in American law, I bet there’s a treaty or the other, but generally speaking a) you’re a member and b) you regularly send out your own people as OSCE mission members into other countries to observe elections and c) Every member state gets observed (alongside non-member countries inviting the OSCE because it’s a stamp of approval and can help stabilise democracies, establish trust in the procedures). Cursory observations are done for basically all elections that aren’t strictly regional, more in-depth ones every couple of elections. It’s democracies holding each other accountable.
If Bumfuck, TX, wants to make a statement against Canadians observing their elections that’s their god-damned right but it’s also the duty of Washington to shut them the fuck up. Not too filled-in on the details either but when you start arresting people with diplomatic passports accredited by the federal level I think you should maybe take a step back and make a phone call before deploying handcuffs.
You don’t need an ID in Germany to vote just, push comes to shove, a way to make your identity believable. Expired ID, student ID, personalised public transport ticket, perfectly sufficient. Generally you just vote with your election notification, a sheet of paper with your address, ballot location, and number in the voter registry on it. If you try to vote with an ID but without notification workers are going to roll their eyes because they’ll have to manually search for you in their lists, heck, you might’ve turned up at the wrong location.
I don’t need my ID to vote, also it’s valid for 10 years. Municipalities fill the voting registry from their citizens’ registry, then send out notifications to everyone. You literally cannot miss an election. You generally go voting with that notification, it’s sufficient, or use it to request a mail-in ballot.
I’m sure administration is sufficiently different in the US than it is in Germany for the thing to not be able to work like that, but, big picture: The IRS can find everyone. Have them fill the registry, then.
Nope. Usenet has been dead and conquered ages ago, others are up and on the rise (hey you’re posting on one) but mass adoption doesn’t seem to be anywhere on the horizon. Yes, the internet has changed after the Eternal September, the normies brought their economical system with them.
What I wonder, though, is what that has to do specifically with underpaid Kenyan data sorters or are you colonising their struggle with ours?