HN user

julik

712 karma

https://blog.julik.nl and https://github.com/julik

Posts24
Comments250
View on HN
blog.julik.nl 6mo ago

We have to re-learn to walk alone

julik
1pts0
blog.julik.nl 6mo ago

Your workflow system just runs DAGs

julik
2pts0
blog.julik.nl 6mo ago

Dreams of Marshalable Stacks

julik
1pts0
blog.julik.nl 7mo ago

Be Careful with GIDs in Rails

julik
44pts20
blog.julik.nl 8mo ago

Intuitive UIs support user habits

julik
1pts0
blog.julik.nl 10mo ago

Perception frequently matters more than legibility

julik
1pts0
blog.julik.nl 10mo ago

With LLMs, Drive Manually

julik
2pts0
blog.julik.nl 11mo ago

Turning your Apple Calendar into a time tracker

julik
1pts0
blog.julik.nl 12mo ago

Hexatetrahedral Rails

julik
33pts19
blog.julik.nl 12mo ago

Why Can't We Just Send an HTML Email

julik
4pts0
blog.julik.nl 1y ago

Data Over Time – some tips on dealing with the challenges of temporal data

julik
1pts2
blog.julik.nl 1y ago

The bare minimum you need to use Cache-Control

julik
2pts0
blog.julik.nl 1y ago

Testing web-apps with subdomains using Zeroconf

julik
5pts0
blog.julik.nl 1y ago

Shardines: SQLite3 Database-per-Tenant with ActiveRecord

julik
255pts75
blog.julik.nl 1y ago

Template-Scoped CSS in Rails

julik
2pts0
blog.julik.nl 1y ago

A Supermarket Bag and a Truckload of FOMO

julik
116pts74
blog.julik.nl 1y ago

Writing a tiny undo/redo stack in JavaScript

julik
170pts69
blog.julik.nl 1y ago

Musings on Module Registration (and Why It Could Be Better in Rails)

julik
7pts0
blog.julik.nl 1y ago

The Surcharge of Big Tech

julik
2pts0
blog.julik.nl 1y ago

Disownership, Pull Requests and De-Facto Architects

julik
1pts0
blog.julik.nl 1y ago

Supercharge SQLite with Ruby Functions

julik
159pts43
blog.julik.nl 1y ago

Speeding Up SQLite Inserts

julik
14pts3
blog.julik.nl 2y ago

Exploring batch caching of trees in Ruby

julik
1pts0
blog.julik.nl 2y ago

Testing a Thousand Applications with Flipper

julik
1pts0

It is bad terminology, yes. But also - a pretense that you know the overarching influence of a commit ahead of time, which you don't - but once you have conventional commits everyone on the team and the LLMs have to spend time/tokens inventing that stupid nomenclature.

Cloudflare Flagship 2 months ago

Which is not hard to do (it is a modulo over a mersenne twister or something similar), but in my recent gigs just Flipper with optional "state of the flags table as of now" endpoint was more than enough. That modulo+random combo required tools like LaunchDarkly to ship SDKs in several languages, and the ones I had to work with were just plain horrible fit for their language of choice. But because the evaluation was relegated to the edge, the whole system got way more complex than desirable. In actuality, I think a refetch of the current flags table "for this customer" every so often is just fine, and way less of a nuisance.

So glad Flipper exists and I don't have to deal with this stuff anymore.

This is the next evolution of the "My film does not use CGI" sneering. Sure, doing proper pre-rendered VFX with photo-realism is great and also people doing it love it. But can it be done on the budgets/fixed bids/turnarounds when the producer comes with "...and all of that will be a full virtual set and it should be streaming next Monday morning", for peanuts?..

If it's Gore saying it - maybe he should talk to his producers then, and ask them whether they actually have budgeted the "proper" VFX talent/timelines for the show. He has creative control - the people doing the work do not.

Mine is 2560x1440 which is a pretty nice "sweet spot" size. A comparable 5k to 6k display still commands a substantial price, and - given that I work at two locations - would need me to have two of them. The screen I use as my current (a 3x2 BenQ) also has some amount of subsampling going on, because running it at 2x ("Retina native HiDPI") all the UI controls are too damn big, and space is not enough. Running it at 1x (everything teeeny-tiny) is just not very good for my eyesight and not very workable - and, again, with Zed bumps into the same broken antialiasing rasterizer they have.

And it is not an OS thing. The OS renders subpixel antialiased fonts just fine. But Zed uses its own font rasterizer, and it completely falters when faced with a "standard passable resolution" screen - the letters become mushy, as if they have been blurred - and rather sloppily at that.

Interesting article, but it mixes up two concerns, I would say. One is retrieving trees from the DB and storing them - which can be annoying but has nothing to do with permissions. Another one is "hiding" unpermitted nodes/branches from the viewer (if that is what applying permissions is about - it can also handle read-only things, for instance). If these two concepts get separated and it is not a big deal to "overfetch" for the current user before doing the filtering - things become way easier. When the tree is reconstructed, you can do breadth-first traversal and compute permissions for every item in there - or retrieve the permissions for items at that level, if you are doing ACL stuff. From there - if there is no permission for the current viewer on that node - you exclude it from further scans and you do not add its' children to further traversals as you go down. Max. number of scans = tree depth. With some PG prowess you could even fold this into sophisticated SQL stuff.

