frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Qwen3-Next

https://qwen.ai/blog?id=4074cca80393150c248e508aa62983f9cb7d27cd&from=research.latest-advancement...
243•tosh•5h ago•75 comments

Astrophysics Source Code Library

http://ascl.net/
15•SiempreViernes•1h ago•0 comments

Becoming the person who does the thing

https://www.fredrivett.com/2025/09/10/becoming-the-person-who-does-the-thing/
23•fredrivett•1h ago•4 comments

Examples from The LaTeX Companion book (3rd edition)

https://ctan.org/pkg/tlc3-examples
28•teleforce•3h ago•5 comments

Why our website looks like an operating system

https://posthog.com/blog/why-os
432•bnc319•12h ago•305 comments

Show HN: I made a generative online drum machine with ClojureScript

https://dopeloop.ai/beat-maker/
32•chr15m•3h ago•10 comments

Float Exposed

https://float.exposed/
257•SomaticPirate•11h ago•65 comments

Classic GTK1 GUI Library

https://gitlab.com/robinrowe/gtk1
45•MaximilianEmel•3d ago•11 comments

Debian 13, Postgres, and the US time zones

https://rachelbythebay.com/w/2025/09/11/debtz/
151•move-on-by•9h ago•63 comments

Top model scores may be skewed by Git history leaks in SWE-bench

https://github.com/SWE-bench/SWE-bench/issues/465
413•mustaphah•17h ago•127 comments

Using Emacs Org-Mode With Databases: A getting-started guide

https://gitlab.com/ryanprior/emacs-org-data-starter
57•adityaathalye•3d ago•6 comments

Introduction to Nyquist and Lisp Programming

https://manual.audacityteam.org/man/introduction_to_nyquist_and_lisp_programming.html
13•swatson741•3d ago•0 comments

Claude’s memory architecture is the opposite of ChatGPT’s

https://www.shloked.com/writing/claude-memory
374•shloked•17h ago•197 comments

Logging in Go with Slog: A Practitioner's Guide

https://www.dash0.com/guides/logging-in-go-with-slog
28•ayoisaiah•3d ago•16 comments

Doorbell prankster that tormented residents of apartments turns out to be a slug

https://www.theguardian.com/world/2025/sep/08/doorbell-prankster-that-tormented-residents-of-germ...
206•robin_reala•3d ago•103 comments

AirPods live translation blocked for EU users with EU Apple accounts

https://www.macrumors.com/2025/09/11/airpods-live-translation-eu-restricted/
371•thm•1d ago•428 comments

XFN – XHTML Friends Network (2003)

https://gmpg.org/xfn/
42•thinkingemote•4d ago•10 comments

Crossing the Atlantic Ocean. Alone. By Stand-Up-Paddleboard

https://zeroemissions.eu/en/ocean-crossing-eng
4•gnabgib•3d ago•3 comments

Building my childhood dream PC

https://fabiensanglard.net/2168/
159•joexbayer•4d ago•55 comments

Behind the scenes of Bun Install

https://bun.com/blog/behind-the-scenes-of-bun-install
394•Bogdanp•23h ago•131 comments

Samsung taking market share from Apple in U.S. as foldable phones gain momentum

https://www.cnbc.com/2025/08/16/samsungs-us-market-share-apple-rivalry-foldable-phones.html
241•mgh2•1d ago•272 comments

Toddlerbot: Open-Source Humanoid Robot

https://toddlerbot.github.io/
80•base698•12h ago•17 comments

Bulletproof host Stark Industries evades EU sanctions

https://krebsonsecurity.com/2025/09/bulletproof-host-stark-industries-evades-eu-sanctions/
192•todsacerdoti•18h ago•72 comments

Rails on SQLite: new ways to cause outages

https://andre.arko.net/2025/09/11/rails-on-sqlite-exciting-new-ways-to-cause-outages/
162•ingve•17h ago•49 comments

Show HN: C++ Compiler Support Page

https://cppstat.dev
51•cemdervis•4d ago•15 comments

Gene-edited pancreatic cells transplanted into a patient with type 1 diabetes

https://www.wired.com/story/no-more-injections-crispr-offers-new-hope-for-treating-diabetes/
228•manveerc•22h ago•58 comments

From burner phones to decks of cards: NYC teens adjusting to the smartphone ban

https://gothamist.com/news/from-burner-phones-to-decks-of-cards-nyc-teens-are-adjusting-to-the-sm...
250•geox•22h ago•188 comments

Full Moon: Seestar S50 vs. Samsung S25

https://www.4rknova.com//blog/2025/09/08/moon-photos
36•ibobev•3d ago•28 comments

The challenge of maintaining curl

https://lwn.net/Articles/1034966/
156•signa11•10h ago•43 comments

Danish supermarket chain is setting up "Emergency Stores"

