Hacker Newsnew | past | comments | ask | show | jobs | submit | constantinum's favoriteslogin

>AI

I'm apathetic. It's there, it's a tool.

>international conflicts

I am fortunate enough to not live in the countries mentioned. I am close to Ukraine so this one is sort-of important to me in terms that I don't want Russia to win, but at the same time there's no point in following the news closely. If something big happens I will most definitively hear about it whether I'd like it or not.

>The US / Europe

Nothing I can do about any of that so no reason to get emotional. The most I can do as an European is to vote. Anything else is entirely out of my control unless I'd dedicate my entire free time and career to change things and I am completely uninterested in doing that.

>the stock market

Invest in index funds and forget it exists. If even that's too much for you then you then just put the money in the deposit. Interacting with the stock market is entirely optional.

>tech sucks

Always sucked. If you don't believe me feel free to go back to any underpowered machine of your choice and use it as a daily driver for a while. Dealing with any tasks on an old PC with a single core processor and 5400 rpm hard drive is pure agony compared to what we have right now.

>How are you all staying sane?

Stop being terminally online and go do something you actually enjoy. Most of the stuff you mentioned doesn't even actually affect you in the slightest.


Well, that's already done by Amazon's Kiro [0], Google's Antigravity [1], GitHub's Spec Kit [2], and OpenSpec [3]!

[0]: https://kiro.dev/

[1]: https://antigravity.google/

[2]: https://github.github.com/spec-kit/

[3]: https://openspec.dev/


I write documentation for a living. Although my output is writing, my job is observing, listening and understanding. I can only write well because I have an intimate understanding of my readers' problems, anxieties and confusion. This decides what I write about, and how to write about it. This sort of curation can only come from a thinking, feeling human being.

I revise my local public transit guide every time I experience a foreign public transit system. I improve my writing by walking in my readers' shoes and experiencing their confusion. Empathy is the engine that powers my work.

Most of my information is carefully collected from a network of people I have a good relationship with, and from a large and trusting audience. It took me years to build the infrastructure to surface useful information. AI can only report what someone was bothered to write down, but I actually go out in the real world and ask questions.

I have built tools to collect people's experience at the immigration office. I have had many conversations with lawyers and other experts. I have interviewed hundreds of my readers. I have put a lot of information on the internet for the first time. AI writing is only as good as the data it feeds on. I hunt for my own data.

People who think that AI can do this and the other things have an almost insulting understanding of the jobs they are trying to replace.


As the models have progressively improved (able to handle more complex code bases, longer files, etc) I’ve started using this simple framework on repeat which seems to work pretty well at one shorting complex fixes or new features.

[Research] ask the agent to explain current functionality as a way to load the right files into context.

[Plan] ask the agent to brainstorm the best practices way to implement a new feature or refactor. Brainstorm seems to be a keyword that triggers a better questioning loop for the agent. Ask it to write a detailed implementation plan to an md file.

[clear] completely clear the context of the agent —- better results than just compacting the conversation.

[execute plan] ask the agent to review the specific plan again, sometimes it will ask additional questions which repeats the planning phase again. This loads only the plan into context and then have it implement the plan.

[review & test] clear the context again and ask it to review the plan to make sure everything was implemented. This is where I add any unit or integration tests if needed. Also run test suites, type checks, lint, etc.

With this loop I’ve often had it run for 20-30 minutes straight and end up with usable results. It’s become a game of context management and creating a solid testing feedback loop instead of trying to purely one-shot issues.


Hey, Boris from the Claude Code team here. A few tips:

1. If there is anything Claude tends to repeatedly get wrong, not understand, or spend lots of tokens on, put it in your CLAUDE.md. Claude automatically reads this file and it’s a great way to avoid repeating yourself. I add to my team’s CLAUDE.md multiple times a week.

2. Use Plan mode (press shift-tab 2x). Go back and forth with Claude until you like the plan before you let Claude execute. This easily 2-3x’s results for harder tasks.

