HN user

candu

1,346 karma
Posts7
Comments310
View on HN

Well, yeah. That's why we have "research & development" as a term.

What you're referring to is the "development" part of that. In some sense: the job you have _exists precisely because it's not part of the research phase_, and it's equally as valuable as the research part. Research is the proof of concept; development is scaling up and making production-ready and finding small efficiencies and so on.

From an industry perspective, it's tempting to conflate these, because that's what industry research labs are designed to do: integrated R&D. But that is not at all how academic research labs work.

Declining America 2 months ago

As a Canadian / American who now lives in Europe: IMHO the two-party system and current constitutional structure in the US is an unfortunate local maximum.

It was very definitely better than the centuries of militaristic monarchic feudalism Europe waded through from medieval times until the mid-1900s. It is very definitely worse than modern pluralistic coalition-based democracies with proportional representation, which offer a wider range of choices to voters, and make it possible to launch competing parties / movements to counter institutional stagnation.

Until recently, the one counterargument I would hear to this second assertion is "but coalition governments have a hard time getting anything done". Now that we see a prime example of a government that alternates between a) not getting anything done and b) getting things done that belong somewhere in a timeframe from the 1890s to the 1940s, I no longer hear people making that counterargument.

Re: constitutional structure, one Irish friend I have made an interesting point: in his lifetime, there have been many changes and amendments to the Irish constitution. This is next to impossible in the US system, both because of the party loyalty dynamic mentioned above _and_ because of the incredibly high procedural bar to doing so. (And not least because of the current predominance of originalist thinking in the judicial branch, as though the constitution were an infallible document handed down from gods among men, eternally to be interpreted as the Founding Fathers intended back over 200 years ago in a completely different social, political, and technological context.)

"Force" is often an unrealistic expectation, though. Taking Claude Code as an example: you can add as many rules / guidelines as you want in instruction files, but they will not be followed 100% of the time, and more is not better [1].

You can of course use PreToolUse hooks to block particularly damaging actions of the "rm -rf" variety, but this is also not 100% guaranteed unless you're able to block _all_ ways of performing that damaging action (and you would be surprised: agents will happily write custom python / bash / etc. scripts to do actions you tried to block them from doing!)

Tools help instruct the agent to redo work e.g. to pass linter / formatter checks or relevant tests. But I've also seen them ignore those, often enough to be noticeable: e.g. "17 of 18 tests pass, the other 1 wasn't introduced by this feature" - regardless of whether that's actually true or not, regardless of whether I put "ALWAYS make sure ALL affected tests pass" in an instruction file somewhere.

This isn't to refute your main point: yes, you can improve your chances that AI will write good code. But there is no magic bullet that will force it, 100% of the time, to write good code; this is where vibe coders without requisite coding + engineering skills hit a wall. A multi-layered approach of guidelines + progressive disclosure + tools + hooks indeed reduces the probability of bad code enough to be useful for many engineering tasks.

[1] https://straion.com/blog/1m-tokens-wont-save-your-engineerin...

As someone who now lives and works in Denmark: it's sad that so many of us have been conditioned to think 6 weeks severance is generous.

Here, labor unions are quite widespread, and very effective at negotiating reasonably but firmly. As a result, I can depend on 3 months severance _guaranteed under law_ after 6 months at a job. (After 3 years, it goes up to 4 months, and then from there up to a max of 6 months.)

It puts the responsibility for risk of instability, errors in planning hiring / capacity, etc. firmly where it belongs: with the employer.

(And no, the economic sky is not falling here as a result. Quite the opposite.)

but people have hundreds and thousands on conversation on these apps that can't be easily moved elsewhere.

Except these aren't conversations in the traditional sense. Yes, there's the history of prompts and responses exchanged. But the threads don't build on each other - there's no cross-conversational memory, such as you'd have in a human relationship. Even within a conversation it's mostly stateless, sending the full context history each time as input.

So there's no real data or network effect moat - the moat is all in model quality (which is an extremely competitive race) and harness quality (same). I just don't think there's any real switching cost here.

Adversarial Wordle 6 months ago