https://swiss.social/@swaldorff/115186445638788782
295•sohkamyung•13h ago•290 comments
Open in hackernews

Show HN: I made a generative online drum machine with ClojureScript

https://dopeloop.ai/beat-maker/
32•chr15m•3h ago
After two years of development, I'm super excited to release Beat Maker! This is my take on what I hope is the best free, web-based drum machine.

My goal was to build something that was not only fun and easy to use for beginners but also powerful enough for serious producers. I did extensive research on existing drum machines, analyzed their UX, and tried to build something that adds something new.

It's a nearly 100% client-side app, written in ClojureScript, and is a PWA so you can install it to your home screen for an app-like experience.

Besides the standard grid editor, Beat Maker has some unique features that I think HN readers might find interesting:

- Procedural sample generation. One annoying thing about writing beats is searching through folders full of samples. I wanted to improve this and so I added the ability to generate new samples with a single click, giving you an infinite supply of unique drum samples. * Generative beat creation. If you're looking for inspiration, Beat Maker can generate entire patterns for you as a starting point. You can then edit and tweak the beat to your liking. Great for solving the "blank canvas" problem and giving you something good to start from. * Advanced export options. This is where it really shines for producers. You can export your work as: * A standard WAV loop * Individual stems (ZIP) * A MIDI file * A ZIP file of all your samples as WAVs * A SoundFont (.sf2) drum kit from your generated samples * An Impulse Tracker (.it) file for use in trackers like Renoise, OpenMPT or a Polyend * Pocket Operator/Volca sync. It can output a sync signal on the left audio channel to sync with these hardware devices for perfect timing. * Per-Note FX. You can add effects like volume slides, repeats, and start volume changes to individual notes for more complex drum phrases incorporating flam and roll.

As an old school tracker guy, I'm particularly excited about the Impulse Tracker export mode. I was surprised to discover how many DAWs (including hardware like Polyend) can import this format. Of course, you can also pull up Impulse Tracker on DOSBox, or the more modern re-implementation, Schismtracker for that retro experience.

By the way, the beat generator feature is not trained on any artists or anything like that. It's an algorithm I built from scratch myself.

The audio engine is built on a declarative audio graph (using `virtual-audio-graph`), inspired by React's virtual DOM, which makes managing the Web Audio API much cleaner. If you're building web based audio apps I highly recommend checking out this library.

I'd love for you to try it out and let me know what you think. Feedback (and the inevitable bug reports) most welcome! Thank you!

P.S. Also, here's a video summary: https://youtu.be/qVmEn9z3H24

Comments

thw_9a83c•2h ago
Nice work! Nice that you also implemented an MPC-style swing. How do you generate samples? Are they also procedurally generated or are they chosen from a fixed set of samples? I suppose you're not planning to release any sources for this...
iamben•1h ago
This is great fun, congrats!

2 small requests that (I think) would help with the UX: consider moving (or duplicating) the play button - maybe directly in the middle below the editor, or on that panel itself. It took me a few confusing seconds to realise where it was. Also, could you consider making each fourth (or first) column a very slightly lighter grey? So if I want my kick on 1, 3, 10 and 11 it's really easy to see where to click without counting?

monneyboi•1h ago
Dope!

One thing I notice is that the generated beats are very alike. Yeah it makes sense to play snare on the 2 and the 4, and to have kicks always fall on the downbeat, but you'd get more creative grooves if you allow for some more variation there.

It could even be a slider that allows you to stray away from the common patterns.

dpoljak•1h ago
Really cool! How come you've chosen ClojureScript, and did you regret that choice in the 2 years you've been working on this?

To be clear, this is pure curiosity on my part as I love Clojure(Script) and am consistently missing it during my day job.

raspasov•1h ago
I think the question is for other projects: How come you've not chosen ClojureScript? ;)
raspasov•1h ago
Very nice! ClojureScript rocks. Just curious, did you use any React for this, or is it vanilla HTML interop?
diggan•42m ago
> view-source:https://dopeloop.ai/beat-maker/js/main.js

> CTRL+F "React"

> 93 matches

Somewhere there is a React lurking :)

Guessing it's via Reagent as it's also mentioned 8 times, and is a fairly traditional approach to frontend with ClojureScript.

sakrist•42m ago
awesome tool! would be more usable to scroll horizontally as one page and ability to add verticals one at a time.
phrygian•37m ago
very nice, enjoy listening to the beats. also good to see something come out of Clojure land after a while
chaosprint•17m ago
> "The audio engine is built on a declarative audio graph (using `virtual-audio-graph`), inspired by React's virtual DOM, which makes managing the Web Audio API much cleaner. If you're building web based audio apps I highly recommend checking out this library. "

when you have more and more interactions on the gui web audio api will become a problem, check out audioworklet.

I am developing https://glicol.org/ and it has a js port on https://glicol.js.org/ a typical usecase is drum machine with very high time accuracy