Josh Marinacci, a software developer and designer, writes about user interfaces, desktop operating systems, programming languages and GUI toolkits.
HN commenters link it for his Ideal OS posts, the Ohm parser work, and Swing and language design discussions.
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,…
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.
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
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-3.html
[2] https://news.ycombinator.com/item?id=846028
[3] http://joshondesign.com/2013/03/18/ConciseComputing
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
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