For anyone who's a fan of the word game Wordle (where you try to guess a secret 5-letter word in 6 guesses): I've been working on a small side project I call Adversarial Wordle. Enjoy!

Trust and Mistrust 7 months ago

Some meandering thoughts on high-trust and low-trust systems, and the design choices they make.

TBH there will likely be a _huge_ demand for "digital sovereignty consulting" over the next while, especially in the EU (and maybe also Canada).

Here in Denmark, the previously unthinkable is happening: because of Schleswig-Holstein's leadership in moving to OSS, the Danes are now seeking to learn from the Germans (or at least, that particular set of Germans) about digitalisation! That trend, plus the Danish government's all-in-on-vendors/consultants approach to digitalisation, will likely open a sizeable market - and the traditional vendors like Netcompany have taken a large beating in public opinion themselves, so it's a good time to start something in this direction.

And at the Digital Tech Summit in Copenhagen this year, digital sovereignty (and the lack thereof) was a very prominent theme across both public and private sector talks. As was the comparative advantage the EU has in _trust_, and how that helps e.g. businesses around cybersecurity, privacy-oriented SaaS, and data management expand even outside the EU - which makes it extra infuriating to see continued political interest in things like Chat Control and cracking down on GrapheneOS. This trust is IMHO pretty much the only advantage the EU has in the global tech marketplace, and we're busy throwing it away.

As a Canadian-American living in Denmark, I've seen both sides of this. In short: trust and mistrust are _both_ self-reinforcing concepts.

To take an example - would I want the current US government to be better at compiling information across all its agencies / departments? Absolutely not. What it does with its current level of consolidation is authoritarian enough that I'm not moving back there any time soon. I hear similar sentiments from my Hungarian colleagues, who are quite familiar with competitive authoritarianism in their own country.

Of course, this mistrust becomes self-reinforcing. I don't trust the US government, so I want it to be bad at its job - but then it's bad at its job, so I see it as ineffective and bloated and continue to mistrust it.

IMHO the only way out of this spiral is the hard way: a system must do the hard work to show itself trustworthy, and it must do so _before_ people will entrust it with the information that would make the job of being trustworthy easier. As with human relationships, it takes a _lot_ more work to repair trust than it does to break it. Unlike with human relationships, you also have systemic factors: the system needs an unbroken series of good, principled leaders; it needs to visibly and credibly punish corruption, not turn a blind eye; it needs to de-escalate divisions, not inflame them; it needs various institutional safeguards to work properly, not chop away at them; it needs to allow meaningful dissent and criticism, not crack down on it; it needs to learn from expertise, not undermine it.

Most importantly: the system needs to learn from its failures, and adjust the rules and incentives of the system itself to prevent those failures from recurring. This is generational work.

Obsidian Bases 11 months ago

I see a lot of complaints about scope creep and vision drift here, so I'll add a different perspective: I use Notion right now, but have been considering a switch to Obsidian for a while now (variety of reasons, chief among them a desire to reduce my own dependence on US-based tech platforms and tools).

The lack of something like Notion databases / tables was the last thing stopping me from migrating over; I found this feature really helpful for organizing my thoughts and tasks as I want them organized, and not having it would have been a noticeable UX regression for me.

With this launch, I'll take a deeper look. It's that simple: it provides a feature many want, largely because it's seen as a killer feature of comparable closed platforms.

100% agree that spending on R&D is _very_ efficient in terms of just about anything you could conceivably care about - downstream economic outcomes, quality of life, geopolitical strength / prestige, etc.

For instance, in 2023 the US spent ~$190B in federal funding on R&D [1], compared to a budget of ~$6T [2] - i.e. about 3%. It's really really not a lot when you consider the aggregate impact over decades.

But it is still a lot in an absolute sense. This funding supports an entire ecosystem across both academia and industry that directly creates hundreds of thousands of jobs, many of which require highly specialized skills. I mention this not to create a sense of sticker shock, but to drive home the point that making this investment is a big and complex task - and one that takes a long time to rebuild. I firmly believe that the current chaos in the US will take at least a generation to repair.