Trees with RDBMSes do stay a pain, though :-)

This ELAC version is 100-something, and the A320 first flew around 1988. Why the updates - for example, there are updates to flight control law transitions, like after 1991 where the aircraft would limit flight control inputs during landing, thinking it would be preventing a stall - because it would not go into the flare law appropriately. See https://en.wikipedia.org/wiki/Iberia_Flight_1456

The cause could have also been an extra check introduced in one of the routines - which backfired in this particular failure scenario.

The animations were there, but they were frame-based with the number of frames carefully calculated to show UI state changes that were relevant. For example, when you would open a folder, there would be an animation showing a window rect animating from the folder icon into the window shape, but it would be very subtle - I remember it being 1 or 2 intermediate frames at most. It was enough to show how you get from "there" to "here" but not dizziingly egregious the way it became in Aqua.

Truth be told, I do have a suspicion that some folks (possibly - some folks close to Avie or other former NeXT seniors post-acquisition) have noticed that with dynamic loading, hard drive speed, and ubiquitous dynamic dispatch of ObjC OSX would just be extremely, extremely slow. So they probably conjured a scheme to show fancy animations to people and wooing everyone with visual effects to conceal that a bit. Looney town theory, I know, but I do wonder. Rhapsody was also perceptually very slow, and probably not for animations.

There were also quite a few tricks used all the way from the dithering/blitting optimizations on the early Macs. For example, if you can blit a dotted rect for a window being dragged instead of buffering the entire window, everything underneath, the shadow mask - and then doing the shadow compositing and the window compositing on every redraw - you can save a ton of cycles.

You could very well have do-wait-do-wait loops when custom text compositing or layout was involved and not thoroughly optimized - like in early versions of InDesign, for instance - but it was the exception rather than the rule.

That is an interesting difference. Also, from what I know, the German signaling is configured in such a way that there always be sufficient braking distance between signals - including speed reductions, whereas if you look at how tightly the UK speed signs are placed it seems that they do not give any "warning", they state the fact - and you better be prepared.

Most European railways require a driver to have done some route familiarization for most routes, which tends to work fairly well. What does not work very well is that the UK has very patchy and antiquated train safety systems (AWS / TPWS are somewhat rudimentary and deployed - by far - not everywhere) and signaling. Even speed restrictions in the UK are placed very, very tightly and you better know them by heart because they didn't get placed with the idea that the driver must have sufficient time to reduce speed / react between where they get a warning signal and where the restriction comes into effect.

I suspect the move from public to private ownership did adversely affect the upgrades of those, as well as electrification on several key routes.

If I remember correctly they do not even have something as basic as an electronic coursebook - which became mandatory in Germany in the 90s already. And at least in NL if you have a set of routes in a certain direction / route set - drivers would get route familiarization both for the main routes and for the bypasses.

It does seem like it - with the addition of "one sentence per paragraph", which - outside of its LinkedIn format - feels like yelling. This format doesn't incite trust in the person advising (let alone the tone).

...by the passing of which the name of the game will be to find another vehicle for occluding reality and creating optics. Something to replace "bets" with "shaping" and "appetite", for example.

Connecting effort and outcome is hard as orgs get bigger, and a lot (a LOT) of those strategies have to do with optics and the "sponsors" being "on the wave" at the moment (trusted by owners/board). While it is not realistic to say "we do the work until it works and costs be damned" some tools for this are required, and I would say putting out a "bet horizon" of a year or a quarter is setting up some nice political battles in the future.

* Get appointed as paid managers of a non-profit * Get advice from legal * Legal suggests removing long-term maintainers without liability contract the same way people get fired: immediately and instantly, and screw the consequences. "Open-source? Never heard of it. Protect your entity legally" * Instantly follow the advice of the lawyers to the letter.

Well done, well done.

I have used Base quite a bit in the past but switched to SQLitePro as Base was quite crash-happy (and I never managed to understand why). Might give it a second try since it seems the Base development is progressing, while SQLitePro is stagnating.

Slit scan photography is very cool. And bonus points for making trains the subject matter! Fun fact: back in the day some acquaintances of mine actually made some photos with a flatbed scanner, utilizing its moving head as a slit aperture - was a neat project.

I have regretted releasing OSS under the umbrella of employers, and will likely not do so in the future. And while I never regretted releasing OSS as such, I did often have regrets that while I know the software was better than what was currently available in the market, me being bad at marketing meant that it would still not get any use.

I get the point, but on mobile devices especially it is vastly more pleasant to read a decently-formatted HTML email with a dash of responsive design, for font sizing for example. And showing some text and a "Download PDF" widget - to find a PDF with exactly the same content - can actually be infuriating, because you would expect that the PDF would contain something _in addition_ to the plain text.

Hexatetrahedral Rails 12 months ago

I doubt I agree with this statement. If a junior is causing a full table scan by doing a where(), I will teach them how to detect it - and how to avoid doing this in the future. If the idea of how a joint does applications is that a junior should be able to work with the codebase without being able to generate a SQL query of arbitrary complexity - that is a valid desire, but let's not call it "a better architecture", let's call it "I want cheap labour from people I don't trust and don't want to teach".

Maybe if the generation of those queries is from templates and it is the concern at hand - a better approach is using a restricted templating system like Liquid where all possible queries are canned and pre-generated via specific template helpers, but I doubt this mandates a Repository still.