Search
142 results for “hongminhee”
-
Commander.jsの
.conflicts()や.implies()は、排他的な組み合わせをランタイムではちゃんと検出してくれます。でも
.opts()の型は賢くならず、戻り値は結局string | undefinedのままです。どのオプションが同時に使えないのかを、TypeScriptは知りません。このズレをパーサーコンビネータでどう型に落とし込めるか、Yargsとの比較も含めて書きました。後半では、環境変数・設定ファイル・対話プロンプトまで同じ型保証を広げる話もしています。
-
I wrote about a problem that's been bugging me with #Commander.js and #Yargs:
.conflicts()and.implies()enforce constraints at runtime, but the type you get back is still a flat object with every field optional. The compiler has no idea which options belong together.The post walks through what happens when you express the same constraints in the parser structure instead, and how #TypeScript turns that into a discriminated union where each branch carries only its own fields.
Second half covers a less obvious question: what happens when values come from env vars, config files, or prompts instead of argv, and whether the constraints should still hold across all of them.
https://hackers.pub/@hongminhee/2026/optique-10-discriminated-unions-for-cli
-
@hongminhee I sometimes add a zero width space (I think). Like "#jernbanedirektoratets #fjerntogstrategi" (genetiv s). Could also be used like #is#pinne?
Putting hashtags at the end creates a #hashtagbar in Mastodon, and I seems to recall that non-space hashtags works for non-latin languages? On the other hand Mastodon doesn't consider line break to be space in the hashtagbar which breaks some asian posts
-
@hongminhee I still write JS because it has a specification. When I adventure into implementation-defined languages for the browser, I use #PureScript
I had great hopes for TypeScript when they were still maintaining the specification, but I dropped it once their solution to implementation drifting from specification was to retire the specification.
---
Also, I come from the camp that the only real type system is a static type system, like Pierce in "Types and Programming Languages".
-
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different things—and both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
-
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different things—and both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
-
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different things—and both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
-
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different things—and both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
-
Salvatore Sanfilippo (@antirez) and Armin Ronacher (@mitsuhiko) both argue that #AI reimplementation of #copyleft libraries is fine. Their legal reasoning might be correct. That's not the point.
Legal and legitimate are different things—and both pieces quietly assume otherwise.
https://writings.hongminhee.org/2026/03/legal-vs-legitimate/
-
As you know I am proponent to emphasize the social aspects more, to drive healthy evolution of the #SocialWeb.
The app-centric #fediverse is a pure technosphere, where a tech-first approach deals with getting app features to the next app, and the #ActivityPub protocol matures via post-facto 'follow-the-leader' #interoperability. What happens in the sociosphere between people using the tech is de-facto of secondary concern, and apps are tweaked to try to deal with externalities. The resulting social landscape has become one of neighboring app kingdoms with guarded borders separating them. Everyone speaks microblog to each other, albeit with thick accents, hard to understand. The fediverse is social *because* of the people, and despite of the tech, that still severely restrains them.
It would be nice if the track name not just indicated a technology name. E.g. https://coding.social uses:
- Fediverse, a peopleverse
- #ReimagineSocial
- #SocialNetworkingReimagined -
As you know I am proponent to emphasize the social aspects more, to drive healthy evolution of the #SocialWeb.
The app-centric #fediverse is a pure technosphere, where a tech-first approach deals with getting app features to the next app, and the #ActivityPub protocol matures via post-facto 'follow-the-leader' #interoperability. What happens in the sociosphere between people using the tech is de-facto of secondary concern, and apps are tweaked to try to deal with externalities. The resulting social landscape has become one of neighboring app kingdoms with guarded borders separating them. Everyone speaks microblog to each other, albeit with thick accents, hard to understand. The fediverse is social *because* of the people, and despite of the tech, that still severely restrains them.
It would be nice if the track name not just indicated a technology name. E.g. https://coding.social uses:
- Fediverse, a peopleverse
- #ReimagineSocial
- #SocialNetworkingReimagined -
As you know I am proponent to emphasize the social aspects more, to drive healthy evolution of the #SocialWeb.
The app-centric #fediverse is a pure technosphere, where a tech-first approach deals with getting app features to the next app, and the #ActivityPub protocol matures via post-facto 'follow-the-leader' #interoperability. What happens in the sociosphere between people using the tech is de-facto of secondary concern, and apps are tweaked to try to deal with externalities. The resulting social landscape has become one of neighboring app kingdoms with guarded borders separating them. Everyone speaks microblog to each other, albeit with thick accents, hard to understand. The fediverse is social *because* of the people, and despite of the tech, that still severely restrains them.
It would be nice if the track name not just indicated a technology name. E.g. https://coding.social uses:
- Fediverse, a peopleverse
- #ReimagineSocial
- #SocialNetworkingReimagined -
As you know I am proponent to emphasize the social aspects more, to drive healthy evolution of the #SocialWeb.
The app-centric #fediverse is a pure technosphere, where a tech-first approach deals with getting app features to the next app, and the #ActivityPub protocol matures via post-facto 'follow-the-leader' #interoperability. What happens in the sociosphere between people using the tech is de-facto of secondary concern, and apps are tweaked to try to deal with externalities. The resulting social landscape has become one of neighboring app kingdoms with guarded borders separating them. Everyone speaks microblog to each other, albeit with thick accents, hard to understand. The fediverse is social *because* of the people, and despite of the tech, that still severely restrains them.
It would be nice if the track name not just indicated a technology name. E.g. https://coding.social uses:
- Fediverse, a peopleverse
- #ReimagineSocial
- #SocialNetworkingReimagined -
As you know I am proponent to emphasize the social aspects more, to drive healthy evolution of the #SocialWeb.
The app-centric #fediverse is a pure technosphere, where a tech-first approach deals with getting app features to the next app, and the #ActivityPub protocol matures via post-facto 'follow-the-leader' #interoperability. What happens in the sociosphere between people using the tech is de-facto of secondary concern, and apps are tweaked to try to deal with externalities. The resulting social landscape has become one of neighboring app kingdoms with guarded borders separating them. Everyone speaks microblog to each other, albeit with thick accents, hard to understand. The fediverse is social *because* of the people, and despite of the tech, that still severely restrains them.
It would be nice if the track name not just indicated a technology name. E.g. https://coding.social uses:
- Fediverse, a peopleverse
- #ReimagineSocial
- #SocialNetworkingReimagined -
CLIパーサーの新しい記事を書きました。
--reporterの値によって--output-fileが必須になったり禁止になったり…そういう関係、型で表現できたら楽じゃないですか? -
@hongminhee I pitched #activitypub to a new social media company in Norway, #Hudd. They had not heard about it (only Mastodon), but was interested in how it could be implemented in their network.
-
Just what the internet needed: another attempt to explain #monads! 🙄 But this time I'm comparing #Haskell and #OCaml approaches to show why #typeclasses make all the difference. Turns out those JavaScript
Promiseanalogies only tell half the story… -
Yes well said! In society we lack ways to deal with wicked problems. The kind where there is no one single solution. It is a given that special interest groups apply their lobbying and propaganda powers to influence public opinion. And that #activism for the good cause and against malign actors lacks ways to spark a large mass of people into coordinated #resistance and onto pathways towards #solutions. The call of the #activist is for #awareness and #participation, but that all too often requires 'sacrifice'. Often harsh moral judgment is given to those who contribute insufficiently in the eyes of the activist. As result the activist does not win people over, and activism may even backfire.
Social experience design, while focused on tech foundations first, is a generic solution development methodology aimed at ability to affect societal impact and solve wicked problems. It defines #CALMculture as a way to organize activism in a commons.
https://discuss.coding.social/t/challenge-calm-culture-to-mitigate-polarization/681
-
I mentioned this thread in the #ActivityPub #C2S tracking issue. I think there's a fundamental risk that C2S is going sideways because of misconceptions between devs on where things are / should be headed.
https://codeberg.org/fediverse/delightful-fediverse-experience/issues/130#issuecomment-11737818
-
Hi @hongminhee,
#asbestos wasn't banned from the beginning, nor was #Xray. Time told. So it may with #LLMs.
As to how productive they are - the data basis so far is too narrow to tell IMO. Some say so, some other. Recently a study claimed devs feel +20% but in fact are -20%.
I have the notion the L im LLM fits the B in Big IT quite well.We have to re-focus from the means to the ends. What goals do we accomplish, not how much software do we engage.
-
Hi @hongminhee,
maybe #LLMs are the X-ray of IT.
In the early days used like candy. (Kids got their feet x-rayed in stores on open appliances, so the parents could see if the shoes fit. No kidding)
As experience grew, use was regulated and cut down increasingly. But it's still used to this day. For narrow usecases. Applied carefully.Admittedly I doubt LLMs are as useful as #Xray. I think it's rather the #asbestos (which made wonderful things of concrete possible but mostly wasn't worth the downsides).
-
Hello @hongminhee
since multiple hours I was sleepless cause I wondered about how to store anything ActivityPub in #deno #kv
I think, I will finish this crazy code somewhen in the next days :) Would you be interested in such a thing?
If:
Tried to solve the following fully ActivityPub conformant, meaning e.g.
- multiple actors can do an action on multiple objects and it needs to be fully versioned cause Undo or Undo/Undo …
- so anything is RFC 6902 <-> kv where anything is ulid and the "version" for the object is the ulid of an Update/Undo etc.
- JSON Patch acknowledges the limits (e.g. size of kv values), any property is stored versioned
- strongly avoiding duplicates;
the "text properties" like contentMap are stored as cid and similar beneath each other by a numeric nilsimsa hash (though /me bad at math)
- we can query all relationships and
- additionally "where", "when", "what" questions are answered by geohash, ulid ranges or a specific hierarchic hash of as:- and our subtypes -
@liaizon @hongminhee @pbzweihander
I'll also tag @[email protected] @[email protected] @[email protected] @[email protected] @darnelltv since they celebrated #FediverseDay last year, 2024.In any case, my proposal is May 18th since it was on this day in 2008 when Evan, the father of the Fediverse, sent the first message.
https://codeberg.org/ddfon/federated-sns/src/branch/main/fediverse-history.markdown
-
Hi @silverpill @hongminhee,
with due respect, I disagree. Resistance was Niklaus #Wirth's answer (https://cr.yp.to/bib/1995/wirth.pdf) and IMO still is. There is no tooling to make bloat go away.What you summarise with the wish for 10 libraries is the utter failure of the standard.