3. Give the model a way to check its work. For svelte, consider using the Puppeteer MCP server and tell Claude to check its work in the browser. This is another 2-3x.

4. Use Opus 4.5. It’s a step change from Sonnet 4.5 and earlier models.

Hope that helps!


First you have to be very specific with what you mean by idiomatic code - what’s idiomatic for you is not idiomatic for an LLM. Personally I would approach it like this:

1) Thoroughly define step-by-step what you deem to be the code convention/style you want to adhere to and steps on how you (it) should approach the task. Do not reference entire files like “produce it like this file”, it’s too broad. The document should include simple small examples of “Good” and “Bad” idiomatic code as you deem it. The smaller the initial step-by-step guide and code conventions the better, context is king with LLMs and you need to give it just enough context to work with but not enough it causes confusion.

2) Feed it to Opus 4.5 in planning mode and ask it to follow up with any questions or gaps and have it produce a final implementation plan.md. Review this, tweak it, remove any fluff and get it down to bare bones.

3) Run the plan.md through a fresh Agentic session and see what the output is like. Where it’s not quite correct add those clarifications and guardrails into the original plan.md and go again with step 3.

What I absolutely would NOT do is ask for fixes or changes if it does not one-shot it after the first go. I would revise plan.md to get it into a state where it gets you 99% of the way there in the first go and just do final cleanup by hand. You will bang your head against the wall attempting to guide it like you would a junior developer (at least for something like this).


Try hcker.news' small web filter[0], which uses Kagi's small web list[1] to show a hacker news timeline that consists only of personal blogs.

It works really well if you're looking for a cozier timeline.

0: https://hcker.news/?smallweb=true

1: https://kagi.com/smallweb


I first learned to play Go back in university, but never got very good (it was competing with learning how to program). Many years later, shortly after the war in Ukraine started, I was looking for an activity to share with my 8-year-old son. Life was chaotic then: everyone was anxious, we were hosting a refugee lady, and I could see the stress taking a toll on him. I wanted something where it would be clear we shouldn’t be disturbed – and Go fit perfectly. We started playing, and it was fun. One of the great things about Go is its elegant handicap system, which makes it possible for players at very different levels to still enjoy a fair, challenging game.

Since then, we’ve been going to the local Go club in Warsaw, and it’s become our main hobby. We play each other almost daily, travel to tournaments (sometimes abroad), and even spend our vacations at Go summer camp.

The camp is actually a magical event. It takes place at a campsite in the middle of the Kaszuby Lake District. The conditions are spartan – you either live in a tent or a five-person cabin, and hot water is scarce. But the crowd that gathers there is incredible. Over breakfast you might get an impromptu intro to lambda calculus, in the evening you might end up in a deep philosophical conversation, or hear travel stories from far-off places, or suddenly learn way more about knitting than you thought possible. When we first went, it felt like discovering our long-lost family.

The Go community is much smaller than chess, but also far more tight-knit and welcoming. I’ve heard chess can be more cutthroat, while in Go there’s this unspoken understanding that if you drive people away, you’ll have no one left to play with.

When I travel, I like to drop in on local Go clubs. It’s always been a great experience – I especially enjoyed visiting the San Francisco Go Club in Japantown.

I play almost exclusively over the board. I prefer long, thoughtful games, and I can’t really focus the same way on a screen.

Oh, and the anime about Go, Hikaru no Go, is really good (you should watch it even if you don’t care about the game).


Yet another garbage article on "how to become good at X".

Idioms are indeed important, but TDD won't improve your proficiency (except in that you'll learn a testing framework and be writing more code). Neither will attempting to adhere to a "Functional" style when you've not already learned the important lessons of FP from an actually FP-oriented language. Coding guidelines? Be consistent. Discover the guidelines of the code you're working on and use that. That has nothing to do with python or proficiency.

Performance is probably the last part of proficiency that one has to learn, and arguably the most difficult. A lot of other skills have to come together before one can count "performance" as a point of their proficiency in a language, and most of those skills are really quite language-agnostic. Oh, and if you're focusing on performance but you don't yet know how to properly profile and benchmark, you're not proficient.

