Hacker Newsnew | past | comments | ask | show | jobs | submit | gopalv's commentslogin

The better part of this is having a local-first AI, particularly because it has tool-calling builtin & structured output.

I haven't pushed out a full version[1] which uses ducklake-wasm + this to make a completely local SQL answering machine, but for now all it does is retype prompts in the browser.

[1] - https://notmysock.org/code/voice-gemini-prompt.html


Flickr was the coolest thing Yahoo had when I worked there (Brickhouse was a close second).

I really loved all the places where they snuck in "Game Never Ending" in the product, because they didn't set out to make a photo sharing product, but steered hard into that.

Flickr was the only property which was allowed their own version of PHP and despite having PHP inside, every single URL said ".gne" (Game Never Ending). I worked for the PHP team and that was my only excuse to show up to work in the SF office instead of being stuck in Sunnyvale when visiting the US.

They had all the right bits of architecture built out - rest of Yahoo had great code (like vespa or the graph behind Yahoo 360), but everything was more complex than it should be.

Flickr had the simplest possible approach that worked and they tried it before building anything more complex - the image urls, the resize queues, the way albums were stored, machine-tags, gps co-ordinates.

I also took a lot of photos to put up on flickr, trying to get featured on the explore page up front - it was like getting published in a magazine.

Every presentation I made had CC images backed by flickr, it was a true commons to share and take.

And then Instagram happened.


I have been going back some times to flickr and dropped insta, since it’s a crap place these days (like most of the big socials)

The elegance of flickr is just nice and browsing is fun.

I wonder if there are more sites like it.


Saw some other folks starting to use https://glass.photo

+1 on Flickr being the best acquisition and product Yahoo! had.

I still have my account and old photos there. And because I licensed most of them as CC, a couple of them landed on Wikipedia because of that - felt nice.


I had everything set as CC until I noticed a photo of my very pregnant wife was getting many more views then anything else and I found it cited in a paper on training AI. That was somehow less endearing then someone getting a good use out of my images (which also happened at least once with one of my images)

> a couple of them landed on Wikipedia because of that - felt nice.

as someone who goes down many rabbit holes on wikipedia, i appreciate this comment and all of those CC photos


