Comment by meerita

20 hours ago

Good news they adopted Rust as Tier-1 language. I hope their Weather app stop consuming more than 1GB RAM https://www.notebookcheck.net/Windows-11-s-built-in-Weather-...

I feel like the weather app makes a lot of sense from a corporate politics point of view.

A 1mb weather app would have a significantly less impressive pie chart associated with it come "here are our improvements" presentation.

Also if times get tough and you're told to reduce headcount by 10%, who do you want to get rid of. Sally who knows the USB driver end to end or Todd who wrote the bloated 1gb weather app. (Don't feel bad for Todd, he knew what he was getting himself into.)

  • Also, showing the weather is a great excuse to ask permissions for the user location.

    • I've been doing forest service stuff for a year with almost no signal and often no gps without antenna and it's incredible what asks for location permission to run. My amazon bought LEDs (15+, 3-5 diff types) all check location before I can connect them. I wind up waiting 30 seconds sometimes more to turn lights on. My generator and inverter have to phone home so that lags constantly.

      Also I've been shadowbanned from a bunch of social media sites and had problems with payment systems, etc because Starlink confuses companies tracking user locations to geoips etc.

      Won't even get into the apps that look downloaded and usable until you open them with no signal and they don't work before phoning home.

      I've been meaning to go through ALL my apps and delete everything I don't use, I haven't installed a new app in years.

      Then you have MacOS now that has the most "wtf" level permission prompts that make you think everything is phoning home or trying to access stuff on your network when it's just connecting bluetooth devices or something daily. I don't know how many games I've installed that now show up as having full screen or keyboard control permissions just to use input devices. I work on this stuff and can deduce what it's doing, especially after googling it, but "Stupidgame needs control of your system" is wild to someone who doesn't, I'm sure.

      I've been wondering if it's almost nefarious that they want to get people used to allowing these seemingly system wide controls to be given to.. everything, by hiding the security-ok things behind a giant red flag warning.

      Sorry went on a tangent. I miss specific permissions notifications I can trust.

      edit: Oh, my "fix" for most of this is fakegps and mocking my android systemwide gps location to whatever, if you go through this.

      8 replies →

    • Unrelatedly, I'm still trying to figure out why Apple requires me to unlock my phone to look at the weather. Is there some concern that someone could pick up my phone and learn what city it is in?

      14 replies →

  • Did Todd just know or did his PO tell him to add telemetry tool number 24 while he was protesting and begged to be allowed to migrate to a newer rendering library but got shot down promptly because "KPI line must go up"? :)

    • Todd was a script kiddie and never really knew what he was doing. He changed careers after the layoff and is now an owner of an electrical contracting business.

      1 reply →

  • Based on windows bloat Sally got fired because she was an old timer and cost to much so all the Sally's are gone and they're all Todd's now and windows is an unstable bloated mess.

  • The corporate dilemma between "I hired some less competent engineers and they're dragging the team down" and "I hired only highly capable engineers and now I have to give 10% of them bad reviews in stack ranking and later let them go"

    • I don't think this is a real dilemma - people hell bent on avoiding work can get by without shipping a single line of code for years.

  • Not to mention, they have 1 GB of headroom in their back pocket if/when they need to make Windows more efficient. Quick rewrite of that app or just scrap it and they've saved months of optimization.

  • I think it's less about pie charts and more that weather apps can be very eyecandy-heavy. This sort of marketing works well for both consumers and board members.

  • Sally, obviously. Todd is much more likely to have a perfect haircut and immaculate fluency in corpotalk

  • In this day and age, both Sally and Todd are expendable. Both have been silently training their replacement by feeding the data models.

    Replaced by LLM and an offshore contractor. CaPiTaLiSm, right?

    • The list of professions made obsolete is very long. Why should programming be protected if AI in the future can make software better, safer, and cheaper?

Calling the Weather app an 'app' is doing all the Win32, WPF, WinForms and WinUI developers a huge disservice.