If you really want to become a proficient Python programmer (or any other language) try this:

1. Find the documentation

2. Learn how to navigate, search, and read the documentation

3. Find a skilled mentor or some community resource (IRC, mailing-list, website forums, etc)

4. Ask what is considered good code. Read it. Study it.

5. Create a project - little ones, like sorting your MP3 collection or mining your email for statistics.

6. Try to use the lessons learned in the code you've studied when writing your project.

7. lather, rinse, repeat. Chances are, you're not proficient until you're doing it for several hours every day - and even then, you're probably not really "proficient"... yet.

/rant off


I got excited until I read that it was Java/Python based.

I'm looking for a library that can extract data tables from PDF and can be called from a C++ program (for https://www.easydatatransform.com). If anyone can suggest something, I'm all ears.


Practice long periods of not having stimulating activities around you. Just sit and be bored for a few hours at the end of the day.

This will increase your baseline dopamine for normal activities. When your baseline is too low, you self medicate by going on Reddit which spikes your dopamine for a while. Taking a break from stimulation lets your brain accumulate dopamine naturally


Here are a few more:

- https://smithery.ai/

- https://github.com/wong2/awesome-mcp-servers

- http://mcp.so/servers

- https://cursor.directory/mcp

But as mentioned above, there is an ongoing discussion for the Anthropic registry https://github.com/modelcontextprotocol/registry


> Look at the use of '—'. So chatgptyish!

I've seen multiple people say this, but when I have -- in my writing and I use ChatGPT to improve it, ChatGPT always removes the -- and rewords the sentence.

Here's my prompt, borrowed from Raycast and slightly modified:

---

  Act as a spelling corrector, content writer, and text improver/editor. Reply to each message only with the rewritten text.

  Strictly follow these rules:
  - Correct spelling, grammar, and punctuation errors in the given text
  - Enhance clarity and conciseness without altering the original meaning
  - Divide lengthy sentences into shorter, more readable ones
  - Eliminate unnecessary repetition while preserving important points
  - Prioritize active voice over passive voice for a more engaging tone
  - Opt for simpler, more accessible vocabulary when possible
  - ALWAYS ensure the original meaning and intention of the given text
  - ALWAYS detect and maintain the original language of the text
  - ALWAYS maintain the existing tone of voice and style, e.g. formal, casual, polite, etc.
  - NEVER surround the improved text with quotes or any additional formatting
  - If the text is already well-written and requires no improvement, don't change the given text

  Text to improve:
  {selection}

  Improved text:
---

I'm the founder of https://doctly.ai, also pdf extraction.

The hallucination in LLM extraction is much more subtle as it will rewrite full sentences sometimes. It is much harder to spot when reading the document and sounds very plausible.

We're currently working on a version where we send the document to two different LLMs, and use a 3rd if they don't match to increase confidence. That way you have the option of trading compute and cost for accuracy.


This is spot on, any legacy vendor focusing on a specific type of PDF is going to get obliterated by LLMs. The problem with using an off-the-shelf provider like this is, you get stuck with their data schema. With an LLM, you have full control over the schema meaning you can parse and extract much more unique data.

The problem then shifts from "can we extract this data from the PDF" to "how do we teach an LLM to extract the data we need, validate its performance, and deploy it with confidence into prod?"

You could improve your accuracy further by adding some chain-of-thought to your prompt btw. e.g. Make each field in your json schema have a `reasoning` field beforehand so the model can CoT how it got to its answer. If you want to take it to the next level, `citations` in our experience also improves performance (and when combined with bounding boxes, is powerful for human-in-the-loop tooling).

