HackerTrans
TopNewTrendsCommentsPastAskShowJobs

Benjamin_Dobell

4,152 karmajoined 13 anni fa
https://github.com/Benjamin-Dobell/

--

Building something in the education space for kids: https://breaka.club

Also:

Consultant @ Berserk Games - https://tabletopsimulator.com/

--

Formerly:

Head of Engineering @ Ender - https://joinender.com/

Head of Engineering @ Prequel - https://www.joinprequel.com/

CTO @ Kangaroo Interactive

CTO @ Snaploader (acquired by Archistar) - https://www.archistar.ai/

Director @ Glass Echidna - https://glassechidna.com.au/

Submissions

Cal.com is going closed source

cal.com
391 points·by Benjamin_Dobell·3 mesi fa·317 comments

Show HN: Why We're Building Creativity and Game Dev Clubs for Kids

breaka.club
1 points·by Benjamin_Dobell·8 mesi fa·0 comments

Ask HN: How do I report Discord (CDN) distributing malware?

1 points·by Benjamin_Dobell·9 mesi fa·0 comments

comments

Benjamin_Dobell
·3 giorni fa·discuss
They are. There's a LOT of web games on itch.io. It's just the typical challenge with over saturated markets: publicity.
Benjamin_Dobell
·10 giorni fa·discuss
It's a really tricky one, but I think it's the right call for Godot, but probably not for other projects. I'm the current maintainer of GodotJS (TypeScript bindings for Godot). LLMs can generate genuinely useful solutions for Godot e.g. a functional WebGPU implementation for Godot — https://github.com/godotengine/godot-proposals/issues/6646.

However, as a senior engineer with fairly deep technical knowledge in these areas, I'm now using AI in my own projects. Frankly, before even touching Github, I'm already drowning in code reviews generated by my own use of an LLM!

There are meaningful, generally good PRs waiting for my attention against GodotJS, and other projects I (somewhat) maintain e.g. MoonSharp, C# Lua runtime. It was already extremely difficult to stay on top of PR code reviews for reasonably technical projects. When you're already somewhat burnt out from reviewing LLM code all day, it's so much more exhausting than it used to be.
Benjamin_Dobell
·27 giorni fa·discuss
Still plugging away at Breaka Club, where kids take photos of their hand drawn art and build games using it. Starts out as no-code, photograph an AprilTag and it imbues the image with functionality.

https://breaka.club/blog/why-were-building-clubs-for-kids

We also teach kids visual scripting in Overcooked 2!, allowing kids to code their way through the levels of an existing much beloved game:

https://youtu.be/ITWSL5lTLig

I'm running an in school pilot this week (Lunch time school club).

The tech stack for the main product is honestly pretty intense at this point with full multiplayer support, offline play, transitioning from client authoritative to joining a remote server. Built atop GodotJS, TypeScript bindings for Godot, which I maintain. Huge monorepo with over a million lines (yes, I'm aware that's NOT a good thing), and GodotJS itself is not included in that.
Benjamin_Dobell
·mese scorso·discuss
It's really not.

If I'm at the point of contributing a PR to a dependency, I've already identified the root cause in detail. There's no way a change log should be going into that level of detail, or else you're just duplicating the Git log for no reason.

Will the change log make mention of fixing the bug? Perhaps. But I'm going to want to read the technical details of the fix to make sure they've specifically addressed my issue, and not just a similar problem. What is the performance impact of the fix? Are there security implications they've explained in the commit message.

I'm a software engineer, not an end user, I want the technical details of my dependencies.
Benjamin_Dobell
·mese scorso·discuss
How... how is this not obviously the absolute very most useful information?

When I encounter a bug in a dependency of mine. Before I worry about submitting a PR, the very first thing I do is grab my version number and check the commit logs for fixes since my version number.

If I'm trying to decide whether I should bother upgrading, I scan the log for new features.

It's the title, not the details. The commit message body should contain MUCH more detail than the title.

If you don't like it because it looks ugly. Sure, that's subjective. And actually, I agree. Because it's standardized though, Git interfaces could even be configured to trim this off and provide different visual styles for the different kinds of commits. The types could be used as search filters too etc.

Now, I get people don't like the look of them. Neither did I when I first saw them. Then I started using them and found them useful.

It's fine, people have different preferences, it's just a convention and it's not going to work for every project. The article itself just doesn't seem to hold any water.
Benjamin_Dobell
·mese scorso·discuss
My apologies, I missed this on first read due to the indentation style. That said, I don't agree on the commentary.

Why on Earth are people not writing commit messages for their reverts? They should have semantic commit messages just the same as any other commit.

Unless the point is that they're not following per-commit CD, and if you commit then revert that commit before a release was made. That sounds like a process failure. Which of course, process isn't infallible, and neither is the automated version management. If you screw up, use an escape hatch — just like reverting a commit that had previously gone through code review and been merged.

Re: change log generation. The article says change logs shouldn't have commit messages. I agree. Many tools (e.g. Changesets https://github.com/changesets/changesets) use the semantic commit type to sort change log entries, but require you to write those user facing change log entries separately.
Benjamin_Dobell
·mese scorso·discuss
Odd. The main reason to use this style of commit message is for CI/CD automation.

EDIT: I didn't see this covered in the article on my first pass. It is covered though. My apologies.

The type of the commit informs the automated workflows how to handle the commit. This is why it comes first.

For example, if you're performing CD, if you only commit a bunch of `fix: ` then only your semantic versioning patch version number is incremented. If you commit a `feat: ` then it's a minor version is bump. `feat! ` is a major version bump.

Even if you're not using CD for releases, semantic commit messages are sometimes used to automate change log generation. Granted, your change logs should not typically include the Git commit messages themselves — those are developer facing, not user facing.
Benjamin_Dobell
·4 mesi fa·discuss
I'll definitely give you Rosetta, and even more so Rosetta 2. Spotlight too, at least in principle, but it has had its fair share of dodgy behavior over the years. I'm not really sure about the others.

There's certainly always been fantastic software available for Mac. However, it was almost never built by Apple. It sort of felt like someone one day needed a FireWire port, so they bought a Macintosh. Then they must have told a close friend working at Macromedia they needed some software - and it was all just inertia from then on.
Benjamin_Dobell
·4 mesi fa·discuss
Live rankings currently have Mac OS X first... h... how?

Apple make so so much wonderful hardware! They always have. Their software on the other hand is near universally awful. I love my Macbook, but my gosh, I do not love whatever the latest flavour of macOS is that Apple have decided to throw on their update servers this year. It just so happens that I also enjoy Unix, so I spend a lot of my time in a terminal - but Apple don't get to claim credit for that!

EDIT: OK. It just refreshed and is now showing Mac OS X as 36th over all. Crisis of faith averted.
Benjamin_Dobell
·4 mesi fa·discuss
I must admit, this is one area I've found LLMs to be surprisingly strong. They're REALLY good at reverse engineering obscure platforms, languages, game engines; and quickly throwing together super hacky tooling.

I was able to reverse engineer the PS4 edition of "New Game!: The Challenge Stage", which was never released in English. I've now fully translated it, added proper text wrapping and additional text boxes where text would now overflow. Along the way I've fully decompiled (with byte exact recompilation) the Squirrel scripts for the entire game, built atop the game engine of a now largely defunct game studio. Prior to this I hadn't even heard of Squirrel scripting language. I had most of this done in under 24 hours.

I'm not in any way a part of the visual novel community. I just did this because I enjoyed the New Game! anime way more than a near(?) middle aged man probably ought to.

P.S. My condolences to Yorhel's friends and family.
Benjamin_Dobell
·4 mesi fa·discuss
Thanks, Eric; for this, and for my start as a software engineer — my first commercial development work was consulting as an 18 year old building games with C4. I'm really glad Slug was able to find commercial success for you in the way that C4 unfortunately wasn't able to.

For those of you who aren't familiar with Eric's work, he's basically the Fabrice Bellard of computer graphics.
Benjamin_Dobell
·4 mesi fa·discuss
Thanks!

Breaka Club is still very early days. Current focus is in person, but the plan is to offer an online club experience also. I'm not quite sure what that will look like just yet. Ideally yes, I'd love to make this available to others.