[1] https://ncses.nsf.gov/surveys/federal-funds-research-develop... [2] https://www.cbo.gov/publication/59727

Government investment in science is...the only way basic science happens, really. I'd recommend reading The Entrepreneurial State [1] here: in essence, basic science pays off too slowly to interest even the most deeply-pocketed capital interests, but it pays off, so wise societies invest in it; Silicon Valley owes its existence to massive formative public investments in underlying technologies.

Not to mention that smart people generally prefer to live in places that value and protect science, so it's _also_ an indirect form of geopolitical talent recruitment. (See brain drain + brain gain impacts of science policy, for instance. There's a strong argument to be made that US mid-20th-century dominance in science and engineering was largely driven by a lot of very smart people fleeing Nazi Germany.)

Basic science isn't so much a lottery ticket as a bond with unknown maturity measured in decades, a _very_ high rate of return, a high minimum investment, and dividend-like payouts created by adding skilled scientists, engineers, etc. to your tax base.

[1] https://marianamazzucato.com/books/the-entrepreneurial-state...

Agree that it's messed up, but it's _not_ working for free:

I was laid off in May, and per Danish law, as an employee of over nine years, I have a six-month notice period. I've been relieved of my duties, but I am still officially an employee until the end of November. I'm also entitled to three months of severance pay after my notice.

As someone currently living and employed in Denmark, I can confirm that this is how it works as per Funktionærloven § 2 s. 2-3. Once you've worked somewhere for 6 months, the employer has to give you 3 months notice when terminating your employment. Every 3 years, that notice period increases by 1 month.

Depending on circumstances, other regulatory requirements, etc. employees let go might be placed on garden leave: they get paid for the notice + severance period, but aren't expected to come in.

On the other hand: he mentions working 60 hour work weeks. That is _very_ unusual in Denmark, mostly because in many cases it's illegal by the 48-hour rule (see e.g. https://english.ida.dk/working-hours).

A writeup about how I'm migrating large portions of my digital life away from Big Tech platforms. I'm not making as exhaustive or dramatic an effort as e.g. [1] - but in exchange, the goal is to show that this is something people can do (and should consider doing (and for the tech-savvy audience here, should consider helping other people do)).

Open to suggestions on platforms / tools, questions, respectful debate, etc.

[1] https://gizmodo.com/i-cut-the-big-five-tech-giants-from-my-l...

(Disclaimer: I've never tried to move large numbers of people off of Facebook; I have organized community groups from scratch before, and I have led initiatives at work that consisted largely of convincing people to do a thing. Much of this advice is from that perspective. YMMV.)

So: my advice is to not think of it as all-or-nothing. You will not be able to move 300k people off of Facebook overnight. This is somewhat akin to every IT migration project ever: it always takes longer than you think, and is not always a linear process from "fewer people migrated" to "more people migrated".

It's also akin to community organizing: there is no substitute for actually talking to people about it, especially in the initial phases. Or: high-touch sales, where you may initially need to spend a lot of energy and time per person successfully moved over. The other common thing here is that you will hear "no" a lot, which is a valuable experience anyways (but will be frustrating).

Also: unfortunately, no one will care if it's self-hosted or federated, outside of niche tech circles. They will care about whether they can reach the people they want to reach, and whether the user experience is good or not. This is reality: talking about these points will not help you.

Some things you'll probably need to do:

- Identify a single credible alternative platform. - Identify specific groups of people who are willing to be early "de-adopters". For instance: a local youth group, a sports club, whatever. Ideally you are a part of this group already; you then have a much better chance. Businesses will likely say no, so you want community groups. - Within those groups, identify champions: people who care about the same thing you care about, and are willing to commit time and effort to help. - Together with your champions, build a toolkit that allows you to scale up your efforts. This may be guides on how to talk to people about the change - what works, what doesn't. This might be instructions for setting up a specific platform. It might be communications channels, leaflets / flyers for putting up in public places, whatever.

Cool! This could be interesting as the base for a quick kanban board for mid-sized personal projects.

That said: agree with others that sharing state between devices (either yours or others), and being able to collaborate on the same board, is sort of the canonical feature requirement of kanban boards. They can be used for 1-person projects, goal tracking, etc. - I've used e.g. Notion boards in this way - but they gain most of their value from allowing multiple people to share awareness of task status and ownership.

Plus the use of localStorage means I'd eventually blow away my board state by accident - which is kind of a showstopper IMHO; being able to trust your tools is important.

Still: nice to see people experimenting with what you can do just using web basics :)