Disclaimer: I started an LLM doc processing infra company (https://extend.app/)


I suppose I have perfect pitch, in that I can more often than not:

  * aurally identify key signatures
  * aurally identify chords
  * sing a given note on command
It wasn't until I was into my early twenties that I could do this. For me, the single biggest stepping stone was building the connection between what I could hear in my head from a song that I remember clearly with the underlying music theory.

Specifically, building up a library of knowledge regarding the key signature of songs I liked:

  * Pink Floyd's "Comfortably Numb" is in B minor
  * The famous motif in Beethoven's 5th is in C minor
  * Blues Traveller's "Hook" is in A
  * Regina Spektor's "Eet" is in D-flat
  * Nirvana's "Smells Like Teen Spirit" is F minor
  * etc.
Then, make connections based upon that. Want to sing a B? Just recall the opening, sustained keyboard chord in "Comfortably Numb". Huh, The Beatles "Across The Universe" sounds tonally like "Eet" - I guess it is also in D-flat.

A simple way to do this is to make playlists for a given key, which helps reinforce the sense of shared tonality across songs.


I’m already doing this, but:

- All of Wikipedia English

- Download as many LLM models and the latest version of Ollama.app and all its dependencies.

- Make a list of my favorite music artists and torrent every album I can.

- Open my podcast app and download every starred episode (I have a ton of those that I listen to repeatedly).

- Torrent and libgen every tech book I value. Then, grab large collections of fiction EPUBs.

- Download every US Army field manual I can get my hands on, especially the Special Operations Medic manual, which is gold for civilian use in tough times.

- Download every radio frequency list I can for my area of the country.

- Download digital copies of The Encyclopedia of Country Living by Carla Emory, Where There Is No Doctor, and Where There Us No Dentist.

I already have paper versions of almost all of these but it’s handy to have easily-reproducible and far more portable digital copies.


I’m in the exact same position. Third layoff round in 9 months.

It has completely eroded my trust in this company, to the point it’s irrecoverable. It’s hard to focus (because of the urgent priority to sort it out). It’s not necessarily burnout.

I’ve spent the weekend polishing my CV till it’s perfect, then applying to companies that look good (read: stable). Maybe 15 applications so far.

I’d suggest polishing your CV every 3 months, always be ready to jump at opportunities. And take some PTO. Take a week, use some of the time to apply to jobs, and most of the time to relax and watch the world burn.

At your job, as another commenter said - zoom out. Stay out of all politics, do the work required, spend your quiet time up-skilling, go for a walk before work, and on every break at work. Stay off twitter/reddit or anywhere doom posting about the job market.

You’ll know burnout when it hits - you won’t be able to focus at work, you won’t have any enthusiasm for side projects, you’ll feel tired all the time and rundown, you’ll begin to hate your career and all your colleagues, you’ll go from emotional to numb.

Proper burnout is horrible and its effects last months. I burnt out last year, probably took 4-6 months to be back to normal. Required taking significant time off, and dropping my days worked from 5->4 for months. And moving back with parents etc.


I know of a even more impressive website that will transfer playlists from Spotify (or 20 other platforms, including text files) to 20 other platforms or a text file. I will share the link, but don't hug it to death y'all. :)

https://app.tunemymusic.com/transfer


I've found that repeated practice and building the habit was very helpful for longer term goals like learning.

One thing I've done is explicitly blocked time to work on learning. For example, when I jumped in to learn some UX/Sketch work for a previous company (very small, no designated designers), I would block off an hour that would be specifically for that work. No email, no slack, no code review, just two 25-minute chunks of learning with a break in-between. I would also usually come in a little early and knock it out first thing in the morning, since a) that was the time when there were the fewest distractions and b) then I could check it off my TODO list and not have to worry about it for the rest of the day.

More recently, at a larger company with more meetings, I've found that explicitly blocking time/space to work on something can be really helpful for heads-down learning.

Side note: I've also found that having the goal of sharing with my team (via informal tech talks) is a tremendous way to learn and to stay diligent.


