miniblog.

jsx-info https://www.npmjs.com/package/jsx-info is a really neat project that will report how much a property is used on JSX components. It's a really nice generalisation of dead code analysis: which properties are used the most?
IPFS is a really nice distributed filesystem that is slowly growing in popularity. Netflix has found a good use case: container image distribution. https://containerjournal.com/topics/container-management/ipfs-emerges-as-tool-to-distribute-container-image I'm slightly reminded of Usenet: just download content from the nearest server!
The total amount of data from the first spacecraft to perform a Mars flyby was ~600KiB: https://en.wikipedia.org/wiki/Mariner_4#Results That's tiny, but for interplanetary data transfer in the 1960s it's really impressive.
Discord has a neat login technique I haven't seen before. If you open the native client, it checks to see if you've already logged in from the browser! If you have, you don't need to re-enter your password.
Trace which code paths in trunk are covered in each test, then only run relevant tests on pull requests! https://engineering.shopify.com/blogs/engineering/spark-joy-by-running-fewer-tests A neat approach from Spotify, and it does the right thing 99% of the time.
Spark Joy by Running Fewer Tests - Shopify
Spark Joy by Running Fewer Tests - Shopify
Developers write tests to ensure correctness and allow future changes to be made safely. However, as the number of features grows, so does the number of tests. Tests are a double-edged sword. On one hand, well-written ones catch bugs and maintain a program’s stability, but as the code base grows, a high number of tests impedes scalability because they take a long time to run and increase the likelihood of intermittently failing tests. Software projects often require all tests to pass before merging to the main branch. This adds overhead to all developers. Intermittently failing tests worsen the problem. Some causes of intermittently failing tests are timing instability in the database HTTP connections/mockings random generators tests that leak state to other tests: the test passes every single time by itself, but fails other tests depending on the order. Unfortunately, one can’t fully eradicate intermittently failing tests, and the likelihood of them occurring increases as the codebase grows. They make already slow test suites even slower, because now you have to retry them until they pass. I’m not implying that one shouldn’t write tests. The benefits of quality assurance, performance monitoring, and speeding up development by catching bugs early instead of in production outweigh its downsides. However, improvements can be made. My team thus embarked on a journey of making our continuous integration (CI) more stable and faster. I’ll share the dynamic analysis system to select tests that we implemented, followed by other approaches we explored but decided against. Test selection sparks joy in my life. I wish that I can bring the same joy to you. Problems with Tests at Shopify Tests impede developers’ productivity here. The test suite of our monolithic repository: has over 150,000 tests is growing by 20-30% in size annually takes about 30-40 min to run on hundreds of docker containers in parallel. Each pull request requires all tests to pass. Developers have to either wait for tests or pay for the price of context switching. In our bi-annual
I feel like pagination is an unsolved problem on online stores. How many items per page should you show? Should you allow Show All? Should you implement infinite scroll? There doesn't seem to consensus around design best practices.
"Apple could [..] deeply integrate the operating system and the design of the chip itself to [..] bring new features and capabilities to market." https://stratechery.com/2020/apple-arm-and-intel/ Are there real benefits of a bespoke CPU+OS combo? I'm struggling to imagine concrete things it enables.
Impressive ML research building a coloured 3D model from a single photo of an outfit! https://shunsukesaito.github.io/PIFu/ ML still seems to be making major strides. I'm not sure if this means technique breakthroughs, or if we're just fine-tuning established techniques.
The vast majority of 'external brain' systems seem to based on hyperlinked text. This seems to be true for exocortex, memex or zettelcasten inspired designs. This is great for reading, but you can't do DB queries to answer questions. What would a 'semantic web' design look like?
Cute discussion of good and bad CLI naming schemes:
Does usability research suffer from historical bias? I've seen papers suggest that old-fashioned buttons with a bezel are better than the modern flat style. That seems reasonable, but I wonder if the effect would be smaller if early GUIs were flat.
Cute feature I hadn't previously noticed in node: it will evaluate pure expressions before you've even pressed enter! Looks like this even works for functions that it can recognise as having no side effects.
PhotoPhoto
I find mobile-first development easier. Every time I design a UI for a desktop first, it's slightly broken on mobile. It's easier to scale up than down.
Jest has this wonderful feature where it suggests other equality checks you might want to consider if your test fails. It's super helpful and a really nice touch.
Photo
Interesting discussion on globs vs regexps for package configuration: https://github.com/facebook/jest/issues/7185 Is it true that all globs can be expressed as regexps? I can imagine there might be some cute tricks that can't be converted. (I definitely find globs easier to read though!)
Showing 211-225 of 378 posts