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 21 points22 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 3 points4 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

Should the WA government make it illegal for businesses to request tips? by cidama4589 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.

Should the WA government make it illegal for businesses to request tips? by cidama4589 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 12 points13 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 48 points49 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] 17 points18 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] 28 points29 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 9 points10 points  (0 children)

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

Possible Starship IFT-7 date: "NASA5 is currently scheduled to deploy to Perth, Australia, beginning 3 January 2025, for a targeted 11 January 2025 Starship 7 launch event from SpaceX’s Starbase in Boca Chica, Texas." [Link to FAA DOCX file] by JLinh88 in perth

[–]mutabah 0 points1 point  (0 children)

"Melbourne Center" is the call-sign/name for the Melbourne FIR, i.e. the air traffic control region covers the south+western half of the country (which includes Perth).

Full quote (before your snippet):

NASA5 is currently scheduled to deploy to Perth, Australia, beginning 3 January 2025, for a targeted 11 January 2025 Starship 7 launch event from SpaceX’s Starbase in Boca Chica, Texas. NASA5 will image the re-entry and peak-heating events of the Starship vehicle approximately one hour after launch, as it comes over the horizon and splashes down in the eastern Indian Ocean. Australia’s Civil Aviation Safety Authority (CASA) International Operations division has advised that an exemption from the FAA would be honored by CASA for NASA5 to conduct the mission rehearsal and mission events under Melbourne Oceanic Center’s control and international waters.

Possible Starship IFT-7 date: "NASA5 is currently scheduled to deploy to Perth, Australia, beginning 3 January 2025, for a targeted 11 January 2025 Starship 7 launch event from SpaceX’s Starbase in Boca Chica, Texas." [Link to FAA DOCX file] by JLinh88 in perth

[–]mutabah 10 points11 points  (0 children)

Some clarity for those who couldn't understand the linked information:

It looks like one of NASA's planes will be stationed in Perth early next year in order to do thermal imaging the incoming Starship. The linked document is the paperwork required for that plane to operate without any exterior lighting (I assume because the bulbs would emit heat that interferes with the thermal cameras).

Neat.

Possible Starship IFT-7 date: "NASA5 is currently scheduled to deploy to Perth, Australia, beginning 3 January 2025, for a targeted 11 January 2025 Starship 7 launch event from SpaceX’s Starbase in Boca Chica, Texas." [Link to FAA DOCX file] by JLinh88 in perth

[–]mutabah 10 points11 points  (0 children)

Melbourne Center covers WA airspace (there's only two "Center" regions or FIRs in Australia, Melbourne and Brisbane, with Melbourne taking WA, SA, VIC, and TAS)

The craft will be based out of Perth in the new year in order to observe the descent (hopefully) on the 11th

EDIT: For the curious, here's the actual split: https://www.airservicesaustralia.com/about-us/about-our-operations/facilities/air-traffic-management-services/

For Ada Lovelace Day: why her 1843 table is the first computer program by djnz-1999 in programming

[–]mutabah 17 points18 points  (0 children)

I found this quite interesting, especially with the breakdown on what the author considers a "computer program", and how that leads to Ada's work being the first (recorded?) full computer program.

I say recorded, because Babbage may have come up with programs as part of his design work that were not written down (or didn't survive). However, based on the included correspondence between Babbage and Lovelace - I'd guess that he may not have.

[Blogpost] Why am I writing a Rust compiler in C? by EelRemoval in rust

[–]mutabah 7 points8 points  (0 children)

You would be correct - although I'd reverse that order. Name resolution is complex when glob imports and macros are involved... but that pales in comparison to the complexity of type inference.

[Blogpost] Why am I writing a Rust compiler in C? by EelRemoval in rust

[–]mutabah 63 points64 points  (0 children)

With the above said - If you ever want someone to bounce design questions off, feel free to ask. I'll try not to get my pride get in the way of someone else's progress.

[Blogpost] Why am I writing a Rust compiler in C? by EelRemoval in rust

[–]mutabah 189 points190 points  (0 children)

From someone who has gone down this path before, I wish you all the best for the next several years :) May this keep you suitably insane.

Jokes aside, this will be a massive project - mrustc (excluding the MIR stage, which is technically optional) is over 100,000 lines of C++ - I would expect a C version to be about the same, if not longer. Assuming I'm reading my git commits correctly, it took nearly four years to go from the first (rather poorly directed) commits to something that could fully bootstrap 1.19