J
Josh on Design
joshondesign.com · Personal blog · on HN since 2011
Josh Marinacci, a software developer and designer, writes about user interfaces, desktop operating systems, programming languages and GUI toolkits.
What HN saysHN commenters link it for his Ideal OS posts, the Ohm parser work, and Swing and language design discussions.
32HN people shared it
10linked it in comments
52stories submitted
1.6Kstory points
7 months agolast shared
2011people per year2026
Most-shared posts
- 1Ideal OS: Rebooting the Desktop Operating System3 people · 739 points · first shared 2017 · 340 comments on HN
- 2Why You Can't Build a Smartphone3 people · 245 points · first shared 2013 · 173 comments on HN
- 3Typographic Programming Language3 people · 107 points · first shared 2014 · 73 comments on HN
- 4Concise Computing: a PNG parser in 20 lines3 people · 3 points · first shared 2013 · discussion on HN
- 5Why don't we have Wayland on Raspberry Pi yet? (2018)2 people · 185 points · first shared 2019 · 250 comments on HN
- 6HTML Canvas: Deep Dive2 people · 5 points · first shared 2021 · discussion on HN
- 7WebOS on The Verge2 people · 4 points · first shared 2012 · discussion on HN
- 8Solving the NPM Problem at Scale2 people · 4 points · first shared 2016 · discussion on HN
- 9Building a Rust Web Browser2 people · 2 points · first shared 2020 · discussion on HN
- 10Why You Should Hire an Old Programmer1 people · 217 points · first shared 2017 · 184 comments on HN
- 1160sec Review: Rust Language – why it is so popular1 people · 11 points · first shared 2015 · discussion on HN
- 12iframe, you are dead to me1 people · 11 points · first shared 2012 · 11 comments on HN
- 13Over 40 Years, Has Software Gotten Better or Worse?1 people · 10 points · first shared 2015 · 6 comments on HN
- 14An open letter to language designers: Kill your sacred cows.1 people · 8 points · first shared 2012 · 9 comments on HN
- 15Building a Rust Web Browser (8-part series)1 people · 4 points · first shared 2020 · discussion on HN
What HN people wrote when they linked it
joshmarinacci · 2026-03-29
I’ve been following the Ohm project for years and it’s the best way to build parsers I’ve ever seen. I’ve used it to parse many program languages and even markdown. I’m happy to see it get even faster.
https://joshondesign.com/2021/07/16/ohm_markdown_parser
pjmlp · 2017-08-26
A bit, yes.
Like in any GUI toolkit, one needs to have the taste and knowledge how to make into reality the wishes of a designer, or be a designer themselves.
On Swing's case taking the effort of reading books like "Filthy Rich Clients" and "Swing Hacks: Tips and Tools for Killer GUIs".
http://filthyrichclients.org/
https://joshondesign.com/c/writings
And be aware of cool 3rd party components like http://www.jgoodies.com/
The biggest problem with Swing is that Sun wasn't that good understanding the desktop, so although Swing is quite capable it has lousy defaults, like requiring the native look and feel to be explicitly configured, or making it too easy to run everything on the main thread.
On JavaFX's case, it is easier to use, but similar to using QML, XAML or the Web.
Following blogs like FX Experience http://fxexperience.com/ helps discovering cool components.
For those that care about UI/UX, GUI programming is graphics programming.
There is only so much that the default controls can do in any toolkit, extending them, customizing how they behave, or even creating them from scratch requires knowledge of graphics programming, because in the end you are putting pixels into the screen.
sysdyne · 2017-08-22
Meant 0.90 cents.
"Why isn't the internet more simple?"
I guess it's the same reason why we don't use modularity in operating systems and applications. We have gotten used to how things have been done until now.
Recommend reading this article since this ideas have been in my head for some time.
https://joshondesign.com/2017/08/18/idealos_essay
Disclaimer: this isn't my article.
Doesn't mean that this things can't be disrupted.
"Indexing data is hard. There isn't enough value for every given website to do it."
Well a lot of websites have their own search feature and a modular FOSS search engine wouldn't be out of the question. The database would need to figure out what is the context of the content and then tag those contents.
The data could be feed to a repository or pass around different computers if we would use a decentralized protocol.
Given the modular nature of the system you could be hooked to more than one repository and your application would only need to figure out if the data feed is a duplicate and sort the content by metadata.
I'm curious to what would the web look like if a large numbers of websites decided that they don't want Google. A verification system would also be need to verify that no one website tempers with it's data in order to rank higher in the results.
Then again this would be a very modular experience so you would have a lot of choices regarding verification systems,wall crawlers, database repositories.
True, the last part is true,…
debo_ · 2024-06-14
The author's most recent post on this topic is here (2022): https://joshondesign.com/2022/09/21/idealos_mark6
turtletontine · 2021-06-27
Update: I'm skimming here (https://jaredforsyth.com/posts/whats-cool-about-unison/) and here (https://joshondesign.com/2012/04/09/open-letter-language-designers) and I see Unison is serious about not having raw text source code as the ground truth. I'm intrigued but don't totally understand yet.
I'm sure this analogy is technically incorrect but: This reminds me of Smalltalk and old Lisps on mainframes shared by many researchers where the main thing was the VM image, not an object file. Though the probably kept the source code around? At a gut level getting rid of source code makes me uncomfortable but I'm ready to learn more.
PS sorry for the ugly raw links I'm on my phone
romanovcode · 2017-08-20
> In the screenshot below the user is lifting the edge of a window up to see what's underneath. That's super cool!
> https://joshondesign.com//images2/lift-window.png
Is this a sarcasm? Because it is complete garbage.
hawski · 2017-03-15
Does implementing TCP/IP stack using the RFC (as in parsing diagrams straight from RFC) counts?
Then it was done in OMeta [1].
Previous discussion: A full TCP/IP stack in under 200 LoC (and the power of DSLs) [2].
There's also a PNG parser (but it is not parsing any documentation) in 20 lines of OMeta [3].
[1] http://www.moserware.com/2008/04/towards-moores-law-software-part-3-of…
[2] https://news.ycombinator.com/item?id=846028
[3] http://joshondesign.com/2013/03/18/ConciseComputing
petercooper · 2014-11-15
where the X and Y are either slight italics or underlined or colored
You might find this interesting if you're thinking along those lines: http://joshondesign.com/2014/08/22/typopl
kylebrown · 2014-07-05
This looks super interesting, thanks for including so many demos and docs. I'm pretty new to PL theory, but was recently reading about OMeta - another "language for pattern matching". For example, here's a png parser in OMeta.[1]
Maybe you could help me understand how Egison compares to OMeta? thanks.
1. http://www.joshondesign.com/2013/03/18/ConciseComputing
adnam · 2013-12-04
What was that about "You Can't Build a Smartphone"?
http://joshondesign.com/2013/12/02/nosmartphone