...it corresponds to the ability of a person to convince others that they are at that level.

One note on this: as your career progresses, your ability to convince others around you that you're at a certain level goes from being unimportant to important, and then from there to essential.

After all, you need to influence others to do just about anything that involves more than yourself - and developing that power of influence is very much a skill in and of itself (see [1] for instance: it takes a lot to deliver even a simple, clear decision effectively!)

[1] https://randsinrepose.com/archives/mandate-dissect/

Well, you can always leave.

Usually this should start with a frank conversation with your manager. Something like this: "For a while now, I've been fielding IT requests from the entire company. I appreciate that you've been helping manage expectations upwards, but my workload is still unsustainable, and to be honest I haven't been enjoying my work for a while now. If this situation doesn't improve by {insert near-future date}, I'll have to leave."

And then: just start saying no to things. Someone high up says "I need X immediately"? Either say "well, I'll put it on my backlog, and I can get to that in Y weeks" or "I can do that immediately, if you go to these people and tell them I can't do what they asked because this is higher priority."

At least, that's if you want to do it the gradual and non-bridge-burning way. You can also decide that game isn't worth it; there's lot of other tech jobs out there.

Like is it supposed to be this hard to build a UI?

Yes. It is hard to build UIs that are accessible, intuitive, and robust to a wide range of user inputs, interactions, and devices. It's a different kind of hard from backend / infra work.

I agree with what many others are saying here - to get started, you can strip away the complications of React, state management, CSS libraries and just learn basics. Tinker around in CodePen. Create a minimal HTML / CSS / JS static page and serve it with e.g. `python3 -m http.server` or `npm install -g http-server; http-server .` Read through e.g. MDN docs [1].

Find someone - maybe a coworker, maybe a friend, whoever - that knows frontend development better than you do. Pair, ask questions, get some peer mentorship. Ask them to review your frontend code - maybe at work, or maybe throw a Github repo up with a personal project and send them a link.

Find examples of good UI / UX, the kind you appreciate. Pick a small part: maybe it's a specific form field, or an animation, or a data visualisation, or even just a layout. Try to build a simple version of it yourself. Start small, start simple. Even if you don't build the beautiful version, now you might see what small details are lurking in that beautiful version.

Don't forget: you've been a (mostly) backend engineer for ~10 years. How long did it take you to really grok the beauty and challenges there? It will take time and effort. It will also pay off: you'll gain a clearer understanding of what others around you are doing, and how your work fits together with theirs.

[1] https://developer.mozilla.org/en-US/docs/Learn

It's always worth thinking about who the audience / userbase of your UI is, and whether they'd benefit from an expert user interface [1] or not.