When I was doing more graphics-rich presentations, the CC photo resource on Flickr was really useful. (In case someone asks, I usually wasn't being paid directly for giving presentations so I convinced myself I could feel comfortable using CC content in general even with strings like non-commercial attached.)

I think the thing was that Instagram was snappy, and Flickr (to my strong recollection) was really slow.

I also loved Flickr, and Pipes was a really cool technology too.

It’s cool that they used PHP, I always thought it was RoR platform.

https://en.wikipedia.org/wiki/Yahoo_Pipes


I thought Flickr predated RoR, went to check Wikipedia: it says both were launched in 2004 but Flickr a few months earlier.

I never understood the appeal of instagram over Flicker.

It's dumbed down. In today's world, dumb always wins.

I was trying to think when I stopped browsing and using Flickr. You just reminded me.

> Flickr was the coolest thing Yahoo had

From my point of view Yahoo destroyed Flickr. I was a happy user for many years and lost access to my photos due to authentication changes. At least Google had the decency to just shut down Reader as opposed to Yahoo's enshittification of a product that sparked joy.


Strong agree that Flickr went downhill rapidly when acquired by Yahoo - but also happy to report that it has since bounced back.

The community isn’t the same of course, but the platform itself is a joy to use again - especially as someone who got tired of Instagram when it stopped being about photography.


The linked clang PR is also very readable.

https://github.com/llvm/llvm-project/pull/181288/files

As the PR clearly points out, you can do this in a register but not inside vectors.

I don't think fastdiv has had an update in years, which what I've used because compilers can't do "this is a constant for the next loop of 1024" like columnar sql needs.


> Multiplication alone requires depth-8 trees with 41+ leaves i.e. minimal operator vocabulary trades off against expression length.

That is sort of comparable to how NAND simplify scaling.

Division is hell on gates.

The single component was the reason scaling went like it did.

There was only one gate structure which had to improve to make chips smaller - if a chip used 3 different kinds, then the scaling would've required more than one parallel innovation to go (sort of like how LED lighting had to wait for blue).

If you need two or more components, then you have to keep switching tools instead of hammer, hammer, hammer.


I'm not sure what you mean by this? It's true that any Boolean operation can be expressed in terms of two-input NAND gates, but that's almost never how real IC designers work. A typical standard cell library has lots of primitives, including all common gates and up to entire flip-flops and RAMs, each individually optimized at a transistor level. Realization with NAND2 and nothing else would be possible, but much less efficient.

Efficient numerical libraries likewise contain lots of redundancy. For example, sqrt(x) is mathematically equivalent to pow(x, 0.5), but sqrt(x) is still typically provided separately and faster. Anyone who thinks that eml() function is supposed to lead directly to more efficient computation has missed the point of this (interesting) work.


Yeah, what you're going to get is more efficient proofs: you can do induction on one case to get results about elementary functions. Not sure where anyone's getting computational efficiency thoughts from this.


Are you under the impression that CPUs are made exclusively from NAND gates? You can't be serious.


Might’ve gotten mixed up with CMOS dominance, or I’m ignorant.


https://en.wikipedia.org/wiki/Mead%E2%80%93Conway_VLSI_chip_...

I'm guessing is what they're really talking about. Which is not about NAND gates.


Just to add a bit, but modern digital circuits are almost exclusively MOS, but even the "complementary" bit isn't universal in a large IC.


I believe you're not ignorant. But many folks probably lack the process knowledge (CMOS) required to understand why :-)


The first part of the parabellum quote matters - we have to let the people who want peace prepare for war.

The Smedly Butler book was eye opening to read for me.

Diplomacy and trade works wonders when the enemy still wants you to buy things.

Sanctions work when they've got things to sell (and raw materials to buy), not bombed out craters where their factories were.

Si vis pacem ...


aposiopesis is followed presumably by some latin phrasing of prepare for war?

[edit, found the real version https://en.wikipedia.org/wiki/Si_vis_pacem%2C_para_bellum ]

adapted from a statement found in Roman author Publius Flavius Vegetius Renatus's tract De Re Militari (fourth or fifth century AD), in which the actual phrasing is Igitur qui desiderat pacem, præparet bellum ("Therefore let him who desires peace prepare for war").


>> It replicates data across multiple, independent DRAM channels with uncorrelated refresh schedules

This is the sort of thing which was done before in a world where there was NUMA, but that is easy. Just task-set and mbind your way around it to keep your copies in both places.

The crazy part of what she's done is how to determine that the two copies don't get get hit by refresh cycles at the same time.

Particularly by experimenting on something proprietary like Graviton.


She determines that by having three copies. Or four. Or eight.

Tis just probabilities and unlikelihood of hitting a refresh cycle across that many memory channels all at once.


Right, but the impressive part is finding addresses that are actually on different memory channels.


Surprising to me that two memory channels are separated by as little as 256 bytes. The short distance makes it easier to find, surely?


Access optimization or interleaving at a lower level than linearly mapping DIMMs and channels. x86 cache lane size is 64 bytes, so it must be a multiple. Probably 64*2^n bytes.


"This is the sort of thing which was done before in a world where there was NUMA"

You sound like NUMA was dead, is this a bit of hyperbole or would really say there is no NUMA anymore. Honest question because I am out if touch.


EPYC chips have multiple levels of NUMA - one across CCDs on the one chip, and another between chips in different motherboard sockets. As a user under Linux you can treat it as if it was simple SMP, but you’ll get quite a bit less performance.

Home PCs don’t do NUMA as much anymore because of the number of cores and threads you can get on one core complex. The technology certainly still exists and is still relevant.


> Surely those are at least an order of magnitude larger than Tolkien's prose and might still benefit from a RAG.

At some point, this is a distributed system of agents.

Once you go from 1 to 3 agents (1 router and two memory agents), it slowly ends up becoming a performance and cost decision rather than a recall problem.


> I don't understand how taking a series of data and applying a random rotation could mathemetically lead every time to "simpler" geometry.

Let's pick a simpler compression problem where changing the frame of reference improves packing.

There's a neat trick in the context of floating point numbers.

The values do not always compress when they are stored exactly as given.

[0.1, 0.2, 0.3, 0.4, 0.5]

Maybe I can encode them in 15 bytes instead of 20 as float32.

Up the frame of reference to be decibels instead of bels and we can encode them as sequential values without storing exponent or sign again.

Changing the frame of reference, makes the numbers "more alike" than they were originally.

But how do you pick a good frame of reference is all heuristics and optimization gradients.


> c^2 is a big number.

Famous tweet about conversations with God.

[1] - https://x.com/WraithLaFrentz/status/1981404849305686219


Except the fine structure constant


> Increased speed only gets us where we want to be sooner if we are also heading in the right direction.

This is a real problem when the "direction" == "good feedback" from a customer standpoint.

Before we had a product person for every ~20 people generating code and now we're all product people, the machines are writing the code (not all of it, but enough of it that I will -1 a ~4000 line PR and ask someone to start over, instead of digging out of the hole in the same PR).

Feedback takes time on the system by real users to come back to the product team.

You need a PID like smoothing curve over your feature changes.

Like you said, Speed isn't velocity.

Specifically if you have a decent experiment framework to keep this disclosure progressive in the customer base, going the wrong direction isn't a huge penalty as it used to be.

I liked the PostHog newsletter about the "Hidden dangers of shipping fast", I can't find a good direct link to it.



Thanks! Great link.


Don't wait for feedback from "real users", become a user!

This tayloristic idea (which has now reincarnated in "design thinking") that you can observe someone doing a job and then decide better than them what they need is ridiculous and should die.

Good products are built by the people who use the thing themselves. Doesn't mean though that choosing good features (product design and engineering) isn't a skill in itself.


Too often that isn't possible. There is a lot of domain knowledge in making a widget there is a lot of domain knowledge in doing a job. when e complex job needs a complex widget often there isn't enough overlap to be experts in both.

sure 'everyone' drives so you can be a domain expert in cars. However not everyone can be an astronaught - rockets are complex enough to need more people than astronaughts and so most people designing spaceships will never have the opportunity to use one.


I find that this argument is used too often to refrain from using your own product.

Yes you're right not anyone can be a domain expert. But anyone in the company needs to at least try to use the product as much as possible.

I worked in companies where even the CEO had never used the product but was telling us what to implement.


I am not asking anybody to be an expert in both (although I am sure such people exist, however rare); I am saying people should ideally have some skill in both. Also, people can collaborate, and learn new skills.

If you're bottle-necked by waiting for the users of your product to give a feedback, you clearly need to spend more time learning how to be a user yourself. Or hire people with some domain skill who can also code.


Have been there, we got pushback from users and we had to back off with releases. Users hunted product owner with pitchforks and torches.

As dev team we were able to crank the speed even more and silly product people thought they are doing something good by demanding even more from us. But that was one of the instances where users were helpful :).

People use dozens of apps every day to do their work. Just think about how are you going to make time to give feedback to each of each.


> Just think about how are you going to make time to give feedback to each of each.

That's pretty much solved by the size of the audiences. You won't give feedback on 12 apps, but 11 other people will probably do so on 11 different apps.

Of course, the issue with my domain is that there's plenty of feedback, and product owners just dismiss it. Burn down your entire portfolio to get that boosted shareholder value for the next earnings report.


And how do you solve that when you are one of those 11 apps when no one wants to talk to you because they have their work to do? Where you don’t have power to say that kind of thing.

Well by asking repeatedly of course but you just piss people off.

Have you ever given feedback to Atlassian, Google, Microsoft?


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: