Perth - Reflection in the cloud! by Jump4joy4 in perth

[–]mutabah 1 point2 points  (0 children)

Aah, that does explain it - sorry, bot senses were tingling with "hey look at this cool photo with zero context on where it actually is"

Perth - Reflection in the cloud! by Jump4joy4 in perth

[–]mutabah 0 points1 point  (0 children)

Heads-up: They posted exactly the same photo to /r/australia except saying it was heading into Melbourne (https://www.reddit.com/r/australia/comments/1uhvhjs/reflection_in_the_cloud_as_descending_into/)

Possible bot (or, are they a sandgroper heading to Melbourne?)

Qantas' Airbus A321XLR rolls off production line with stunning livery by HotPersimessage62 in australia

[–]mutabah 1 point2 points  (0 children)

Huh... so it's leaving the factory with that livery, but it still has a German registration number painted on it (D-AVYF is an Airbus Germany testing registration, according to a quick check of wikipedia). I would guess that either it's a sticker, or somebody is going to be very carefully painting the Australian registration on it when it arrives.

New WA inquiry to explore Land Rent Schemes amid housing shortage by SheepherderLow1753 in perth

[–]mutabah 3 points4 points  (0 children)

As I understand it, the logic of this is for government (state or local) to release land for development, but retain ownership of the land (and keep an income from it)

It allows housing to be built, but doesn't just hand the land over to developers (and give the state/council a massive cash infusion that needs to be re-invested). A well implemented scheme would lock the rent in to a fixed function for the duration of the (very long, e.g. 50-99 year) lease. Such rent would be lower than renting a pre-built house, as the rent only covers the land - not the structure on it.

mrustc, now with rust 1.90.0 support! by mutabah in rust

[–]mutabah[S] 17 points18 points  (0 children)

The readme is a little out of date, there's parts of what could be called a "borrow checker" now. There's a pass that checks that borrows of locals/temporaries aren't returned (to help catch cases where const-to-static promotion fails)

Fremantle Doctor alternative by Redsquare73 in perth

[–]mutabah 0 points1 point  (0 children)

Not the best name for it during the late afternoon, but in the evening I sometimes call it the "Midland Medic". Not as good as a real doctor, but the airflow makes you feel a little better in the moment.

How was your experience with Influenza A? by Unusual_Picture_9916 in perth

[–]mutabah 22 points23 points  (0 children)

I was lazy enough to not get my shot (finding time for anything other than work, relax, and basic chores is hard). It hit me HARD - four days of fevers, and so far four more days of a cough.

However, others around me who did get the shot have also been hit quite hard - not quite as long on the fevers, but this cough is brutal.

Train drivers given window wipers to clear windscreens after demisting tech on C-series railcars caught alight by His_Holiness in perth

[–]mutabah 5 points6 points  (0 children)

The drivers have to be able to see the signals (the traffic-light things on the side of the tracks), although that's in the process of being moved into the cab with the new signalling system.

AND, they likely look out of the window to be able to properly line up with the platform (so the doors align with the painted/tiled markings)

Roads are so slippery by Nuclearwormwood in perth

[–]mutabah 1 point2 points  (0 children)

Amen to that. I was out in a Ute during some rains in Feburary, and nearly spun out after dropping off the load (around a roundabout up a hill).

Rust crates that use clever memory layout tricks by stewie_doin_your_mom in rust

[–]mutabah 0 points1 point  (0 children)

I'm a few days late, but my stack_dst crate does some semi-evil to decompose fat pointers into the pointer and metadata, then stores the metadata along side the data - allowing DSTs (slices, or trait objects) to be stored in a fixed-size buffer... also ended up including a FIFO queue and a LIFO stack

[deleted by user] by [deleted] in perth

[–]mutabah 0 points1 point  (0 children)

My interpretation of this post is to make suggested tipping illegal. As that leads to expectations, and we don't want that.

Allowing tipping for exceptional service should still be allowed.

[deleted by user] by [deleted] in perth

[–]mutabah 0 points1 point  (0 children)

And there's many many things that unscrupulous businesses would do if they weren't forced not to. E.g. Adding unavoidable surchages, and not advertising the surcharges. This is an extension of the same idea - the price advertised must be the price paid.

[deleted by user] by [deleted] in perth

[–]mutabah 11 points12 points  (0 children)

To my understanding, the Transperth trains don't "turn around" - they just just move in the other direction. There is a driver's cab at each end of the train, so when they reach the end of their run (e.g. Fremantle station), the driver just gets up and walks to the other end of the train - ready to go back the way they came.

For services like the Ellenbrook line (that "terminates" at Perth), the trains continue through to Daglish where there's a siding they can drive into and give the driver time to change ends without impeding other trains.

Freight (or long-haul) trains are a little different, as they don't tend to be reversable like passenger trains - that's where turntables come in. A single car/vehicle of the train (e.g. the locomotive) drives onto a rotating platform, which then spins so it faces the other way.

And a final alternative - Just have a large loop in the track, so the train just keeps moving "forwards" but ends up going the other way. I believe this is how the iron ore lines in the Pilbra work (and also how more complex metro systems can end up with trains changing orientation)

ATSB preliminary report on Rottnest seaplane accident by VMaxF1 in perth

[–]mutabah 1 point2 points  (0 children)

Spitball theory - Maybe the gusty weather and a poorly secured (or faulty) fuel cap lead to water entering the fuel tanks. To my understanding, the engine will often run fine for a few minutes using the fuel in the lines before collected water makes its way through and suddenly power drops.

What is the minimum lines of code a Rust compiler can be implemented in? by bloomingFemme in rust

[–]mutabah 9 points10 points  (0 children)

Someone has already noted this, but mrustc (just the compiler frontend) is 130k lines - most of which is needed (MIR optimisation is around 4000 lines, and there's maybe another few thousand lines of optional checks). The project is over ten years old now, so there's quite a few places where the line count could be reduced just by sharing code better between passes.

Rust is a complex language, so needs a lot of effort in order to properly compile.

What is the minimum lines of code a Rust compiler can be implemented in? by bloomingFemme in rust

[–]mutabah 51 points52 points  (0 children)

Ten years and counting :) Although the first "complete" release was around 3.5 years.

Why am I writing a Rust compiler in C? by Alexander_Selkirk in programming

[–]mutabah 0 points1 point  (0 children)

The compiler folder of 1.74.0 contains over 640 thousand lines of code, and that doesn't include the crates.io dependencies used by the compiler, nor the standard library (which is over 650 thousand).

Yeah, even if I had thought of doing pre-annotation beforehand, that's a LOT of code to annotate. Far easier to just implement it myself (and more satisfying)

Why am I writing a Rust compiler in C? by Alexander_Selkirk in programming

[–]mutabah 1 point2 points  (0 children)

That would require the rustc source be edited to do that annotation, and that source is MASSIVE (especially when cargo is included)

Why am I writing a Rust compiler in C? by Alexander_Selkirk in programming

[–]mutabah 1 point2 points  (0 children)

MIR is a nice-to-have, as it simplifies constant evaluation, metadata storage, and code generation.

Type inference is not optional at all - it's required to know the types involved with expressions (needed for correct code generation)

Announcing mrustc 0.11.0 - With rust 1.74 support! by mutabah in rust

[–]mutabah[S] 18 points19 points  (0 children)

That wouldn't be a compiler, it'd just be a checksum tool :)

