This kinda reminds me of Funklet[0] that Jack Stratton (Vulfpeck) + Rob Stenson made a long time ago... A true gem if you're into funk + like midi drums.
ISPs / other middlemen can monitor and modify unencrypted traffic. In Egypt, Syria and Turkey for example ISP’s injected malware into unencrypted sites that led people to install spyware when attempting to download legitimate programs (link). Other state actors have changed the content of news media, etc. Without HTTPS you lose the ability to trust the integrity of a given webpage.
I worked for an authority that issued digital certificates for SSL and digital signatures. It's not only about providing encryption but also about trust, when a top level entity issues a SSL certificate, a number of identity validations are carried out, adding an extra layer or confidence on that website.
This may seem inconsequential for static websites without PII, however most browsers consider it important as it reduces the risk for all parties involved when encrypted communication is used and the content providers has taken basic steps for Identity verification.
There are logic flaws with this approach to security imo, but it's the most commonly used technique at the moment.
That “usually” is doing a ton of work. I remember Vodafone injecting scripts into webpages many years ago. While trying to find a source, I bumped into other shenanigans.
That’s not a valid defence, it’s moving the goalposts and whataboutism. ISPs shouldn’t be bad actors at all and they have the ability to do the most harm.
Maybe if they live in a high income country with relatively strong consumer protections and are using their home ISP. But quite a lot of the internet is very much not that.
In some places and on some networks, MiTMing http traffic for undesirable use-cases is routine.
Because securing things that don't need to be secured (which is most of the Internet, frankly) is a waste of time and effort. Unless you are handling credentials or other sensitive data, you don't need TLS and shouldn't bother.
Perhaps you don't understand what HTTPS does. Which is totally fine! Lots of people don't really get it (or even need to). But yelling "buzzwords" for the things you don't understand doesn't make the usefulness go away.
For someone so wrong about this, you're very opinionated! It's quite a dangerous mix. Thankfully, not dangerous to me, so I can just have a little chuckle and move on.
Security is: confidentiality, integrity, availability. HTTPS gives you two of those. Well, as long as you trust the CAs that came installed on your computer that is.
There are zero buzzwords. I was just being vague because again, the cost of just flipping https on is negligible, it's literally more work to have this conversation and work out all of the details of exactly what attacks you're protected against.
It is never worth asking "should I even do https?" The only variation worth considering is "is https enough?" And even then, start with https and then build on top.
It does quite a lot for security. It prevents evesdropping (to an extent, better with esni), disallows ad/malware-injection or content modification, and prevents credential sniffing. It does all that against most reasonable attackers, up to around the rough ballpark of nation states.
All for the price of about the same amount of work that it took to read this message.
"Https is only for credit cards" is some serious 1990s bullshit.
Chrome labelled sites as Not Secure if they didn't user https since 2018. Most people didn't like that label showing on their website address, so it was a clever way to shift everyone.
Years before that the free certificate authority Let's Encrypt was established (there are now several more), so for most people using https with your website is just configuration, not an extra cost. On top of that some http protocol versions are now https only.
Perhaps they shouldn't but that forced the hands of many who would have otherwise dragged their feet for another century.
I get bothered by it, Chrome doesn't even allow to confirm and proceed at the boom of the warning page anymore, but there is some flag you may disable if you feel safe about all your visits.
Hopefully Google will start flagging ipv4 servers too. And one day block them by default.
Would you trust handing a sack full of money to a stranger and tell them to bring it to the bank for you or do you hire an armored car service?
We need https because the modern web browser isn't a trustworthy or secure program. A web browser isn't a sandbox so code can be injected into an insecure http stream to force the browser to compromise the machine it is running on. This is just the state of the internet - there are literal highwaymen in the form of malicious routers and other networking hardware on the internet. https is unfortunately the ony way to ensure the highway for your data is secure and the data arriving to you is trustworthy.
The only way to avoid this is to use a browser like netsurf that eliminates the insecure modernity or dont use the web.
It hasn't been retired. Using HTTPS everywhere is cargo cult nonsense. Most sites do not benefit from it, and the push to have it everywhere is obnoxious as hell.
It was obnoxious, let's encrypt solved that from the operator's perspective.
Man in the middle attacks are very real. A good ratio of routers get hacked during manufacture, or have a backdoor that get exploited by other hackers. an http hits make these exploit even easier to execute. Public WiFi are often insecure, https works around that problem (for the most part).
From an attacker perspective, widespread https has become obnoxious, yes.
If you only secure the login you will be sending your session cookies unencrypted for the other pages and they can be intercepted and used to impersonate you.
Hi! I was very confused about Glycol until I discovered that the desktop version of your site shows way more information than the mobile one. At least in Chrome for Android, you can only select demos to play and click the GitHub link. And GitHub recommends visiting glicol.org, so why do so many people rave about Glycol? Now I know :)
I was wondering if you would be adding any IDE-like features. I like a few features in Sonic-Pi and noticed a few attempts to make a VS Code plugin for it. (I wish I could contribute myself, but my music production skills are atrocious and I mostly rely on GUI-based software to carry me.)
Congrats on an awesome project! (And you, OP, too!)
You are not an IDE person, are you? : ) Sonic's default one has a few very useful features. Although, I personally don't like its keyboard shortcuts and they don't seem to be editable.
Please allow triplets! You're missing out big without a basic shuffle! I also second the other comments about ordering. Cymbals on top, snare and toms in middle, bass and other pedals on the bottom. e.g.
hh |x-x-x-x-x-x-x-x-|
S |----o-------o---|
B |o-------o-o-----|
looks like the original TR-808 handled triplets, see p.15 of the manual: https://cdn.roland.com/assets/media/pdf/TR-808_OM.pdf ; for example, the SHUFFLE and BOOGIE on p.13 of the sample patterns at the end of the manual.
Nice work! It might be nice to hint to iOS users that they should disable silent mode via the little side toggle if they want to hear anything. Just a quirk of iOS that took me literally years to figure out -- I assumed it just didn't support the Web Audio API and went on with my life.
I hit this on https://ambiph.one - my solution ended up being similar (use an <audio> element) but because I also wanted audio to play in the background and when the screen is off there's an extra step of tricking Safari into thinking it's playing a livestream, since apparently that's the only kind of audio Apple thinks should be allowed to play in the background.
Coincidentally someone asked me about this the other day so I put together a minimal demo here in case it's useful to anyone: https://codepen.io/matteason/pen/VYwdzVV
I believe you need to use the audio element specifically. The Web Audio API is subject to different restrictions than the audio element. I used a similar approach on Audjust: https://www.audjust.com/blog/unmute-web-audio-on-ios/
(nice site you created btw! I love seeing audio stuff for the web)
Yes, exactly. This is on an iPhone, to be clear. Maybe the control center on iPads has an equivalent software toggle? Sorry, that probably isn't very helpful.
It's super fun to mess around. I think i found a bug - https://imgur.com/BRwst17 - in this setup kick triggers on red instead of green? Or am i tripping?
That doesn't seem to happen for me. If you lower the BPM (the value on the right is a non-obvious text input) does it still seem to trigger incorrectly?
This is amazing! Please consider adding PWA support so it can be installed as a mobile app.
It’s super easy, just a manifest.json file to add which you can generate here [0].
Also are you considering adding more drumkits? Or maybe allow a user to set their own samples (stored locally, just for themselves) like you can change the header color in HN.
Regarding the different drum kits, this is actually on the top of todo list, right know i'm working on Yamaha RX5 and Oberhiem DMX. They should be available in a day or two. Any drum machines you recommend?
One bit of feedback I don’t see mentioned. This may be an iPhone thing, but my experience is that the visuals are about a quarter beat ahead of the audio (at 60 BPM, so about 200-250ms off).
Not a big deal, but definitely enough to make it feel a bit off.
Again, could be just the nature of audio in Safari on iPhone.
I think i can see it now too. I see a couple of things that can cause this, here are 3 solutions, could you check them out and see if it's any better? My best bet is on the third link.
You're out of luck on Safari because it seems that the important APIs aren't implemented yet: https://developer.mozilla.org/en-US/docs/Web/API/AudioContex... (scroll down). This means this cannot be made correct, e.g. there will always be a desynchronization when using high latency audio output devices such as anything wireless. Their handhelds (on which non Safari is not allowed) and their MacBooks, in wired/built-in speaker mode have excellent latency figures and we can get away with not doing anything explicit there, granted the audio is not happening somehow before the visuals, that is jarring for a human. A bit late is a lot more natural if it can't be exact.
lmk if you need further details on tight synchronization of real time audio and visuals, padenot@mozilla.com, happy to help, and congratulations on the delightful websites!
Nice enjoyed playing with it. How long did it take you to write it? I have been involved in a couple of simmilar projects and I was surprised how much It took us, (we used TypeScript) on Next.js
Everything took probably around 3-4 weeks, but it was spread around a couple of months. I wrote custom web crawler for web archived 808.pixll.de, pattern extraction tool from crawled data. Then i worked on the pattern player and finally started working on the website. Originally i planned to write website from the scratch, but in the end i decided to use WordPress. I have too much side projects already:)
I really, really liked that you use WordPress - in my opinion it's a hugely overlooked platform for making really solid products / software. I've built a bunch of dashboards, SaaS tools and other things - once you understand the templating it's so easy to knock out stuff. Nice work!
I hate such sites. You open it to play for a minute and hours get lost.
Also, when creating a new variation, a blank pattern is created. It would be cool if I could copy one of previous patterns and modify it instead of recreating it from scratch.
Also, drums seem to not be balanced perfectly - in some patterns, when several sounds are playing simultaneously I cannot hear all of them. Are some drums too loud or is it a problem with me maybe?
That makes sense, will fix that. Regarding the balance of the sound i've also experienced that, not sure if it's sample pack i've used or something else, will investigate that.
i would suggest maybe the instruments vertical order should be reversed. i think it is more usual to have the bass drum at the bottom, thru snare up to hh etc.
i think this maps more like a piano roll with typical midi key/drum assignments.
I came here to say the same thing. General MIDI defines the sequence of the drum sounds. Unless there's a really good reason to deviate from that, it is a standard.
Since you’re porting the 808’s sounds/panel I understand the order you have matches it. I also agree it should be reversed if only because the kick/snare are lower frequency sounds and the hats are higher frequency and that would map better to reversing the direction that is currently on the site.
Love this btw, it will be fun to noodle on this when I’m away from the studio
- Fixed another thing with desync between audio and visual
- Hi-Hat choking - when open and closed hat are placed on the same beat, the open hat is ignored and closed one is played on two channels as shorter note
- You can now hold mouse down to paint pattern
- Clicking on instrument label besides changing some instruments should also play a sound
- Fixed cymbal spelling
- Added clear and delete pattern buttons in "Create" mode
- Ability to paste text (CTRL+V) representation in "Create" mode, it doesn't have to be the full list of instruments, but the pasted pattern should have 16 beats, here is the example:
I've been noodling with a side project for a couple years trying to figure out how to replicate folk drumming patterns by adding LFOs together and doing beats at the zero crossing. My aim is to create drumming patterns that can flow and evolve. Results are so-so. I cant seem to find much info on other doing this sort of thing.
Check out "African Polyphony and Polyrhythm", a presentation by Chris Ford at Strange Loop 2016. He uses Clojure to model traditional central African drumming patterns with variations.
I'd think that the problem with LFOs is that they don't make it easy to think about rhythm- they are tied to specific times. So it's a hard tool for that kind of work.
I've been enjoying tools like "euclidian rhythms" where you have a variety of sounds that all have a fundamental division of beat that they share but have differing numbers of beats-per-bar. I have a squarp pyramid sequencer that implements that quite well.
You might look in that direction if you haven't already.
This is awesome. I'm no drummer but have always loved percussion in general, so just had a lot of fun playing around.
My only tip would probably be a way to click (right-click since left-click is used?) the abbreviation for each instrument to hear it play once, or when you place a beat have it play that instrument once. The guide for which abbreviation is which instrument is above the fold when actually placing notes, so it's lots of scroll back/forth checking what's what again.
I loved xoxo pattern based drum machines as a teen in the early 80s. Was never able to afford a 808 back in the day, but bought a DR110 back then. However I've always been mostly a hard / prog rock guy, so I see 16 beats pattern based drum machines as extremely limiting: no flams, no triplets, no effective rolls, no ghost notes, etc. The day I could buy a R8 was liberating, but in the end nothing beats real drumming on a real drum set.
Just curious, is this a corporate network restriction, or something you've configured your web browser to block? This is the first time I've seen this as a problem for Hacker News folks.
Great stuff. Feature requests: non-wp login, accents, Bar lines, support for non-4/4, swung meter, search by pattern (e.g. write a kick snare pattern, find beats with same kick snare pattern to e.g. find inspiration for hat patterns)
So, i've reversed the order of the instruments. Let me know what do you think.
Audio and visual should sync better now, also fixed small issue pointed out by @badmintonbaseba. Creating new variation no longer creates empty pattern, it copies the previous one.
If anybody still looks here i just added song links in the comments. Write in your comment @[comma separated list of patterns] to create song trigger, e.g @[1,1,1,2,3,4,3,4]
This is fantastic — simple, fun, and with just the right vibe for exploring ideas quickly. I love how focused it is: no clutter, just straight into the groove.
Do you see this staying as a passion project, or are you considering a business model at some point ?
I’m not a music producer or drummer (just a beginner guitarist interested in how other music is made) but I think this is great. I noticed a typo when you mouse-over the CY, cymbal is mis-spelled with an extra ‘l’).
There are categories (genres), and I thought if I click on one, it will insert that particular "dot" as such (same colors somehow, or some form of indication or visual feedback of the genre placed).
You can click on small labels on the left to change some instruments. LC to LT (low conga to low tom), MC to MT (mid conga to mid tom), HC to HT (high conga to high tom), MA to CP (maraca to clap), CL to RS (claves to rimshot).
Love this idea and the execution. Would it make sense to make this for synth patches or some other musical idea? I'm wondering if that's something you plan on exploring in the future?
i cant wait for more samples to be added and triplets, had fun doing this on my lunch :) im not really a musician but i live with 2 producers so playing with them rubs off on me
Nice, I really enjoyed listening to a couple of the ones you added. They were at the top of the page when I loaded it, and I listened to and enjoyed them before connecting them with your comment.
I'm working on adding other drum machines (currently Yamaha RX-5 and Oberhiem DMX), not sure if i'm gonna end up adding generic midi. However, you can download current patterns as midi.
bug: when playing back an Nx16 pattern, and switching, then when rolling to the next pattern the very first beat is played from the previously played pattern instead of the current one.
There will be more drum machines available as the time goes, same goes for different time signatures etc. I just wanted to share the progress on the side project i was seating on for a couple of months.
Your comment as written comes off as elitist snark, which is likely why you are getting downvoted. You could’ve instead phrased it as a list of suggestions, tips, or feature requests. OP is sharing for free something cool they made for themselves on their free time. We need more independent fun stuff like this, don’t discourage a better world.
The project cannot take tips in this area because it's geared towards programming vintage hardware. It first has to add hardware models which have more advanced sequencing. See sibling comment.