frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
250•theblazehen•2d ago•84 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
23•AlexeyBrin•1h ago•1 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
705•klaussilveira•15h ago•206 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
967•xnx•21h ago•558 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
67•jesperordrup•6h ago•28 comments

Reinforcement Learning from Human Feedback

https://arxiv.org/abs/2504.12501
7•onurkanbkrc•44m ago•0 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
135•matheusalmeida•2d ago•35 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
43•speckx•4d ago•34 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
68•videotopia•4d ago•6 comments

ga68, the GNU Algol 68 Compiler – FOSDEM 2026 [video]

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
13•matt_d•3d ago•2 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
39•kaonwarb•3d ago•30 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
45•helloplanets•4d ago•46 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
237•isitcontent•16h ago•26 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
237•dmpetrov•16h ago•126 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
340•vecti•18h ago•147 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
506•todsacerdoti•23h ago•247 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
389•ostacke•21h ago•97 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
303•eljojo•18h ago•188 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
361•aktau•22h ago•186 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
428•lstoll•22h ago•284 comments

Cross-Region MSK Replication: K2K vs. MirrorMaker2

https://medium.com/lensesio/cross-region-msk-replication-a-comprehensive-performance-comparison-o...
3•andmarios•4d ago•1 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
71•kmm•5d ago•10 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
23•bikenaga•3d ago•11 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
25•1vuio0pswjnm7•2h ago•14 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
96•quibono•4d ago•22 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
270•i5heu•18h ago•219 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
34•romes•4d ago•3 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1079•cdrnsf•1d ago•461 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
64•gfortaine•13h ago•30 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
306•surprisetalk•3d ago•44 comments
Open in hackernews

Show HN: Cynthia – Reliably play MIDI music files – MIT / Portable / Windows

https://www.blaizenterprises.com/cynthia.html
86•blaiz2025•2mo ago
Easy to use, portable app to play midi music files on all flavours of Microsoft Windows.

Brief Background - Used midi playback way back in the days of Windows 95 for some fun and entertaining apps, but as Windows progressed, it seemed their midi support (for Win32 anyway) regressed in both startup speed and reliability. Midi playback used to be near instant on Windows 95, but on later versions of Windows this was delayed to about 5-7 seconds. And reliability became somewhat patchy. This made working with midi a real headache.

Cynthia was built to test and enjoy midi music once again. It's taken over a year of solid coding, recoding, testing, re-testing, and a lot more testing, and some hair pulling along the way, but finally Cynthia works pretty solidly on Windows now.

Some of Cynthia's Key Features: * 25 built-in sample midis on a virtual disk - play right out-of-the box * Play Modes: Once, Repeat One, Repeat All, All Once, Random * Play ".mid", ".midi" and ".rmi" midi files in 0 and 1 formats * Realtime track data indicators, channel output volume indicators with peak hold, 128 note usage indicators * Volume Bars to display realtime average volume and bass volume levels * Use an Xbox Controller to control Cynthia's main functions * Large list capacity for handling thousands of midi files * Switch between up to 10 midi playback devices in realtime * Playback through a single midi device, or multiple simultaneous midi devices with lag and channel output support * Custom built midi playback engine for high playback stability * Custom built codebase for low-level work to GUI level * Also runs on Linux/Mac (including apple silicon) via Wine * Smart Source Code - compiles in Borland Delphi 3 and Lazarus 2 * MIT License

YouTube Video of Cynthia playing a midi: https://youtu.be/IDEOQUboTvQ

GitHub Repo: https://github.com/blaiz2023/Cynthia

Comments

tosti•2mo ago
Calling a program portable by virtue of wine being a thing defies logic. That said, nice work. Midi instrument input is on my wishlist.
ale42•2mo ago
Maybe it's "portable" in the sense that it's just an executable to launch, with no installation needed? I don't think they claim it is multi-platform.
6581•2mo ago
"* Also runs on Linux/Mac (including apple silicon) via Wine *"
Krssst•2mo ago
Their website makes their definition of portable very clear in "What makes a portable app special?".

