Live data from Hacker News

Handmade: A Community for Self-Rolled Performant Software (2016)

handmade.network

71–80 of 96 posts

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#71
I've been writing C code for more than 30 years, C++ for 27. I've written code at every level of "the stack", from kernels of several nix-related operating systems to application GUIs. I've worked on "plumbing", on libraries, and on applications.

And here's the thing: I understand, at a very very deep level, precisely why my application is slow to start up. I understand it at every level from the semiconductor gates in silicon up to the color specification lists used by the GUI toolkit. But none of that helps me make it as fast as the handmade community thinks things should be.

Why? Because I know that the slow startup is caused by substantial amounts of code that all add useful functionality for at least some of my users. Do I want to get rid of i18n? Shall I skip checking for new versions? How about forcing plugin scans to be initiated by users and never doing them automatically (don't even think of suggesting doing them in another thread, and don't ask me why)? Shall I skip the ability to handle RTL text? Should we drop human readable and editable configuration files in favor of some faster and less resource-eating format? How about a scalable GUI, is that really useful for most? How about a themeable GUI, given that it's not actually that themeable anyway?

And so on and so forth. Each one of the above (and lots more) contributes just a little bit to the slow startup. For most users, all but one of them will likely seem not very important. So which ones do we drop to get back to the sort of startup times that the handmade community seems to expect?

Because let's face it, xterm can put a window on the screen before my finger is off the return key. So why not a DAW (or an IDE or an editor or a vector graphics app or an image editor or a browser or a circuit emulator or whatever your thing is) ? Just which features do you want to cut to accomplish this?

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#72
post #24

Earlier quoted context omitted.

Carpenters still use harvested, dried, milled lumber. Chefs still use harvested, dried, milled flour. Frameworks are tools and building blocks like this, but for software. Not using them is not like an artisan carpenter using lumber from the store. It’s like a carpenter making their own boards, or a chef making her own flour. It is not really relevant to efficient, performant software, it is more like an art for the…

> Frameworks are tools and building blocks Tools, maybe, but I have yet to see anything that calls itself a "framework" (i.e. Spring, Angular, Django, Salesforce) that doesn't a) bloat the hell out of the binary, b) use more memory than it can possibly justify, c) create impossible-to-diagnose problems, d) not actually provide anything except overhead.

The best framework I've used is probably MonoGame. It abstracts away accelerated 2D graphics across multiple platforms, asset loading, and input handling, among a few other things. You write your game not against DirectX, but against the concepts it introduces. Unlike modern ideas of frameworks, it doesn't preach to you that you need to name things certain ways, or impose other slightly-pedantic notions on you.

Instead, it's focused on getting out of your way. Most other frameworks seem to love getting in your way, because they see themselves as so important.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#74
post #19
post #7

The handmade hero community is wonderful. It is a portal to a lot of knowledge transfer. If you're looking to approach C/C++ in a welcoming environment and/or love getting closer to the metal, I highly recommend the community. I also recommend the handmade video series. Casey Muratori has been live streaming himself build the same game for the past few years. He try's to build everything from scratch, which is entert…

There also used to be a meetup in Seattle https://www.handmade-seattle.com/ (which has since moved online due to the pandemic situation) but in the past they had some pretty good presentations and interesting speakers. You can find some videos of them online (Youtube: "HandmadeCon" and "Handmade Seattle") although regrettably there are no recordings of last year's meetup.

I'm in the process of getting a few of them officially up. I had lost contact with the cameraman after COVID, but we're in touch again!

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#75

Earlier quoted context omitted.

It's not only about being fast, it's also about being bug free. You inherit all the bugs of all of your software dependencies... That may be the reason why flagship software products such as Twitter or YouTube constantly have pretty glaring bugs.

Nobody writing in C has "bug free" as their highest priority. Reducing dependencies is good though.

SQLite is written in C.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#76
Hey! I organized this community a few years ago; it's under great leadership. Trivia points:

1. The manifesto author was barely 18 when he wrote this; representative of a new, younger cohort interested in this stuff.

2. Handmade is into low-level understanding, but certainly a few people stick to high-level projects, and simply peek behind the curtain when they need to. Low-level thinking translating into high-level wins.

3. Someone mentioned my conference, Handmade Seattle [0]. This is part of an effort to expand into the mainstream, and to inspire the next generation of compiler writers, kernel developers, game engine programmers etc.

We're not saying everyone has to be into this. We want to carve out our place, let those who care flourish, and not be caricatured for "reinventing the wheel."

[0] https://www.handmade-seattle.com

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#77
post #19

Earlier quoted context omitted.

There also used to be a meetup in Seattle https://www.handmade-seattle.com/ (which has since moved online due to the pandemic situation) but in the past they had some pretty good presentations and interesting speakers. You can find some videos of them online (Youtube: "HandmadeCon" and "Handmade Seattle") although regrettably there are no recordings of last year's meetup.

I'm in the process of getting a few of them officially up. I had lost contact with the cameraman after COVID, but we're in touch again!

That is great to hear Abner, thank you very much for all your efforts! Because I couldn't make it to Seattle last year, I missed the entire thing, it would be awesome to see some of the presentations.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#78

Earlier quoted context omitted.

> If you go the handcrafted, lightweight and fast route, you're sacrificing a lot of features, possibly without even being aware of what you lose until it's too late. And, just to amplify the point about accessibility, you may be blocking some people from using your app. So it's not entirely about what you lose. That's not so bad if you're developing a game. But the projects on this site include a programmer's editor…

Handmade GUIs, frameworks drawing on canvas instead of using DOM, and abominations like VNC over web instead of normal desktop apps seem to be the new accessibility plague. We're pretty much done with Flash and Java on the desktop, QT isn't that bad any more, accessibility-wise, but this kind of stuff is now becoming more and more popular. I've heard of systems that promise you better utilization of your licensing re…

Pretty sure OP’s article is advocating completely removing that whole massive stack of trash of web tech and instead use technology designed for the particular computer they are running on.

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#79

Earlier quoted context omitted.

Handmade GUIs, frameworks drawing on canvas instead of using DOM, and abominations like VNC over web instead of normal desktop apps seem to be the new accessibility plague. We're pretty much done with Flash and Java on the desktop, QT isn't that bad any more, accessibility-wise, but this kind of stuff is now becoming more and more popular. I've heard of systems that promise you better utilization of your licensing re…

Not everything needs to prioritize accessibility. This page is mostly tools for video games which typically have no accessibility. I think you may be bringing a pet concern into an area that isn't relevant.

[deleted]

Re: Handmade: A Community for Self-Rolled Performant Software (2016)

#80

Earlier quoted context omitted.

Not everything needs to prioritize accessibility. This page is mostly tools for video games which typically have no accessibility. I think you may be bringing a pet concern into an area that isn't relevant.

What we, or at least I, want to ensure is that developers outside of the gaming context don't get too fired up by this manifesto, develop non-game-related tools in that spirit, and thereby block someone from doing their job because the tool is inaccessible.

Not everything is going to work for everyone from the very start. You don't need to stomp on every piece of software because it doesn't have niche features that you care about intensely. Pick your battles, each of these programs were created by a single person and are open source. They aren't government websites, they aren't even the only way do the things they do.
Post reply on HN