upvote
Some of us still know how to write software like that. And enjoy doing it.

I made a little conference schedule app a few weeks ago for a conference I was at. I used my own rust UI toolkit, which calls in to cocoa to make use of native UI components. The resulting binary is about 500kb and it uses a couple megs of ram while running. It looks and feels like a totally native iOS app. As far as the OS is concerned, it is.

Even 500kb feels too big for what it is. I’m rewriting the core at the moment, and I think it’ll be more efficient as a result. But I’m still pretty happy with it.

reply
AI writes code like that, but people get pretty upset hearing it.

The program that I use to manage my small business, basically a GUI wrapper on an sql DB is a total delight to use, because everything happens instantly. Even opening it is instantaneous.

Modern software is such a bloated mess that you kind of get used to a 20 second start-up and a .25-1 second delay on every action. Then you use something that isn't bloated junk and it feels like actual magic.

reply
What happens if you keep asking AI to rewrite it to use less and less resources?
reply
It’s actually pretty good at this if you have some very specific constraints and objective.
reply
I find I get great results from explicitly asking an LLM to write tests which profile memory and cpu usage. Then ask it to optimise to improve those metrics.
reply
Is your UI kit open source? I do think calling into the native OS toolkits is the way to go, when they exist.

I'm curious if you use winit for windowing, or something lower level that's just mac specific.

reply
I ported the leptos rust web framework to run on native platforms. Currently it works on ios, macos and linux (GTK). Eventually want to also add support for windows and TUI as well. It uses taffy for layout - which gives you the same flexbox and grid layout engines that web browsers use. Components are all fully native for the platform, via their corresponding binding crates (objc, gtk4, etc).

UI library is here: https://github.com/josephg/leptos-native

And here's the schedule viewer app I made with it. It runs silky smooth on device: https://github.com/josephg/dweb-sched

The whole project is currently experimental & vibe coded. It's missing a lot of components, and it has bugs. I'm currently rewriting it by hand to do it properly.

reply
SwiftUI’s diffing is such a mess that I wouldn’t be surprised if fine-grained reactivity of a toolkit binding UIKit like this worked better. Do you have decent support for long lists via UITableView yet? Edit: it seems so!
reply
Yeah! I added it for my ios scheduling app.

I tried to learn SwiftUI a few years ago. XCode was horribly slow, and it would hang and crash all the time, even when working on small example projects. I'm excited by the thought that I can use any rust IDE to write UI code. Rust's compiler, toolchain and IDEs seem way more reliable.

The view! builder macro at the moment is designed to look like JSX, since it was ported directly from leptos. But I'm considering dropping the jsx and using a fluent API. Something like this:

    let count = RwSignal::new(0u32);

    let view = vstack().padding(16.0).gap(12.0)
        .child(label().text(move || format!("Count: {}", count.get())))
        .child(
            hstack().gap(8.0)
                .child(button()
                    .on_click(move |_| count.update(|c| *c = 0))
                    .text("Clear"))
                .child(button()
                    .on_click(move |_| count.update(|c| *c -= 1))
                    .text("-1"))
                .child(button()
                    .on_click(move |_| count.update(|c| *c += 1))
                    .text("+1"))
        );
Code is a bit less readable like this, but autocomplete and cmd+click all works out of the box in your IDE.
reply
Fun fact, one of the XFire cofounders won Carmack's Ferrari at a Quake Tourney:

https://en.wikipedia.org/wiki/Dennis_Fong#/media/File:John_C...

reply
I remember within the last decade noting that minesweeper from the windows store took more space than a pretty damn healthy Win98SE install (with minesweeper)...
reply
I still miss Battlefield 2. There is really nothing like it today, not even close. The dynamics with squads and a commander and A+ physics and overall game balance remain unmatched for all FPS games.

Fortnite, PUBG, COD, all are disgraceful in comparison.

reply
Check out BF2Hub. The community isn't big, but you can generally find a server or three with real players in it (just look for players with a ping; 0 ping means a bot).
reply
BF2 was great, BF3 was definitely better, not that there was anything at fault of BF2.

I disagree with Fortnite and PUBG, whilst PUBG is a little clunky it did usher in a completely new game style AND importantly introduced much better situational audio which other games didn't have.

reply
I miss the squad gameplay of Battlefield 2 too. It hasn't been replicated since, in my opinion, and subsequent Battlefield titles changed the classes and made the available loadout options too flexible to require specialized play.
reply
Before I built a gaming computer circa 2004 I daily drove my family's old beige box that had a 350Mhz Pentium II with 64MB of RAM and Windows 98. I remember running CDex (because ripping CDs was all the rage), Trillian, and ZDaemon all at the same time without a hiccup. What a time to be alive!
reply
I just set up a web server for a hobby project on a $10 Dell PC that has 2GB of RAM welded to the board. After booting Debian 13 it still has 1.6GB of free RAM.

In fact, that seems a lot. Back in ~1996 I was running one of the EFnet servers on a Compaq with 8MB of RAM.

reply
Trillian, good old days. Still remember my icq number
reply
Think about all the performance you could have gained by instead running Trillian and Winamp on an old Thinkpad next to you with even less ram
reply
take me back
reply
Haiku OS is trying.
reply