GUI Software Speedrun (Clean Slate%) - 1:25 [WR] [SUB 1:30 HYPE!!]

pretty good but room for improvement... suboptimal pixel line work at the end, was getting nervous because I was on such a good run

Show thread

@cancel Did you know that you can control the window further with:

{Create the window}
SetRect(r, 50, 50, 200, 100);
w := NewWindow(nil, r, '', true, plainDBox, WindowPtr(-1), false, 0);

{Make it the current drawing port}

@neauoire yeah :) I might make a non-joke version of this video in the future, which actually stops to explain each step

@cancel I didn't know about frameRoundRect, where did you discover this?

@neauoire won't always exactly match the THINK Pascal interfaces...

@neauoire it's a bit weird. there are other ones you could use instead :)

@cancel really interesting that the way to set icons was already like that a that time

@enricomonese you could do it other ways -- it could be automated by the compiler by setting a file to use as a resource template.

@cancel clearly spliced 😔 i would never had expected this kind of dishonesty from the gui software speedrun community



this makes me sad about modern computing. My girlfriend is learning python right now, and doing really well. But yesterday she mentioned that it's annoying that she doesn't know how to do any UI stuff, and neither how to package her python things into an Application with an icon etc (on OS X)... and I had to basically tell her those probably aren't going to be happening any time soon :(

Learning a Python UI toolkit may be possible, but I wouldn't even know which one. But app distribution on OS X is such a $#@*ing mess, it would require to learn XML for plists, how to navigate confusing Apple online docs, really understanding the command line, the OS X Keychain, the python interpreter...

OTOH here you show a tool that does everything right:
- provides the necessary tools to integrate with the rest of the system (= GUI components)
- IDE helps with beginner mistakes (auto-indent after every changed line? How is this not a feature in ANY IDE today?)
- one-click run and build into something equal to all other apps on the system

@s_ol @cancel yeah. I want to resurrect this kind of thing, working on it.

My theory right now is that what is needed is a language powerful enough to support simple APIs (but not too powerful for most users to learn), and a constant obsession with providing simple, essentially learning-free APIs for things. These things are not naturally occurring. Someone has to sit down and make them occur on purpose.

I think Reason's IDE has the autoindenting btw.

@neauoire @s_ol @cancel it looks pretty normal. What about it excites you.

@neauoire @s_ol @cancel I don't get the feeling there's much about the old systems I can learn from, the part I don't understand is why the whole world has been making OSes that *aren't* like that. What happened. What causes people to *not* do those things.

@neauoire @s_ol @cancel I'm wondering if it's going to turn out to be... 80s ideology started designing for profitability (superficially obvious-seeming but cripplingly shallow UX wins sales, and support contracts) rather than user empowerment, not caring that would lead them into hell along with everyone else. By the 00s users didn't even remember that empowerment was possible.

@faun @s_ol @cancel Part of me think that it must have been partly due to bad agents like you're pointing out, but I've been sifting through magazines of the 80s and 90s a lot lately, and one thing that I saw a lot is commercial products trying to dumb themselves down to make themselves more appealing, and it might have had the nefarious effect that customers trying to correspond.

I've seen countless ads that went like "ASSEMBLY IS TOO HARD FOR THE WORKING MAN, TRY BASIC"

@neauoire @faun @s_ol to be fair, I am also afraid of coding if it first requires updating Visual Studio or libraries or something.

@neauoire @faun @s_ol @cancel

I had to go look at this article because I was so confused. The "no code" is describing the product, not the startup team. This isn't really a 2020 thing – people have always wanted to be able to wire things up by clicking around in an excel-like interface.

@neauoire @faun @s_ol @cancel Jumping to the conclusion that people are afraid to code is disingenuous. Most likely these people have a need, and the best solution for them isn't to spend a lot of time learning to code. If an app that let's them wire together two pieces of software fills their need, that's a good thing.

@stephen @neauoire @faun @s_ol Excel and HyperCard tackle the problem from the perspective of, how can we provide tools for users to solve things within a certain paradigm. HyperCard has a real programming language in it and it features early on in the manual, not as an afterthought or escape hatch. Excel has formula functions and ranges as one of the basic building blocks, and you can also use VBA. They don't hide it.

@stephen @neauoire @faun @s_ol But these "no code" startups are like, "How can we erase or hide programming for the cases where people are using programming" and because that is their angle (instead of problem solving) all of the solutions are like these crummy flow control graph or "list of actions" things

@stephen @neauoire @faun @s_ol Or, restated, their goal is "get rid of programming" instead of "provide a way to solve problems" and therefore their solutions have to be generic doesn't-really-do-much node graph things or action lists.