Sometimes, they would (e.g. the "users paid more than the programmers" rule of thumb, but also: various technical disciplines, most anything used for professional-grade work). Sometimes, they wouldn't - or perhaps some would and some wouldn't (so perhaps you're looking for a simple base UI with some accelerators [2]).

IMHO the issue is that many products fall into this last camp - where a well-designed simple UI is called for, but also accelerators could greatly help a small but important subset of power users - but we treat the power users as though they don't exist.

[1] https://www.nngroup.com/articles/testing-expert-users/ [2] https://www.nngroup.com/articles/ui-accelerators/

Well, for their Danish employees at least, they’ll get 3-6 months notice, and they’ll be required to negotiate with employee representatives due to the size of layoffs.

And then a combination of public and private unemployment benefits kick in. And if you want to e.g. retrain or pursue a graduate degree, there’s support for that too.

So there’s a solid safety net, but employers are also required to shoulder some responsibility for supporting terminated employees.

Tbh, I downvoted you not because I don’t value quality communications, but because negotiating around your capacity is a small slice of professional communication, and your approach is needlessly adversarial. You will experience a lot of useless friction in your life by taking that approach.

Good communication isn’t adversarial: by the time it becomes adversarial, you’ve already lost. It can include solid documentation, taking the time to mentor others, respectful but clear code reviews, helping others argue your case for rescoping, presenting your work at meet-ups or conferences, hallway testing a new feature, listening to teammates explain an approach…

…and yes, sometimes negotiating capacity. If that feels like an adversarial conversation, then your manager sucks, and you should find a new one.

I mean, Github is doing a lot more than the documentation page for Bear, so it's a pretty meaningless comparison.

I'm also a fan of the "only as complex as needed, and no more" approach, but part of applying that approach is admitting when problems have a level of inherent complexity that calls for tools / frameworks to help manage it. The antidote to framework bloat is not the absence of frameworks, it's applying the right amount of them in the right places.

If you sift through https://www.sec.gov/edgar/search/#/q=SVB&dateRange=custom&ca..., you can get a decent sense for which companies had loan, banking, or other arrangements with SVB.

(There's a bit of noise from companies that have "SVB" in their name, and some entries from SVB itself. Also, many of these recent filings simply say something to the effect of "we don't use SVB and aren't materially affected". Still, someone with more time / inclination than myself could crawl / process that to build a much larger database here...)

Meanwhile, in Denmark, I'm a member of an engineering / IT union called IDA.

They offer detailed salary statistics, with breakdowns by role, experience, education, etc. - bringing these into negotiations have already paid for my union dues like 100x. Wages aren't about the absolute amount; they're about what the market rates are for your skills, which have nothing to do with arbitrary thresholds like $100k+.

They also offer contract / offer review to help you understand if an offer is legal and fair. They have social events, workshops, wine clubs (!), etc. They'll provide advice on continuing education paths and what's likely to be relevant. When layoffs started, they sent out special newsletters reminding people of legal severance minimums if you're laid off, and of your rights when you suddenly find yourself handling extra responsibilities if you weren't. (Here that can be considered a constructive change in role, which can force a re-negotiation of salary upwards.)

Since unions are well established here, there's no risk to joining one; practically everyone does.

For all this (and other things), I pay...about $15/mo equivalent. Pretty worth it, IMHO.

Those are all highly worthwhile problems to work on...

...but I'm not convinced any of them are low-hanging fruit. Almost everything on this list would require sustained R&D across several fields of expertise, and many of them have the significant added challenge of overcoming entrenched interests / power structures.

That's not to say we shouldn't try! Solving even a small part of anything here would materially improve quality of life for a lot of people - but these are not "I could solve this in a weekend" problems; these are generational problems, towards which meaningful effort could easily be measured in thousands of person-years from entire teams / organisations / ecosystems of smart people, and where even a chance at success would require a steady supply of adequate resources that is durable across periodic economic shocks.

CERN is the closest thing I can think of as a useful mental model here: sustained cooperation across multiple nations, massive amounts of public investment, clear tangible outcomes over a period of decades.

This isn't accurate: as the name suggests, Silicon Valley happened because hardware took off...

...which happened because, after WW2, the federal government was very interested in establishing a decisive lead in computing and similar technologies [1] [2] [3]. The US military was a key early customer of Silicon Valley, and industry research labs like Xerox PARC received heavy support from publicly funded grants. Projects like ARPANET [4] paved the way for the Internet as we know it now.

To this day, programs like the Silicon Valley Innovation Program [5] continue to subsidise tech firms. This is a feature, not a bug: transitioning new technologies from early basic research to proof-of-concept to commercial viability takes time, more time than many companies and VC firms are willing to wait. ARPA, NSF, etc. exist largely to support this transition, which is why they deploy funding in both industry and academic settings.

[1] https://onezero.medium.com/the-hidden-history-of-how-the-gov... [2] https://marianamazzucato.com/books/the-entrepreneurial-state [3] https://computerhistory.org/blog/the-valley-and-the-swamp-bi... [4] https://en.wikipedia.org/wiki/ARPANET [5] https://www.dhs.gov/science-and-technology/svip