It's quite clear they mean more a (much) stricter variation of the "no installation" definition than the "easily buildable on other OS" definition. Though they do mention execution under translation environments as a requirement.

blaiz2025•2mo ago
Yeah, by portable I do mean just an EXE to run. That is, no install, won't mess with your operation system, or play with your registry settings etc, nor require any setup to get running.

This also allows the app to run seamlessly on a USB pen stick/harddisk so you can use it on different computers without fuss or being tied down by an installation. The app stores all it's settings etc in a folder alongside the EXE itself, usually "(app name).exe_storage", and automatically manages any references to external filenames/folders on it's own disk drive, allowing it to operate on different computers that might assign its disk drive a random/different drive letter without interrupting access to any referenced filenames/folders.

And no, it's not multi-platform/cross-platform. It's a Win32 (32 bit) binary/codebase. The occasional experiment I have done in the past into cross-platform coding has left me less than impressed. Unfortunately, I'm used to coding at the low-level/API level, and as soon as the programming language starts to abstract away the commands things tend to get dicy for me, and I inevitably find myself lugging around 20+ MB libraries of converted functions, and with no particular guarantee the final app with behave or look similar on different platforms.

Though I do wish such a thing existed. Something like a universal translation layer for all variations of software apps that is hardware accelerated and uniform in execution down to the very last and simple command would be a dream come true. Can't see why in 2025 we are still expected to code and/or compile apps for different operating systems and hardware platforms.

jjmarr•2mo ago
Wine MIDI doesn't work, so it's a big advantage.
blaiz2025•2mo ago
Sarcasm? Know that feeling. Midi does work on Wine under Mac without any fuss, both on Intel chip (tested on Mac Mini 2018) and Apple silicon (tested on Mac Mini 2023) with a fairly decent system soundfont for good music reproduction.

As for Linux, well... that's more difficult, even under Ubuntu with GUI apps for help. You need to have two audio apps installed and actively running and setup just right in-order for midi to produce any sound on Linux, which are "Qsynth" the midi soundfont player and "QjackCtl/Jack Audio" which is the audio stream controller.

Note, if you're running Linux in a virtual machine chances are it won't handle midi playback properly even if everything is setup right. I tested this under Ubuntu v20 I think a few years back and the midi playback was horribly distorted - don't think the IO rate between the virtual machine and the real machine was up to the job.

Unfortunately on Linux it can be rather difficult to say the least to get midi working right, and more often than not you want to hit the screen in frustration. Sadly, there is no simple "just do it" option to get things working as you'd expect.

In addition, Qsynth loves to generate multiple midi playback devices, like 6 or more, of which only one or two from my experience actually render any sound. To help with this frustration, Cynthia has a play all midi device option (main GUI bottom right, Playback Device, select "A"). This way, if only one of six or more midi devices on Linux is capable of sound playback Cynthia will get it working. Unfortunately Qsynth and Jack can be a real pain to setup and keep working.

jjmarr•2mo ago
I tried to use FluidSynth and PulseAudio. Maybe that's why.
blaiz2025•2mo ago
Haven't used either of those apps myself directly, but from a few quick searches online they look to be doing the same job. It's probably a matter of settings - even when I had Qsynth and Jack running right, I had to go into Jack and align the audio streams etc and fiddle around a bit. Qsynth was a bit better, just had to get one midi device working and it was OK then.

Online is stating that PipeWire is now the default instead of PulseAudio or Jack. From my understanding they both sit on top of ALSA, the audio hardware driver.

So for things to go right you need: 1) Cynthia directed to playback through a working midi input device (she has a playback device range of 1-10, or "A" for all of them at once) 2) The midi input device is synthesised by FluidSynth which takes Cynthia's midi instructions and converts them into wave audio output 3) The wave audio output is directed to PipeWire/PulseAudio/Jack Audio 4) PipeWire/PulseAudio/Jack Audio ultimately direct it at your machine's hardware driver/handler, ALSA, which directs to your soundcard/sound chip and out to your speakers/headphones if all goes well.

