Büchse web engine » Forums » Discussion
Stas.L
Stas Lisetsky
29 posts / 2 projects

Ex-php dev. Working on a 2d graphics editor

#21484 Discussion
1 month ago Edited by Stas Lisetsky on Aug. 20, 2019, 8:44 p.m. Reason: Initial post

Hello and welcome!

This is the main discussion thread for Büchse. Please post your questions and suggestions here.

This project was initially planned for personal use, but I changed my mind and now it's open source!
The 0.1 release is still in the making. It was planned for Aug 1, but I had to take some contract work, and haven't made any progress this month. I do plan to resume work early next week and push for early September release.

The repo is available at github.com/staslisetsky/buchse you're welcome to clone it and explore the code. But please hold off the pitchforks and torches, because it's not even alpha technically.

Still, I welcome all suggestions, advice and ideas on how to make the project better.

I'm really excited, and I thank the Handmade Network staff for accepting this project.
I'll see you in September when I officially announce the 0.1 release, that will (hopefully) be actually stable and usable.

Until then, bye-bye and have a good day!

- Stas
mmozeiko
Mārtiņš Možeiko
1971 posts / 1 project
#21485 Discussion
1 month ago

I would strongly suggest to not do "game-loop" for web servers. Do epoll or io completion ports - something that waits on sockets. Don't do polling.
Stas.L
Stas Lisetsky
29 posts / 2 projects

Ex-php dev. Working on a 2d graphics editor

#21486 Discussion
1 month ago Edited by Stas Lisetsky on Aug. 20, 2019, 9:59 p.m.

Yes, it's very tempting to do a game-style loop. I really wanted to keep this thing single-threaded, at least for the time being. And I couldn't use blocking sockets, because I have to do maintenance tasks every now and then. I agree that what I did is a bit lazy, and I will probably change that soon. Thanks!
mmozeiko
Mārtiņš Možeiko
1971 posts / 1 project
#21487 Discussion
1 month ago Edited by Mārtiņš Možeiko on Aug. 20, 2019, 10:19 p.m.

You still can have single thread with blocking or nonblocking APIs. Just don't do polling. Check if something is avialable with timeout. If it is - process it, if not, do your maintenance and then go back to sleep. Adding multithreading can come later. "Good" example for this is node.js - all their event loop for processing sockets and file i/o is single threaded (from libuv) but they still use efficient primitives like epoll and io completion ports.
Stas.L
Stas Lisetsky
29 posts / 2 projects

Ex-php dev. Working on a 2d graphics editor

#21488 Discussion
1 month ago

Thank you, I will look into that! I just was getting annoyed with sockets and wanted the app to work already :)
But I do hope to develop the fcgi libs into something reasonable.
winnythefoo
15 posts
#21515 Discussion
3 weeks, 5 days ago

Love this idea. I've thought about trying it myself, but I don't have the low-level programming experience yet. I saw part of your blog post in the 3rd screenshot but couldn't find the real thing to read more. :)
Stas.L
Stas Lisetsky
29 posts / 2 projects

Ex-php dev. Working on a 2d graphics editor

#21518 Discussion
3 weeks, 5 days ago Edited by Stas Lisetsky on Aug. 26, 2019, 12:27 a.m.

@winnythefoo Oh, it's just a placeholder to test the blog, not an actual post that exists anywhere. But I do eventually plan to do a post series on my UI system. Just have to finish the blog engine first =)