We're also currently building Breaka Club's own game, which is where the majority of development efforts are focused. However, since we already have the Overcooked coding experience, we haven't prioritized the visual script layer for this game just yet - it's on our roadmap.

Presently, our game is more of a cozy farming RPG / world building sandbox, with a no-code solution for world building:

https://breaka.club/blog/why-were-building-clubs-for-kids
Benjamin_Dobell
·4 mesi fa·discuss
TC39 decorators emit just landed in tsgo about 24 hours ago. Hopefully they're available in Vite 8 soon. I'm using them in GodotJS https://github.com/godotjs/GodotJS/commit/a4bafef9f14c103b09...
Benjamin_Dobell
·4 mesi fa·discuss
Although this is a facetious take, instructing a robot to follow recipes is a fantastic introduction to coding. I added a visual scripting layer to Overcooked so kids can program robots to make all sorts of dishes (Sushi, Pasta, Cakes etc.)

https://youtu.be/ITWSL5lTLig

This is part of a club to teach kids coding, creativity and digital literacy.
Benjamin_Dobell
·4 mesi fa·discuss
Thanks. Just tuned my daughter's guitar.

Obviously a bit more work. But it'd be pretty neat to have live reactions. "So close!", "Nearly there", "You can do it!", "Perfect" etc.
Benjamin_Dobell
·4 mesi fa·discuss
Continuing to make fantastic progress on Breaka Club, where we teach kids to code, be creative and make games:

https://breaka.club/blog/why-were-building-clubs-for-kids

The recent Netflix Games edition of Overcooked with K-Pop Demon Hunters is cool, but not nearly as cool as kids coding and playing their way through Overcooked levels in our custom educational mod for Overcooked:

https://youtu.be/ITWSL5lTLig

I'm also maintaining GodotJS, strongly typed TypeScript bindings for Godot, which is used to build the Breaka Club RPG (see first link):

https://github.com/godotjs/GodotJS

And last week I also put together the first release of MoonSharp in ~10 years; Lua runtime for Unity. That's not for Breaka Club though, I also consult for Berserk Games on Tabletop Simulator:

https://github.com/moonsharp-devs/moonsharp/releases
Benjamin_Dobell
·4 mesi fa·discuss
Somewhat coincidentally, MoonSharp (the scripting engine Moongate based their Lua runtime on) is alive and kicking again. There hasn't been a release in ~10 years, but I published a beta for v3.0.0 a few days ago.

https://github.com/moonsharp-devs/moonsharp/releases

I'm not the creator of MoonSharp, just a maintainer on Github (who has honestly done very little). However, I consult for Berserk Games, and we have use MoonSharp as the scripting runtime for Tabletop Simulator.
Benjamin_Dobell
·5 mesi fa·discuss
I'm building a modern platform for kids to hand draw their own games: https://breaka.club/blog/why-were-building-clubs-for-kids

Currently supports RPG mechanics, with digital card game support coming soon. Plan is to keep expanding what's offered.

Bits and pieces are already open source with more to come: https://github.com/BreakaClub and https://github.com/godotjs/godotjs/
Benjamin_Dobell
·7 mesi fa·discuss
* Continuing development on Breaka Club (https://breaka.club/blog/why-were-building-clubs-for-kids) — Turning kids from consumers into creators.

* GodotJS — https://github.com/godotjs/GodotJS — TypeScript for Godot

* Consulting for companies using GodotJS (and Unity).
Benjamin_Dobell
·8 mesi fa·discuss
I'm far from an expert in this area. I've also tried Bria RMBG 1.4, Bria RMBG 2.0, older BiRefNet versions, and I think another I forgot the name of. The fact I'm removing backgrounds that are predominantly white (a sheet of paper) in first place probably changes things significantly. So it's hard to extrapolate my results to general background removal.

BiRefNet 2 seems to do a much better job of correctly removing backgrounds in between the contents outline. So like hands on hips, that region that's fully enclosed but you want removed. It's not just that though, some other models will remove this, but they'll be overly aggressive and remove white areas where kids haven't coloured in perfectly — or like the intentionally left blank whites of eyes for example.

I'm putting these images in a game world once they're cut out, so if things are too transparent, they look very odd.