I've read online that Jack is the pro option, which is why it was so complicated to do the basics, and PipeWire/PulseAudio are a little more user friendly?

If you switch Cynthia's Playback Device to "A" (bottom right of main GUI), she will play/broadcast her midi notes/instructions to all available midi input devices simultaneously, so if you have at least one midi input device producing sound, you should get something coming through to your speakers/headphones.

Unfortunately, I can't offer you much more help than this, as I'm not familiar with PipeWire/PulseAudio, and as far as I know FluidSynth was controlled behind the scenes (under the hood) by Qsynth's GUI.

jjmarr•2mo ago
I ended up playing the 3D Space Cadet theme song on YouTube.
blaiz2025•2mo ago
Sounds less stressful and more entertaining then trying to debug software problems. :)
SergiusHN•2mo ago
Portable and cross-platform are not synonymous. Being developed with the Wine in mind and being a standalone app are two unrelated features.

https://www.blaizenterprises.com/cynthia.html#help--what-mak...

ksherlock•2mo ago
I'd guess approximately nobody does it, but with winelib you can do a native compile and link.
internet2000•2mo ago
Yeah, very nice app, but it's weird to target Windows as the primary OS.
karmakaze•2mo ago
There were companies that specialized in 'porting' games to Mac using/packaging Wine long ago. It was certainly effective in the Intel Mac days and newer CPUs can certainly run software that predates that well. Heck browsers can run OSes and games in JS/Wasm.
pimlottc•2mo ago
If they specifically target and test for wine compatibility the I’d call it fair
ale42•2mo ago
In the days of Electron bloatware, it's refreshing to see a program that is so light in terms of size. Unfortunately, at least on a 4K screen, the interface is a bit laggy and it uses a lot of CPU.
braebo•2mo ago
A web app would have been cross platform (including just web), had a superior UI (in both speed and UX) — and with a less bloated Electron alternative like Tauri — better in just about every way that matters.
layer8•2mo ago
I’ve yet to see a web app that has native-like great UX.
luc_•2mo ago
Finally, don't have to remember the UMRN for Camptown Races anymore.
baal80spam•2mo ago
Type: Desktop App (Standard Edition)

This is (pun intended) music to my ears!

xcf_seetan•2mo ago
It has a freepascal/lazarus project file, so it can be compiled for a lot of platforms, i don't about midi drivers on those platforms, so midi could not work or need more code.
vintagedave•2mo ago
Pascal! So that’s how the comment above about a “refreshing” lightness in code size was achieved.

It’s pretty consistent these days that when some indie / hobby app appears and is lightweight, there’s a very decent chance it’s Delphi, Free Pascal, or similar. A bit of a secret weapon in the Electron age.

mock-possum•2mo ago
My first thought was “what’s wrong with foobar?”

Then I saw the instrument / note grid, and the keyboard UI - this looks fun!

zahlman•2mo ago
Wow, it's been a long time since I saw Pascal code.
blaiz2025•2mo ago
I never left pascal. Still code in an ancient Borland Delphi 3 Pro to this day - one slightly hefty license fee way back when for perpetual use was a bargain, unlike today's hefty fees. Still I love it's simplicity, crap-free interface, and blazing fast compilation times.

Have tried the modern community edition of Embarcadero Delphi a couple of times over the years, but found its layers on layers of source code and object inheritance complexity really shocking. I can only imagine the poor souls that have to maintain that mess.

Something like trying to ascertain simple logic pathways through their code in order to understand function limits or compatibility issues was a real nightmare/time consuming. Let alone attempting to predict or change core functionality.

And they did away with 8 bit ANSI strings, which were at times rather handy for some basic IO work and data processing. More than anything, you knew were you stood in your data at all times.