It is essentially an entire Chromium instance around msn.com/weather.

That's less because of what it's implemented in - and more to do with all the tracking and libraries they want to reuse...

BigCo apps will take up lots of space and memory for BigCo reasons - obviously less if it's in Rust vs Go vs Python, but you could easily write Go apps that use far less memory than Rust apps written at BigCo due to BigCo reasons.

It's just not really that much of a priority for them to have their weather app use less than 1GB of memory. It's a far bigger priority for someone to insist that somebody else uses some bloated framework so they can get promoted.

  • I've been having _a lot of fun_ writing Go apps that don't allocate anything and that use small, preallocated buffers to stream through requests/etc. Basically TigerStyle for Go. I don't use arenas, I just size everything for the worst case (or make the sizes configurable at startup) and still end up using much less memory.

    This is really only possible because I told Fable to build the underlying allocation-free HTTP, JSON, etc libraries and consequently I'm not building anything serious yet (although the libraries are well-tested using pre-existing corpuses from reputable projects e.g. curl as well as fuzz tested).

    Most "outputs" are passed as out parameters for the function to fill in, and results are Rust-like enums (a Go tagged union containing only small data). I could also have returned (T, error) but I would have to take care that the thing I pushed into the error argument doesn't allocate--not sure if I made the right decision or not, but for now it feels nice. The worst part is that I don't really have a good way to communicate detailed error information, but that hasn't bitten me yet.

    This has also been a lot less effort than writing Rust, although Rust would have real checks for lifetimes and im/mutable and enum exhaustiveness and so on--so far I haven't been bitten, and I suspect things like enum exhaustiveness can be addressed via linter if necessary.

    • > This has also been a lot less effort than writing Rust

      I have never written such Go, but as an experienced Rust programmer I can tell you Rust is not hard to write after learning it. Learning it can take more time than usual (although there is also contrary evidence, e.g. from Google) but after you're used to it, you're basically as proficient as in other languages, except some glitches (that can be expensive - rewriting your main structure, but are fortunately rare). Considering the effort involved in coding in such unnatural Go variant, I tend to believe it is far easier to code in Rust (including coding in Rust using this style, since it is more suited to it).

      Of course, if you're just vibe coding everything, maybe it is easier because maybe the LLMs write such Go better that they write Rust. But if you're not, even if you're only reviewing the code, I believe it's easier to review Rust code than to review such Go code (and potentially than reviewing any Go code, but that is a different matter).

      1 reply →

    • Have you considered doing this in OCaml?

      You'd get most of the benefits of Go and Rust.

Whether vibecoded Rust will be better than whatever they are doing now remains to be seen.

  • The question in terms of memory is, will vibe coded rust get around ownership issues by .clone()-ing everything.

    Maybe this has changed since I wrote Rust, but that was a classic beginner fix. Just throw memory at it.

    • The question to me in terms of memory is, if you're writing a weather app on windows why are you not using C#.

      The point of these low/zero overhead languages like Rust is you're in an environment where memory management is ultra critical. The dotnet garbage collector does more than a good enough job for a weather app, likely a much better one than vibe coded .clone() Rust

      Instead of oscillating between Rust and 1 GB webview apps just ... use the excellent managed language that exists on the operating system appropriate for GUI applications?

      2 replies →

  • If it's vibecoded, who GAF what language is used?

    This argument applies regardless of how you feel about vibecoding. Lately people have been asking for x64 machine language and getting reasonable results.

It won't, that 1GB+ belongs to Microsoft's advertisers and their many video ads

  • Reminds me of how they allow OEMs to install bloatware through Windows update now. I believe LG did something that leads to various app installs when you connect their monitors via HDMI.

are they launching for the graphics in the background the whole MS Office and PowerPoint?

If they can't do it with infinity budget and infinity AI, they're not going to be able to do it with that plus Rust.

Hilarious that the article is like "Apple's weather app is only 200MB!"

The day that OS vendors started abandoning native apps was a hilarious day.