Jordan Eldredge

jordaneldredge.com · Personal blog · on HN since 2014

Jordan Eldredge writes about his Winamp-related web projects, including a browser Winamp clone, skin rendering, and WebAssembly visualizers.

What HN saysCommenters praise his Winamp projects and link his writeups, along with his post on the risks of curl-pipe-sh install scripts.
22HN people shared it
12linked it in comments
23stories submitted
1.5Kstory points
4 months agolast shared
2014people per year2026

Most-shared posts

  1. 1
    Winamp 2 in HTML5
    5 people · 531 points · first shared 2014 · 109 comments on HN
  2. 2
  3. 3
  4. 4
    Rendering Animated .ani Cursors in the Browser
    2 people · 5 points · first shared 2021 · 1 comments on HN
  5. 5
    From Opera to Tech
    2 people · 2 points · first shared 2024 · discussion on HN
  6. 6
    Projects
    2 people · first shared 2014
  7. 7
    Investigating corrupt Winamp skins
    1 people · 615 points · first shared 2024 · 145 comments on HN
  8. 8
    Rendering "modern" Winamp skins in the browser
    1 people · 119 points · first shared 2024 · 43 comments on HN
  9. 9
  10. 10
    In React {Transitions} = F(state)
    1 people · 39 points · first shared 2025 · 54 comments on HN
  11. 11
    A nice way to render Markdown in React apps
    1 people · 19 points · first shared 2024 · 6 comments on HN
  12. 12
    Gzip hates your DRY code
    1 people · 4 points · first shared 2021 · discussion on HN
  13. 13
    You're underusing Underscore
    1 people · 2 points · first shared 2016 · discussion on HN
  14. 14
    React's useTransition and state update reordering
    1 people · 2 points · first shared 2025 · discussion on HN
  15. 15
    Mainlining Nostalgia: Making the Winamp Skin Museum
    1 people · 2 points · first shared 2020 · discussion on HN

What HN people wrote when they linked it

captbaritone · 2026-07-02
Author of the Museum here. Agreed! That was true for "classic" Winamp skins which are what is shown here. I also took a stab at "modern" Winamp skins which were fully dynamic and scriptable and wasn't quite able to bring that to the browser. I did a writeup of that work here: https://jordaneldredge.com/webamp-modern/
yoz · 2024-07-25
Jordan Eldredge, the author, has done some amazing WinAmp-related projects over the years, including WebAmp (a web-based, from-scratch reimplementation of much of WinAmp) and a WASM engine for WinAmp-style music visualisation. His project page: https://jordaneldredge.com/projects/
peutetre · 2024-11-22
> Can someone explain to me why people are excited about WebGPU and WASM and similar technologies? WebAssembly brings all languages to the browser. Why shouldn't I be able to use C#, Rust, Go, Dart, Python, or whatever else in browser? WebAssembly brings better performance. That's what Webamp found: https://jordaneldredge.com/blog/speeding-up-winamps-music-visualizer-w… And what Amazon found: https://www.amazon.science/blog/how-prime-video-updates-its-app-for-mo… And what Google found: https://web.dev/case-studies/google-sheets-wasmgc Why make things perform worse when they can perform better? Why shouldn't I be able to make an application that compiles to the Windows, macOS, and Linux desktops and also to the browser? This one does: https://bandysc.github.io/AvaloniaVisualBasic6/
timdiggerm · 2018-02-08
Did you visit the app (https://jordaneldredge.com/projects/winamp2-js/) and press play?
shakna · 2018-01-14
A URL and an IP are not equal. Building a script that acts differently for a web browser, a normal download, and curl, is trivial, and I've seen it happen. Here's a proof-of-concept[0] someone else wrote. Manually downloading is safer, at least you can review, curling straight into a shell is inherently unsafe. The better option is still a package manager, but curling straight to a shell is very unsafe. [0] https://jordaneldredge.com/blog/one-way-curl-pipe-sh-install-scripts-c…
stable-point · 2017-01-15
Opening it in a text editor is not sufficient. With clever use of 'sleep' you can even have the server return a malicious payload only if it thinks its getting immediately piped to sh[0]. If you're opening it in a browser to check, you've also got to worry that the server may be looking at curl's user agent to decide whether to serve up a malicious payload[1]. [0] https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server… [1] https://jordaneldredge.com/blog/one-way-curl-pipe-sh-install-scripts-c…
sac2171 · 2016-06-22
That doesn't always work, and is still quite dangerous in the (abstract), usually your other programmers are friendly, but you should definitely be careful about it. Proof of concept: https://jordaneldredge.com/blog/one-way-curl-pipe-sh-install-scripts-c…
blueblob · 2015-07-20
carlesfe · 2014-11-06
That looks very cool, but I'd appreciate a bit of context. Maybe it's a work in progress? Edit: Maybe it's a WIP, it's not linked from the author's project page http://jordaneldredge.com/projects/ I found a Github link deep at the bottom of the page: https://github.com/captbaritone/winamp2-js
sundarurfriend · 2018-02-09
For those who don't want to navigate Twitter for whatever reason (tracking, slows down your browser, bad UI, etc.), here's the content from the thread (the images and videos are still Twitter-hosted, by the way): ----------------------------------- It's done! Winamp2-js (https://jordaneldredge.com/projects/winamp2-js/) finally supports all three windows! To celebrate, here's a list of some of the cool things it can do: (thread) https://pbs.twimg.com/media/DVcfDHBVQAAp3Tm?format=png * Load any classic Winamp skin just by dragging it onto the main window. (Shoutout to @stuk for JSZip which lets us decompress .wsz files in the browser. (link: https://stuk.github.io/jszip/) https://video.twimg.com/ext_tw_video/961271636983820288/pu/vid/990x720… * Drag local audio files into the playlist to queue them up. https://video.twimg.com/ext_tw_video/961271712238063621/pu/vid/994x720… * Visualize your music with the bar or line visualizer. https://video.twimg.com/ext_tw_video/961271795725709314/pu/vid/534x360… * Adjust the fully functional EQ to pump up the bass. (Shoutout to @epistemex for cardinal-spline-js (link: https://github.com/epistemex/cardinal-spline-js)) https://video.twimg.com/ext_tw_video/961271880035389441/pu/vid/630x640… * Import/export Winamp's own binary EQ settings files. …

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close