I use Clay (https://clay.earth/) but haven't used it much as I found the search was lacking (my primary use case is searching for contacts that fulfill X criteria)

This is a repeatable pattern:

  1. A well-known major company sees that people are relying on something broken and it's hindering progress.
  2. The company decides to compete with that thing, but it's not part of their mission, so they make it free.
  3. Because the new thing is free, and run by a major company, lots of people come to depend on it, even though it's intentionally not the best.
  4. Another company builds more competition and works to actually be the best.
  5. The major company sees that their original objective of replacing the bad version is fulfilled, so they sunset the thing.
  6. People who came to depend on the thing feel betrayed.
This is why we should all be cautious about any non-core free service from major companies.

For years I made the error of learning music theory without enough ear training. You have to hear and feel the theory, it's not only intellectual.

Then I found 2 exercises are all I needed for playing and composing music by ear:

- Functional intervals / scale degrees: https://tonesavvy.com/music-practice-exercise/220/functional.... If you start tone deaf like me checked "Fixed Key", learn all the intervals, then restart with basic intervals without fixed key.

- Melodic dictation: the advanced version of the exercise above once you are comfortable with each interval: https://tonesavvy.com/music-practice-exercise/222/melodic-di...

Once you can do melodic dictation you will be able to easily decode anything you hear, and map it to theory.

Edit: chord identification (https://tonesavvy.com/music-practice-exercise/216/chord-iden...) is obviously important but by then identifying basic chords should be easy, so it's for a more advanced level.


There was a HN discussion some time ago about choosing a textbook that is optimal for oneself (https://news.ycombinator.com/item?id=41016650), and this passage from the answer about deliberate practice stuck out to me:

In the field of talent development, there is absolutely no debate about the most superior form of training. It's deliberate practice: mindful repetition on performance tasks just beyond the edge of one's capabilities.

Deliberate practice is about making performance-improving adjustments on every single repetition. Any individual adjustment is small and yields a small improvement in performance – but when you compound these small changes over a massive number of action-feedback-adjustment cycles, you end up with massive changes and massive gains in performance.

Deliberate practice is superior to all other forms of training. That is a "solved problem" in the academic field of talent development. It might as well be a law of physics. There is a mountain of research supporting the conclusion that the volume of accumulated deliberate practice is the single biggest factor responsible for individual differences in performance among elite performers across a wide variety of talent domains. (The next biggest factor is genetics, and the relative contributions of deliberate practice vs genetics can vary significantly across talent domains.)


There are many great bloggers out there. Some of my favorites:

  - nullprogram.com
  - zserge.com
  - eli.thegreenplace.net
  - smalldatum.blogspot.com
  - rachelbythebay.com
  - muratbuffalo.blogspot.com
  - sirupsen.com
  - brooker.co.za/blog/
  - jack-vanlightly.com
  - utcc.utoronto.ca/~cks/space/blog/
  - jvns.ca

Google have reached the point where they know that every website is fundamentally dependent on them, and now they're taking advantage of it that to make their lives easier by forcing the entire internet to change every time some commonplace practice makes their algorithm's life harder. They've been doing it on a technical level for a while, in terms of stuff like how ads may link to the destination. Now they've simply moved onto dictating the culture and social norms of the Internet. If your way of sharing good writing with your actual readers makes life harder for Google, well you'd better change your practices or they'll punish you, even if you're not doing it for them.

Look up the concept of a "Central Limit Order Book" (CLOB) -- this is the fundamental data structure that allows the matching and of buy- and sell-orders on a typical exchange "matching engine". It matches these orders in "price-time" priority.

Once you understand this, everything else, at least at a technical level, more or less falls into place, but you will need to learn a bit about the various order types (market, limit, etc), and the concept of "liquidity provision"

On top of that you can look at concepts like "Exchange Connectivity", "Market Data" Feeds, "Clearing" and "Central Counterparties", and, of course "FIX".

It will take time, but it'll all fit together in the end and you'll end up with a reference architecture for a prototypical exchange business reasonably easily after that.

Source: I worked in wholesale finance IT for over 2 decades, a good chunk of those in exchange / exchange-like businesses.


Let's assume that you have followed the advice to check if your health is fine, and it is (or you have found ways to improve it).

On a high level, what's going on in your life may not be considered the best by some "social standards", but it's not necessarily "bad".

You can start by checking if your desires are in line with the standards, or if you would rather have a more "unconventional" way of being, accept it, and try to find ways to work and relate to people from there.

The next part is that a lot of what you see as the problems are skills and you can learn them.

* Emotional regulation is a skill, it has to be learned and practiced.

* Concentration is a skill; some meditation practices are a way to develop it.

* Thinking is a skill; "real" thinking can be difficult and uncomfortable, especially at first.

* Building coherent models of reality is an advanced skill and requires thinking, modeling, verification, self-reflection, and other skills.

* Being a successful entrepreneur is a very advanced skill, requiring all of the above and much more.

Next, you can define your skill learning priorities and decide for which skills you can use some help from professionals and which skills you can train yourself.

If you do your work and come back to the same topic in a year, you will have more experience and better understanding. Identify what you're missing and keep going. Eventually you will be in the much better state.

Good luck!


I'll give some opinions you might not want to hear.

Until you have experience, some designs actually implemented, and evidence that companies will pay for your work, you only have your own opinion about how much value you actually offer. Enjoying doing something and spending a lot of time at it, assessing yourself as "good at it," unfortunately have little weight when looking for a job or clients.

Web design involves more than nice-looking mockups. It means knowing about what web browsers and the programming tools can do to make the designs work. It means thinking about different screen sizes and resolutions, the experience of mobile users, interactivity, user experience, accessibility.

Employers look for evidence that a candidate can work as part of a team, and within the larger organization. Obviously that places junior people trying to get their first job at a disadvantage, because employers have to take a chance on someone with no track record. Regardless of your portfolio you have to persuade potential employers (or freelance clients) that you can deliver and add value.

Right now a lot of companies have slowed or stopped hiring junior and entry-level people for technical and creative jobs. They don't have the resources or the good sense to hire promising but inexperienced candidates and mentor and grow their skills.

In general professional and personal connections work best. An experienced and connected recruiter can help, if you can find one who knows your field, and will take a chance on spending their time on an entry-level candidate in this market. Recruiters only get paid when they place someone in a job, so you can figure out how they allocate their time. Without some kind of inside track through contacts you will struggle along with hundreds of thousands of other people chasing a small number of jobs.

Good luck.


I think your view on this will depend on what do you believe the distribution of good vs. evil in marketing looks like. Is it like this?

  ^  DECENCY                              PROFIT
  |  --->                                   <---
  |  --->                /----              <---
  |                  /---     \----
  |             /----              \----
  |         /---                        \----
  |     /---                                 \--
  +------------------------------------------------>
   EVIL                                        GOOD
Or like this?

  ^ DECENCY                               PROFIT
  | ->      |\                       <----------
  | ->      | \                      <----------
  |         |  \-
  |        /     \--
  |       /         \-----------
  |     /-                      \------------------
  +------------------------------------------------>
   EVIL                                        GOOD
   
I personally believe it's the latter. I added arrows indicating opposing incentives at personal level, and I believe the profit motive is much stronger than personal morals, for two main reasons.

One, market competition means you won't survive unless you're optimizing for profits very strongly; with strong enough competition, if your competitor does something shady, you have to follow suit or risk being outcompeted.

Two, professional specialization. I sometimes quip, "the only thing necessary for the triumph of evil is for good men to be separated from it by enough levels of indirection". I mean it. There's plenty of entrepreneurs who wouldn't feel comfortable going to someone personally and lying about their product, or spying on them and selling what they learned to a scammer. But if such entrepreneur hires a marketing manager, who then outsources all marketing to an external agency, which buys its tools off-the-shelf, you may suddenly end up with lies in ads and 50 megabytes of trackers on your GDPR-violating website, and at no point each individual's conscience crosses the "this is EVIL" threshold; everyone can point at each other and say, "I'm just doing what I'm paid to", or "I didn't know my subordinates/subcontractors would do that".


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

Search: