HNHacker News
TopNewBestAskShowJobs

yuchi

1,434 karma · joined April 2, 2012

Venice based lead of front-end engineering and UX analysis @ SMC (https://www.smc.it)

[ my public key: https://keybase.io/yuchi; my proof: https://keybase.io/yuchi/sigs/iHLqZwLH8F262yODwR0xQa6RSxGBb4-BmsSMyUkiHY0 ]

submissionscomments
yuchi··on Kind of Bloop (2009)
I remember the controversy that happened around its cover art at the time. (I prefer the new one!) The music itself is fantastic. I love Disasterpiece’s music and his track is great.
yuchi··on Tarrare
It is. Click on the “past” link under the story title.
yuchi··on What NPM should do to stop a new colors attack
I know I will be buried in these comments but PLEASE NO. Do NOT pin specific versions in you package.json unless you know you need to.

Instead DO USE package dependencies pinning as much as possible:

1. Commit and keep package-lock.json / yarn.lock files

2. Use the right commands in CIs (npm ci / yarn install --frozen-lockfile)

3. Teach others

yuchi··on Poll: Which FAANG is the most likely to decline in the years ahead?
It is. They call them VPNs and apparently they tell us it’s for “privacy”.
yuchi··on Monti on the ‘Bin – By Iftkryo
Execution of Minto’s Csárdás on a breadbin Commodore 64 by Linus Ákesson of “A Mind Is Born”[0] C64 Demo fame.

[0]: https://youtu.be/sWblpsLZ-O8

yuchi··on Ask HN: Working with large code base for the first time
First of all you’re not going to be all by yourself. Ask previous developers or peers if there are any. Ask them to help you navigate the codebase and find good candidates.

On the opposite scenario, where you have to take ownership of a large codebase and there’s no one around that can guide you through it, if every time you learn something about it you turn it into a test case you will do your future self a favor and at the same time also tracing your progress.

yuchi··on Ask HN: Working with large code base for the first time
If the project you are working on has enough time to burn, and the codebase has no (or near to) unit tests, add them.

Find large utilities that are not coupled with a particular part of the application, and put them under heavy testing. Do not fix any failing test before having completed the test suite.

If you have access to other developers that know the codebase, review the tests with them, and fix failing tests together.

Do the same for the frontend / interface code, but do not go for unit testing imho, go for visual regression testing.

And the end of the process you will have a very large knowledge of the codebase, and you will have improved it at the same time.

yuchi··on Automerge: a new foundation for collaboration software [video]
I really love Automerge, had some fun in the last months with building some small experiment. Some major problem I see currently is the lacking ecosystem.

I had to roll my own persistence implementation on top of IndexedDB and I still haven’t touched the backend synchronization part.

I would love to see Y.js or Automerge more throughly supported by a wider ecosystem of elements that make building a production app easier.

yuchi··on Codesandbox open sources their execution enviornment: Sandpack
Early adopter — and even advocate since we extensively use for our courses on web dev! — fan of CodeSandbox.

Very happy to see the project big and stable enough to start open sourcing core components of the product.

yuchi··on Museum of Plugs and Sockets
That (GA and no cookie banner) and the fact that doesn’t use a mailto link in order to avoid email harvesting means it was built in a different time and just maintained for survival
yuchi··on MangoDB: An open-source MongoDB alternative
Unfortunately “pongo” is a commercial name of a product here in Italy (similar to playdoh)
yuchi··on Where do type systems come from? (2017)
Awesome read! But throwing the Gödel incompleteness theorem at your face at the end of the article without any specific explanation is rude!

Now I want to understand in a similar fashion why the incompleteness theorem makes type systems incapable of preventing all bugs!

yuchi··on What color is your function? (2015)
Absolutely not. JS is single thread and async/await is more or less a syntax sugar around promise APIs.
yuchi··on Practical Front-End Architecture
Sorry to be the “actually…” guy here, but actually… what the article describes is ISOMORPHIC server side rendering, which is very different from traditional SSR + client side dynamic behaviors.

The fact that the same code can render the initial static page AND the dynamic client interactive UI is the point here.

yuchi··on Poka Yoke
Previous discussion with 60 comments: https://news.ycombinator.com/item?id=18050168
yuchi··on Is Hacker News a good predictor of future tech trends?
Only tangential but still interesting.

During the infamous leap second fiasco of Java in 2012 which brought down all JVM servers by saturating the CPU, I saved the day because I was reading about it here on HN while my colleagues were struggling to undestrand why all our environments stopped working.

It took me a few minutes to realize that we were indeed hit by what I just read, look at ten of my colleagues each closely inspecting logs at different ssh sessions, and gleefully give them a precise description of the problem, an approach to verify it and a solution, adding “it’s all over the news guys, you should keep yourself updated”.

yuchi··on Porn Spam on Google Maps
Completely unrelated to the actual topic at hand, but this was the first use of the sarcastic question mark I found in the wild.
yuchi··on Framework Patterns (2019)
I may have given a too cursory read on this article but it seems to be confusing the higher level concept of frameworks with the lower level concept of inversion-of-control. While IOC is indeed the usual foundation for frameworks, and thus also all programming approaches to IOC, a framework does not differentiate itself from competitors by those, but through a wide range of capabilities offered to users.
yuchi··on Force Click for Layer Selection
Yes yes please. I’d love to have it any design app!
yuchi··on Mario Paint Masterpiece
That same exact tune is used for downloaded courses in Mario Maker 2!
yuchi··on Element raises $30M to boost Matrix
Interesting take. Do you have any reference to back these allegations up? (Honestly interested)
yuchi··on Square Banking
Sorry to disagree. The interaction you see in the page is not scroll snapping.

With scroll snapping you the user have always control of the scrollable content. What you do not have control over is where it will stop scrolling. A similar behavior to forced guides in a movable element on rails (such as drawers).

This page doesn’t scroll at all, and uses the scroll as a time control for a “movie”. And that is scroll jacking, as it hijacks the scroll position to do something completely different.

This page, at least on mobile, is also guilty of implementing it in the worst way possible: without any alternative scroll indications and without smooth continuous transitions that make it clear that you are controlling the animation through the scroll.

Apple is somewhat better at doing this since the scrolljacking procedure usually brings you to an element which, at the end of a glamourous entrance, actually scrolls away with the page.

yuchi··on Headless React
But an headless React is only tangentially related to headless components.

Acko is building a React alternative that follows all React semantics but without any render at all. That means no DOM, no nothing. Just components and effects (un)mounting and updating.

yuchi··on Virtual DOM is pure overhead (2018)
@dang please add the (2018) suffix to this article.
yuchi··on Intl
I recently rewrote a very complex, 600-ish lines, legacy date mangling algorithm from moment to the Temporal poly fill and was a breeze to use.

If you have some experience with Luxon or similar immutable date/time data types then you’ll get to use Temporal in no time. The API is incredibly ergonomic and apparently useless things (such as YearMonth) become so useful for even simpler cases.

yuchi··on In praise of --dry-run
Fantastic article, and I promote a stricter approach: `--dry-run` is the default, and you need to disable with `--no-dry`.

For irreversible (such as deletions) actions I even go one step further with a `--no-dry=<some-non-trivial-value>` in order to force some thinking.

Edit: apparently this is way more common than I thought, by reading comments here!

yuchi··on CSS Houdini
I love this evolution and would have been a lifesaver 10 years ago. Currently, not so groundbreaking but still interesting.

What I really don’t understand is why they still insist on global namespace polluting APIs. It was ok-ish with CSS Animations’ names, it broke any real project with custom elements (want to have 2 different versions of the same element? Good luck) and then this…

They really don’t care about actual folks trying to incrementally upgrade applications or developing composite applications. All of this requires a level of coordination that is prohibitive to have in enough complex projects…

Odi ed amo…

yuchi··on I spent some time exploring how to improve the UX of code blocks on the web
And this is the power of MDX (and some great focus from the author of course). I’m having a hard time trying to understand why some people seem to dislike MDX, it is the holy grail of web authoring imho.
yuchi··on Announcing Rome Tools, Inc.
Parent comment was talking about this specific Rome project. And he is indeed right, it was a Facebook project at the earliest stage, but moved out of it when Seb left FB.
yuchi··on Argentine version of Google falls into “wrong” hands
I once bought .org.it after some newspapaer misspelled our .it domain name as .org.it (which is a non-existant TLD) and I tried to regain the exposure.

They didn’t let me through though… :(

← PreviousPage 3 of 18Next →