Thanks for the shout-out.
HN user
apexedison
The username is randomly generated.
Thanks for asking I could give a better explanation. We mean the participant ships a project (like shipping code) and we physically ship them materials (like a drawing machine in the mail).
I really like Bart Dring's work but haven't seen this one before. Thanks for sharing!
That's correct! The machine is in exchange for sharing your art program.
Blot is completely open source (hardware and software). You can find the GitHub here: https://github.com/hackclub/blot
I spent the last year building Blot with teenagers in the Hack Club community including but not limited to B (age 19), Henry (15), Kai (17), Shawn (18), Hugo (15), Ella (19) and Bright (15).
At Hack Club we’re working on building a new model for public education through open source projects. We believe people learn best by building things they care about and sharing those things with others. We want to support motivated teenagers around the world to pursue technology this way. That’s why we created the “You Ship, We Ship” model. We build online creative coding environments that are gateways to other subjects in technology. When teenagers create projects with our tools and share them publicly we send them more creative material. At the end of 2022 we released our first “You Ship, We Ship” project: Sprig.
Sprig is a microworld for making tile games, when you share your game we send you the hardware to build a handheld gaming console that can play that game. https://github.com/hackclub/sprig
Today we are releasing our newest “You Ship, We Ship”: Blot. Create a program that generates line art and we’ll send you a robot that can draw that art in real life. We hope Blot will encourage people to explore the beauty of programming and be a gateway to digital fabrication. Nothing feels more magic to me than writing an incantation on a computer that can materialize into a real thing that you can hold in your hands. I hope to share that magic with you through Blot.
Everything is free and open source so anyone is welcome to use the editor, submit to the gallery, or build a Blot machine. You have to be a teenager for us to send you a machine for free though.
I’m excited to see what people make! Enjoy.
If you want to learn more about Hack Club you can check out this short documentary we made about our 2023 summer hackathon: https://www.youtube.com/watch?v=O1s5HqSqKi0
We built an editor for making simple (but complete and fun) games to help young folks (or anyone) learn to code.
It's at sprig.hackclub.com
If your son shares the game publicly as a PR we'll send him materials to build a console that can play it. We've had hundreds of kids around the world share games you can check out in the gallery.
I've built a number of bidirectional editors, often with CodeMirror.
You could check out my bidirectional circuit design tool:
https://github.com/leomcelroy/svg-pcb
Paper on it here:
https://dl.acm.org/doi/abs/10.1145/3559400.3562004
Feel free to reach out if you have questions.
It's not, we'll do our best to ship everywhere we can.
Many people who in retrospect are truly innovative almost definitionally spend their time doing things other people don't regard as valuable (at first at least). As an extreme example of someone who prioritized a life of play look at Claude Shannon. He literally had a shop for building toys at home. I'm grateful he wasn't overly attracted to what others regarded as impactful at the time. That being said I still don't think it's important whether one's play becomes valued. I suspect in the long run we're all better off having people in the world who are passionate about what they are doing.
As others pointed out when fully assembled most of the board is covered (but visible). We designed the board to function like a devkit for the pico as well so unused pins are broken out on pads.
Amazing! Your son has been such a valuable contributor. I also love the games he made.
Give it a try! I'd love to see the game you make.
Thanks! I've been really strongly influenced by great constructionists like Brian Silverman (who worked on Scratch and early Lego Mindstorms). He also helped consult on Sprig actually. We wanted to have a nice composable construct kit of ideas which would make getting started easy but which would still be fun for experts.
I've been really impressed with how well people can build out really engaging games with simple graphics but interesting game mechanics. The community already has pushed it beyond what we originally expected when designing the engine.
We chose the aesthetic of the bare PCB to help demystify the technology. The console is also designed to be repurposed as a hardware devkit (there are breakout pads and what not).
This is an interesting point. One of the major things we're trying to demonstrate with Hack Club is we box people in too much based on their age. Especially young people who generally have a well defined set of activities laid out for them before they can start practicing some autonomy (largely from the way schooling works). The hope is that open-source projects like this can show people that there are some accessible routes and supportive communities to help them pursue their passions. Personally I hope the work serves more than just teenagers, but working out the details of serving young people well means as an organization we have to focus on it.
More directly responding to your point Ivan Illich has some interesting commentary on the modern invention of childhood in Deschooling Society.
If you want to check out some of the games people have made you can find them here: https://sprig.hackclub.com/gallery
I think it's a well executed project and the UI design on the editor is nicely done. We focused a lot on the API of our game engine and honed in on having a small construction kit for Sprig which seems to help people become productive. The aim is to communicate a specific mental model for Sprig games through the engine's capabilities (tile-based focused on puzzles and level design, though people have managed to do all sorts of things).
Thank you! I found the other fantasy consoles quite inspiring, PuzzleScript too.
There are some backing covers which are laser cut. It's possible to swap with a 3D printed cover and use the same mounting holes.
We debated running JS (Kaluma) or micropython on the Pico. We started with Kaluma because the editor is in the browser. After we got some game submissions though we realized we'd have to do our own wrapper around Jerryscript for performance reasons which is what the console ships with.
Haha thanks. Hack Club certainly has adults involved (like myself) but we structure projects so teens can be core contributors (the rest of the core engineering staff on Sprig are all less than 20 years old and I'd say 95% of the games in the library are from teenagers).
As for Sprig itself the only part that is limited to teens is that we give the console away for free to teenagers who submit games to the gallery. Otherwise anyone can make games and submit them.
The idea is to help people learn programming by making it easier for them to think of and execute projects which they share with others. In this case those projects are the making of the console/engine itself and for a much wider group of people the contribution of games to the game library. Thanks for contributing to both!
We decided to make the physical console because it was a cool thing to do and would help motivate people to follow through with projects and make games.
I created Kupla about a year ago when the pandemic started and have regularly used it with friends and family. It was meant to capture some aspects of socializing in real life which "Brady Bunch" video platforms obviously lost. Specifically I observed that most real world group socializing is not one big group conversation but many few-to-few conversations that can fluidly branch and merge. We've enjoyed it a lot, so I wanted to share it, so others can enjoy too.
If by faster you mean faster than React I think there is evidence it can be. The author of the issue writes lots of dom utility and rendering libraries and I believe domdiff is more or less what he describes in the post:
https://github.com/WebReflection/domdiff
You can find it placed way above React in the usual JS rendering benchmarks:
https://rawgit.com/krausest/js-framework-benchmark/master/we...
Now it's not entirely clear whether these benchmarks convey something meaningful except for maybe the point that most frameworks are quite fast. That being said I think it's developer experience that really stands to improve. Thinking of view as a pure function of state was a great innovation, but existing implementations can end up fracturing the view into virtual doms and non-virtual. Then you end up with problems like D3 and React not coexisting.
I feel like I heard something from the lit-html folks that a long term aspiration was to integrate some learnings from the project into chrome, but I haven't been able to find where again.
There has been a trend in JS with libraries becoming idiomatic to the language to later have the issues they targeted be addressed natively (a la JQuery).
In general, I definitely appreciate your point about adding complexity to the platform, but I think when it comes to web technologies that ship has long sailed. I really see it as an opportunity to bring a lot of simplicity, chiefly filling that void that's birthed a billion JS frameworks.
Thanks for the thoughtful comment.
Thank you! It's amazing how much of a difference that simple ui mechanic makes. Also, glad to hear that it imports well for you. Inkscape is a very common target for laser cutting, so I've had the chance to test it out a bunch.
A related proposal can also be found here: https://github.com/whatwg/dom/issues/270
I'm curious why this hasn't made it to the browser yet and doesn't seem to be explored very seriously. So many web-frameworks revolve around trying to address this issue, why not get rid of the overhead or at least reduce it?
Hi everyone! Gram creator here.
I developed this after visiting makerspaces around the world and finding that parametric design was too inaccessible. I also wanted to provide people with a tool to learn about powerful ideas in programming while making stuff.
It draws lots of inspiration from the Logo language and I received a lot of feedback from some of Logo's creators. While drawing inspiration from Logo, Gram is actually quite different with tools like layers and lots of built-in functions for making things which can be fabricated.