Another annoying thing was there bitmap handler, which required you to lock it in order to access it's internal pixels for data processing - think this was for compatibility with mobile chips - which from my basic observations did a full read and write (copy) of the image data - slowish. A simple binary data handler to mimic a system bitmap got right round that bottleneck.

bitwize•2mo ago
Feature suggestion: Optional OPL3 simulation, so that CANYON.MID can be heard as God intended.
blaiz2025•2mo ago
Oh my, haven't heard canyon.mid for years - takes me right back. Have you tried either of the soundfonts below? They do a pretty good job a reproducing canyon.mid, not perfect, but enough to take you back. The default Windows "Microsoft GS Wavetable Synth" is rather horrible at sound reproduction at best, and that's being nice.

a) 3 Mb OPL3.zip (contains one file "OPL3.SF2") - compact but pretty good: https://www.vogons.org/download/file.php?id=45715

and was sourced from: https://www.vogons.org/viewtopic.php?t=59354

b) 128 MB OPL-3_FM_128M.zip (contains one file "OPL-3_FM_128M.sf2") - a bit larger but slightly better in my opinion: https://musical-artifacts.com/artifacts/15/OPL-3_FM_128M.zip

and was sourced from: https://midis.fandom.com/wiki/OPL-3_FM_128M.sf2_(OPL3_Yamaha...

You can direct Cynthia to output her midi notes/instructions to a different midi device/devices for higher quality playback/sound reproduction through the midi driver apps below (for Windows):

a) VirtualMIDISynth (supports up to 4 simultaneous drivers with option to use one or more different soundfonts per driver): https://coolsoft.altervista.org/en/virtualmidisynth

b) OmniMIDI: https://www.majorgeeks.com/files/details/keppys_synthesizer....

The apps above do a nice job at playback with minimal lag and without much setup or tweaking to get going. Basically just install one, assign a soundfont, and restart Cynthia to be able to select a different midi device - numbered 1 to 10 under Playback Device (bottom right panel of main GUI).

At one point in the past I did look into including soundfont support directly into Cynthia, but instead decided to focus on playback stability and ease-of-use as top priorities, which funnily enough was a mountain enough all-by-itself to climb considering how difficult Windows can be to get along with, let alone get working right on something as simple as midi playback under Win32.

mrandish•2mo ago
I'm curious what samples it's using for playback. Is it just using whatever the host OS offers or does it have its own internal samples? I searched on the main page, About and FAQ for the term "Samples" and didn't see any info.

As someone into both music production and retro gaming, my experience of MIDI is that the instrument types are standard but the fidelity and quality of the music varies depending on the samples used. While low-end 90s sound cards had small sample ROMs and better cards had larger sample sets (2 or more MB). More recently there are even larger, very high quality MIDI sample sets which are open source. Also, is General MIDI 2 supported? How about extensions like Roland GS and Yamaha XG?

blaiz2025•2mo ago
Cynthia uses whatever midi playback device you have on offer. By default that's "Microsoft GS Wavetable Synth" on Windows, which is horrible to say the least. But if you install a 3rd party midi driver app like VirtualMIDISynth or OmniMIDI (see my other comment in this thread about soundfonts) you can upgrade sound playback to high quality using soundfonts (.sf2).

The app can also switch between up to 10 midi devices in realtime, or use them all simultaneously for playback - see main GUI, bottom right, Playback Device, 1 to 10 or "A" for all.

App supports General Midi 1 (GM1) over 16 channels in playback formats 0 and 1, but not 2. It does not support General Midi 2 (GM2) e.g. 32 channels, and does not support "system exclusive messages".

mrandish•2mo ago
Thank you for answering!
blaiz2025•2mo ago
You're welcome.
zeeeeeebo•2mo ago
Reliability is an odd opener to a MIDI player description. Now I'm wondering how reliable OpenMPT is...