A
André Staltz
staltz.com · Personal blog · on HN since 2014
André Staltz, a JavaScript and open source developer, writes about web centralization, open source sustainability, reactive programming, and decentralized social networks.
What HN saysHN commenters link his essay on the time until an open source alternative appears, and discuss his Cycle.js framework and its ergonomics.
76HN people shared it
35linked it in comments
77stories submitted
5.3Kstory points
4 months agolast shared
2014people per year2026
Most-shared posts
- 1Google, Facebook, and Amazon have fundamentally transformed the web10 people · 1.1K points · first shared 2017 · 323 comments on HN
- 2An off-grid social network7 people · 1.0K points · first shared 2017 · 366 comments on HN
- 3Software Below the Poverty Line6 people · 392 points · first shared 2019 · 231 comments on HN
- 4A plan to rescue the Web from the Internet5 people · 410 points · first shared 2017 · 210 comments on HN
- 5Is your JavaScript function actually pure?5 people · 114 points · first shared 2016 · 89 comments on HN
- 6Time Till Open Source Alternative4 people · 502 points · first shared 2022 · 334 comments on HN
- 7Promises are not neutral enough4 people · 205 points · first shared 2018 · 129 comments on HN
- 8I won't use SemVer patch versions anymore4 people · 6 points · first shared 2016 · discussion on HN
- 9Don't React3 people · 272 points · first shared 2014 · 122 comments on HN
- 10Some people want to run their own servers3 people · 199 points · first shared 2022 · 145 comments on HN
- 11Why we need Callbags (pattern for observables/streams)3 people · 5 points · first shared 2018 · discussion on HN
- 12Homepage3 people · first shared 2016
- 13JavaScript libraries should be written in TypeScript2 people · 386 points · first shared 2016 · 275 comments on HN
- 14JavaScript Getter-Setter Pyramid2 people · 143 points · first shared 2018 · 50 comments on HN
- 15Reinvent the Social Web2 people · 109 points · first shared 2018 · 54 comments on HN
What HN people wrote when they linked it
jakelazaroff · 2018-11-18
Cycle is really cool, and I'd love to see reactive programming become more popular, but after trying it out for a project it has a few ergonomics issues that keep me from using it as my primary web framework.
- Dynamic lists of components are really annoying to create. In Cycle, the happy path is calling every component function in your app at startup to set up the data flow graph, and then your reactive operators handle the actual logic. With dynamically added or removed components, you get a stream of "sinks" and then have to splice them into your data flow somehow.
- Circular dependencies are cumbersome. If a parent passes a value to a child which can change that value in the parent, you essentially have to create a stub stream in the parent, use it to derive the parent's state and then "imitate" the output of the child as well.
That said, Cycle has a lot of great ideas that I want to become more mainstream. If you have a free weekend, try it! The creator André Staltz's blog is also a good read: https://staltz.com/
maxisaurus · 2023-10-31
Been looking for an open-source survey alternative tool for a long-time! Congrats on the launch.
(sharing this great article btw => https://staltz.com/time-till-open-source-alternative.html)
KronisLV · 2023-05-24
> Don’t shame an amazing open source project for trying to be financially sustainable.
While one can talk about corporate contributions and basically ownership of some open source projects (the F5/Nginx case included), I also think that the funding is a big challenge for many projects out there.
Now, this is from 2019, but I found the article "Software below the poverty line" to be a useful if a bit grim look at the way things are: https://staltz.com/software-below-the-poverty-line.html
freeflight · 2022-02-10
> No one is forced to use TikTok.
TikTok was nearly forced to sell parts of its operation so it could continue operating in the US, in India it's actually banned.
> DuckDuckGo's success is an example of that.
As good as DDG is, it's not that great of an example as all the background tech there still relies on Microsoft's Bing, which means there is very much a US-centric search engine monopoly in place.
> that will fracture the internet
Maybe the Internet needs fracturing, we've reached a point where a handful of US corporations control the vast majority of the web traffic [0], that kind of massive centralization is the absolute antithesis to what the web is supposed to be and presents a massive filter bubble in-itself.
[0] https://staltz.com/the-web-began-dying-in-2014-heres-how.html
avador · 2021-12-19
It looks like https://news.ycombinator.com/user?id=staltz
Or https://staltz.com/
Offers will vary, but, if impromptu answers carry any weight, then off the top of my Sunday afternoon head, this is the first reference that percolates to the surface.
jimbosis · 2020-02-14
> I do think that it would be great if there were a way to tell a web browser through its Dev-thingy to actually serve a folder to itself as if it were served by a bona-fide web server with HTTPS.
I'd like to plug Beaker Browser as an amazing tool for getting started with barebones HTML, CSS, and JS. I would say Beaker marvelously fulfills this wish for a browser to serve a folder to itself.
https://beakerbrowser.com/
Because it is built around the peer-to-peer dat:// protocol, it also ends up being "local-first" regarding web pages that you write with it (as well as sites that you decide to seed).
@staltz has an interesting presentation on the utility of Beaker Browser:
https://staltz.com/beaker-frontend-dev-dream-browser/#0
On the other hand, I don't know enough to speak to Beaker's capabilities with XmlHttpRequest.
chrisweekly · 2019-11-24
Great analysis; highly-recommended reading.
I want to bring attention to the followup article Staltz wrote about what we might do about the problems he enumerated in the OP:
https://staltz.com/a-plan-to-rescue-the-web-from-the-internet.html
ChristianBundy · 2018-08-08
I can't speak for GP, but most people who don't like the switch from non-chronological timelines because their replacements are usually opaque algorithms that are optimized for maximum shareholder profit. That's a downgrade.
On the other hand, non-chronological timelines are celebrated in communities like Scuttlebutt, but it's because we have control and you can choose the UX that works best for you without sacrificing connectivity.
Diagnosis: https://staltz.com/the-web-began-dying-in-2014-heres-how.html
First round of treatment: https://staltz.com/a-plan-to-rescue-the-web-from-the-internet.html
shados · 2018-02-16
As already mentioned, they're a lot better than callbacks (well, for certain cases. There are still places where callbacks are better).
The problem is that this is a field that has been heavily studied, and there are great solutions to this problem that also solve countless other problems, and interop well with each other. The way promises work, they solve that ONE problem but throw away the rest.
If you have the choice between 2 mostly equivalent solutions to solve a problem, but one of the solutions also solve 10 other problems with essentially no drawback, why would you choose the former?
This is probably already linked in this thread somewhere and is also probably was prompted someone to post this old issue to Hacker news, but this is a good explanation of the problem:
https://staltz.com/promises-are-not-neutral-enough.html
adamnemecek · 2016-12-11
Also everything I've read from the author http://staltz.com/ I either agreed with (http://staltz.com/all-js-libraries-should-be-authored-in-typescript.ht… or found really illuminating (http://staltz.com/unidirectional-user-interface-architectures.html).
muraiki · 2015-04-02
Yes, the flexibility of virutal dom is really nice. I started to use it with rxjs (Reactive Extensions) only to discover that someone else is already doing so: https://github.com/staltz/cycle
If you really want a functional, stream based frontend in Javascript (vs Elm/purescript/etc), this is well worth looking into. Cycle's author sums up his criticisms of React here: http://staltz.com/dont-react/
ytjohn · 2022-09-04
http://www.nncpgo.org/Comparison.html
This is really amazing stuff. Years ago, I was heavily interested in scuttlebutt [1]. I'm interested in grid down and "occasionally connected" communications. I particularly liked the island to island sailing analogy.
SSB has a few downsides - mainly that your client needs to download full logs. You can't just request the last 30 days. They call this out as well that your first sync could take over an hour and consume several gigs of data.
I'm just today learning about NNCP, but I've used FidoNet and UUCP in the past, so the concept is pretty familiar to me. In my mental model, I would be less interested in sneakernet than standalone wifi hotspots that one could connect to and exchange data, possibly combined with an AREDN style mesh[2].
[1]: https://staltz.com/an-off-grid-social-network.html
[2]: https://arednmesh.readthedocs.io/en/latest/arednGettingStarted/aredn_o…
franciscop · 2020-05-18
I was offered a donation once. It turned out to be some kind of scammy new crypto coin that someone was trying to push. That was a very sad low. Besides that, I got a $10 donation of real money once. I treat open source as just a hobby, I'd love for it to be something more but analyzing the situation it's not very realistic.
Read this amazing article on how much money Open Source makes: https://staltz.com/software-below-the-poverty-line.html
The best funded JS open source project, Vue.js, receives $16k/month[1]. That's a single-developer level of income in SV. The fact that TechCrunch, who regularly covers multi-million deals and CEOs making millions, says that "the revenues can be outsized" with these numbers is ingenuous at best: https://techcrunch.com/2018/06/23/open-source-sustainability/
So you have few realistic options:
- Save enough money to not need to work again (FIRE - Financial Independence, Retire Early, etc).
- Live very cheap, which could be a flip side of FIRE. Be ready to move to Thailand and other cheap countries.
- Work on open source on the weekends or after work. Alternate working N months/years and then doing OSS M years.
- Do consulting as a part time job and open source. If you play your cards right you might be able to join both consulting and OSS somehow.
- Find the companies that do open source and apply for jobs there. Not so many options, but it's realistic.
firasd · 2016-05-27
This is a very useful walkthrough.
Some links for those who are also interested in "Thinking in React" in a more conceptual way (#4 is a presentation from the same person who wrote the walkthrough):
1) React — Basic Theoretical Concepts: “A description of the conceptual model of React without implementation burden.” https://github.com/reactjs/react-basic
2) Pure UI: “A lot has been written about the merits of React as a framework. Today I’m compelled to write about the benefits of a programming model it enables and its implications to the design and creation workflow." http://rauchg.com/2015/pure-ui/
3) Removing User Interface Complexity, or Why React is Awesome: “I’m mostly concerned with the core problems of data binding and componentizing UIs. After much research and usage of the technologies mentioned above, I found React to provide the best solution.” http://jlongster.com/Removing-User-Interface-Complexity,-or-Why-React-…
4) Pete Hunt: React: Rethinking best practices (youtube): “building views with JavaScript, ‘re-rendering’ your entire application when your data changes, and a lightweight implementation of the DOM and events.” https://www.youtube.com/watch?v=x7cQ3mrcKaY
5) Nothing new in React and Flux except one thing: “What is it that makes React so innovative and compelling?… The Virtual DOM allows us to convert a mutable retained mode graphics API to an immutable functional immediate mode API.”…
dmitriid · 2023-02-18
See also "Software Below Poverty Line" from 2019: https://staltz.com/software-below-the-poverty-line.html
carom · 2022-08-24
From the article.
>I’ve written about this before [1] and gave some examples from Wikipedia, YouTube, Mastodon, and Tor.
From that linked article.
>On YouTube, 2 billion MAUs but only 15 million (0.75%) active creators
>On Wikipedia, 39 million registered users but only 128 thousand (0.3%) active contributors
>On Mastodon, 1 million active users but only 2 thousand (0.2%) instances
>On Tor, 2.5 millions users but only 6 thousand (0.24%) relay servers
So unfortunately your comment just seems to be a thought piece from someone who didn't really read the article.
1. https://staltz.com/some-people-want-to-run-their-own-servers.html
moderatorium · 2021-09-19
for the open source point, https://staltz.com/software-below-the-poverty-line.html might be a good place to start, illustrating how dysfunctional foss is these days.
rodolphoarruda · 2021-08-19
https://beepb00p.xyz/sad-infra.html
This one had some impact on me because it revived the importance of taking ownership not only on my personal data, but the infrastructure which generates it, processes and stores it; and that the same infrastructure should be well thought of by me through a tinkering process which adds value to itself and to data the more I invest time on it.
I felt very motivated to rethink my workflows, my opsec and the way I store any data, not only new data I create, but general content that find around the Internet and that I think could be of any use in the future.
An honorable mention would be this one: https://staltz.com/the-web-began-dying-in-2014-heres-how.html which helped me look at how the web has been evolving from a different angle and, of course, triggered me to change some of my behaviors regarding privacy and the use of big tech derived products.
shayac2 · 2021-02-08
Funny thing is PHP was in fact at least partially the inspiration for react! See https://staltz.com/nothing-new-in-react-and-flux-except-one-thing.html
azangru · 2020-09-03
It's been the way Elm describes its components; and I believe Andre Staltz has been criticizing jsx in favor of hyperscript since forever [0], and included hyperscript in cycle.js.
Lit-html, which is using template literals, is another good option.
[0] - https://staltz.com/some-problems-with-react-redux.html
leotravis10 · 2020-04-30
It has been dying since 2014. André Staltz: https://staltz.com/the-web-began-dying-in-2014-heres-how.html
pickle-ts · 2018-11-18
I suppose you were using Cycle.js before Cycle State was released
No, I was using cycle state/onionify.
[cycle-js] is not a competitor to React
That's not the impression you give in this article: https://staltz.com/some-problems-with-react-redux.html
React may be superior in ecosystem, or with feature coverage, but not so as a paradigm [compared to cycle-js]... Once you learn Elm or Cycle, getting things done will be more productive, less indirect, less verbose, more organized.
Am I quoting you fairly? Have you changed your position?
agmcleod · 2018-04-19
Ah i think i may have misunderstood how the system is made. It is purely peer to peer. So any issues could be if the software has a security vulnerability, but I'm not sure how that ties in with things like "as-use" open source licensing. This post explained the network fairly well I found: https://staltz.com/an-off-grid-social-network.html
As far as GDPR goes, you're right because you're specifically choosing people to send it to. However, having a mechanism to delete your messages on other people's systems when they sync would probably go a long way.
simon_k_ · 2018-02-20
Couldn’t help but think of this story in the back of my head:
https://staltz.com/the-web-began-dying-in-2014-heres-how.html
Lazare · 2018-02-17
I think this sums of my issues with promises quite well:
https://staltz.com/promises-are-not-neutral-enough.html
mnzaki · 2018-01-12
Which is why we should be scrambling to get it done now. Free and non-centrally-controllable access to connectivity is going to be a powerful aide in all the other battles.
Priorities priorities priorities.
Andre Staltz gives[1] an approximate deadline of 5-10 years, or we're doomed.
[1] https://staltz.com/a-plan-to-rescue-the-web-from-the-internet.html
antjanus · 2017-11-21
Andre Staltz has a pretty good article[0] about how that collapse is already happening with the likes of Facebook, Google, and Amazon taking over every other site.
[0]: https://staltz.com/the-web-began-dying-in-2014-heres-how.html
panglott · 2017-09-14
"Scuttlebutt is slang for gossip, particularly among sailors. It is also the name of a peer-to-peer system ideal for social graphs, identity and messaging. ...Secure Scuttlebutt is also different to federated social networks like Mastodon, Diaspora, GNU social, OStatus. Those technologies are not peer-to-peer, because each component is either a server or a client, but not both."
https://staltz.com/an-off-grid-social-network.html
It's also a system with a clear, although niche, use case that adds value in a way that FB wouldn't.
WorldMaker · 2017-08-09
Most of my projects I wound up switching from RxJS to xstream [1], for several reasons related to size/performance and synergy with a framework I heavily use (Cycle.js). It's RxJS influenced, but written from scratch in Typescript with a much simpler API surface and somewhat easier to reason with semantics (default "hot" and "shared" Observables versus default "cold" and "unpublished" Observables).
Also, Typescript now supports (since 2.3) downleveling async/await all the way to ES5, which is very handy.
[1] http://staltz.com/xstream/
pax · 2017-04-07
Nevermind: https://news.ycombinator.com/item?id=14050049
Found here: https://staltz.com/an-off-grid-social-network.html
/via https://redd.it/63swj3