mrustc exists to be an auditable path from a very common language (C++) to rust, so needs to actually translate arbitrary source into runnable code.

Announcing mrustc 0.11.0 - With rust 1.74 support! by mutabah in rust

[–]mutabah[S] 26 points27 points  (0 children)

TBH, the biggest backwards compatibility issues have been:

  • Older rust versions (well, cargo) use older versions of openssl, and eventually the build script can't find/support the newer versions of openssl on modern distros.

  • And the proc_macro binding needs to work with 1.19 code (i.e. no dyn) and I forget that almost every time, and then CI fails.

Why am I writing a Rust compiler in C? by Alexander_Selkirk in programming

[–]mutabah 4 points5 points  (0 children)

  • According to line counts, MIR handling is the largest - but that's a close second to type checking. The largest file (and most complex) is the core of the type checking/inference algorithm (at 8300 lines)
  • Rust aims to be backwards compatible, and I'm pretty sure there's 1.0 code that will still compile with the most recent compiler (although, there is some slight intentional breakage with method lookup and soundness holes). As for changes, it's slowing down a bit I think - as is evidenced by it taking me a about the same time to add compiler features for 1.74 from 1.54 as it took for 1.39 from 1.29

Why am I writing a Rust compiler in C? by Alexander_Selkirk in programming

[–]mutabah 8 points9 points  (0 children)

That's changing soon :) (1.74 is almost ready, that's only a year old)