@cancel @stephen @neauoire @faun
I think part of it is how programming has become harder with the growing (over-)complexity of systems.

It is true that many people's problems do not need to be solved by code, but it is also true that many of the problems that could be solved using code aren't because of accessibility problems.

@s_ol @stephen @neauoire @faun I agree that programming has become overly burdened with bullshit and accumulated ceremony.

But most of these startups in this list are just making it worse, like is some crazy complicated multi-cloud JavaScript layered nightmare.

Show more

@cancel @neauoire @faun @s_ol the "get rid of programming" thing is just marketing, c'mon.

Show more

@neauoire @s_ol @cancel A large part of me wants to blame the customer for consistently refusing to pay for good things, and paying for bad things instead.

I don't know how to argue the misanthropy away. For our sins, facebook will steal the presidency, legislate against AGI governance, and get us all mulched underfoot of the engines of a buggy program, and we are still complacent, we are still doing very little, I don't know how to argue that wouldn't be a kind of justice.

@neauoire @s_ol @cancel It would be justice exactly if and only if we allow it to happen. Will equals Ought. I don't know what color of ideology pill I just took but It Hit

@faun @s_ol @cancel So, yeah, Think Pascal.

You resume computing at a moment in time where things were sane, and you don't consume new technology that accelerate what you just described.

@neauoire Hahah. Why not just make a ThinkPascal-like IDE/shell for a new Nix os distro or something.

Then cloister the main dev team in a monastary far away from the people who think they need to immediately ruin it by hacking in support for Steam and Openoffice and shit.

If we want a game, we can play the games we make for ourselves, write our documents in raw datatypes, target open hardware, it's fast enough

The were some projects in the past about this for Linux.

One replicated every single feature in Visual Basic, but it was not free nor open source. You had to pay.

Another, based on Pascal, had its project leader absolutely refuse to work with a cross platform approach, it remained Linux-only way before Linux got popular. By the time the project got functional, everyone had already moved to the web.

Greed and pride are why we can't have nice things.

@s_ol @cancel

@s_ol @cancel Would be nice to have a simple and intuitive way to make self-contained and GUI application in Python.

@eviloatmeal @s_ol @cancel

She could look into PWA once she learns some framework.

@10X @s_ol @cancel As in progressive web applications? That sounds neither simple nor intuitive, to me. Especially for a beginner.

Also, philosophically, I feel like it kind of goes against the grain in terms of making lean and standalone software to stuff a web page inside a web browser inside an executable just to create simple GUIs. But that's just me.

@eviloatmeal @s_ol @cancel Yes, progressive web apps. It checks all the boxes for the beginners (even an icon on desktop). Also it is a great alternative for so called apps (from Google Play/Apple stores). So yeah, check it.

@10X @eviloatmeal @s_ol can I see your PWA speedrun (in the clean slate% category, if possible)

@s_ol @cancel

> this makes me sad about modern computing. My girlfriend is learning python right now, and… yesterday she mentioned that it's annoying that she doesn't know how to [create a simple GUI app] and I had to basically tell her [that probably won't] be happening any time soon

I wonder if part of the problem here is how much we (including me!) have embraced CLI apps. A "CLI software speedrun" with today's tech would look about like the video posted above (at least for many langs)

@codesections @s_ol

Creating a standalone executable that prints "hello world" to stdout that you can guarantee copying to another Linux AMD64 computer and still work requires a little bit of effort, due to libc. (Unless your stuff is already set up to use musl or something.)

I don't know how you'd do it for scripting languages and have it resemble a speedrun :P

As for GUI on Linux... I think people's expectation that "of course it's arduous and fragile" means it stays that way.

@cancel @s_ol

> Creating a standalone executable that prints "hello world" to stdout that you can guarantee copying to another Linux AMD64 computer

That's fair.

If you're willing to relax *guarantee* to "almost guarantee", I think most languages that produce static binaries would do ok.

If you don't, it'd be a lot harder. But, at least in Rust (my primary language these days), using musl is just a `rustup target add x86_64-unknown-linux-musl` command away – still speedrun-compatible!

@cancel @s_ol

> I don't know how you'd do it [build a CLI app, including all dependencies] for scripting languages and have it resemble a speedrun

Well, if you're willing to assume that the target computer has your language installed, it's easy :D

I know that's a glib answer, but if you're writing perl or python it's not a bad bet.

(and, re: the use case of "having an app that looks just like the ones *really* installed on my OS, well, that doesn't require compatibility elsewhere)

Sign in to participate in the conversation

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.