skysight-inc/HackerNews huggingface dataset:
Language (i.e. character sets) is not a good explanation for differences in software outcomes. It is possible write Japanese entirely in Hiragana charset (~50 chars) which can be represented in 8-bit alongside ASCII chars, which is how early Japanese computers like the PC-8001 worked. The JIS standard for double-byte representation of kanji also characters was also made in the 1970s. So that doesn't explain why Japan fell way behind in software the 80s, 90s, and 2000s.
Twenty years ago, if I was asked to do something like port an API from one language to another, I'd just tackle it. And it'd turn out like complete shit. But co-workers would be happy because its done, and they'd say I was a great programmer since it was completed so quickly, and as a result of my port we'd have new technical debt that would probably haunt the team for years.

Today it'd take me much longer, and the end result would be better. This is experience, because I know many of the ways in which a port could go sideways. The way I deal with massive bodies of work would be to handle it in well tested small pieces. If you're having difficulty figuring out how to arrive at these small pieces, then that's the challenge right there. You'll get good at it by working towards it.

I know that, despite my age (44), its not cognitive decline. It's experience and the end result of my work is simply better.
By bodybuilder standards, using just Test, HGH, and Dianabol is practically natty!
One thing I would recommend is that you also focus on your physical health.

At age 40, there are a lot of responsibilities, and taking care of yourself and your health can get pushed to the side.

Take time to eat healthy and get exercise. It is amazing how much a healthy, fit body invigorates the mind.
Mixing work and personal accounts is a strict no for me. I have no problem at all blogging, tweeting, etc for an employer ... as long it's published on my employer's account. I'm selling time and expertise to the company, not unfettered access to my personal accounts.

Unless you're explicitly selling ad space on your social media profile as an part of your contract ("influencer" style), it's completely unreasonable for the company to assume they have access to your property.
yes, we plan to switch to Xilem when it's ready for us
I don’t know but I don’t like that stability in a gambling market. This is not the case of asset being stable because the business is stable - there is no business beyond betting on the price of the asset. For me this is an indication of loss of interest in the casino.

Even if there seems to be a trading volume, i’m skeptical of that trading. Maybe it’s just painting the tape?

What are those people achieving by trading the thing at about the same price? Are we churning believers? Why would the price be stable?
There are a lot of factors that change with age.
For example, I developed an allergy to gluten a few years ago. Took 2 years to figure out why I was brain foggy and tired (and diarrhea) all the time. What do you know, my favorite food became poison!

When I cut glutenous foods from my diet, mental clarity was restored.

NOT saying "gluten-free" is the correct answer.
Just saying there could be underlying issues with a symptom of brain fog.
This is a common scenario for trans people who want to keep their previous identities secret for safety reasons. Git does not handle committer name changes by design, but I certainly wish there was some way of handling this scenario somehow. It’s not clear to me how one would maintain project provenance while allowing this use case.

When I changed my name, I submitted a PR to change it in the CONTRIBUTORS file of a project I had fixed a bug for. The approver privately reached out to me and offered to coordinate a global history rewrite among the core devs on my behalf. I declined because I don’t have that sort of safety need, but I’m incredibly grateful that there are maintainers out there who would be willing to go out of their way for something like that to help a non-core dev out.
Sounds a lot like Jugaad in India

https://en.wikipedia.org/wiki/Jugaad
I love playing with GPSTest on various phones to see what newer chipsets are doing.

I'm more interested in altitude accuracy than position which seems to be a challenge for GPS

It's odd to me that most devices support/trust GLONASS which shouldn't be trusted while not (yet?) supporting/trusting Beidou

(like Garmin watches have no Beidou support)

neat https://upload.wikimedia.org/wikipedia/commons/b/b4/Comparis...

network comparison https://en.wikipedia.org/wiki/Satellite_navigation#Compariso...

Is there a 3d realtime model online of the earth that shows where every satellite is?

Would be an interesting project if doesn't exist yet.
Burnout can affect your ability to work on complex things, a lack of time away from programming, high stress positions and long hours, boring repetitive work. Overcoming all or some of those things takes a lot of energy away from your ability to focus.

It's not age, I was more capable when I retired in 2021 than I was in the 1980s because I found ways to give my brain enough time away (sometimes getting laid off forces you!) and also switching to completely unrelated programming jobs to provide a new perspective. I never completely burned out by giving my brain something new to focus on.
> several other developers are making progress on porting this API

You didn't mention tests. How do you know their 'progress' is actually correct or even good?

I'm presuming the 'several other developers' are younger than you, hence your concern about age. Without some measuring stick to know if what they're doing is correct, you can't tell if they're just doing more work or actually doing it correctly.

> How do I find even a single chunk of manageable work to break off.

How is anyone else finding work to break off? Is this a free for all, or are there any planning sessions to identify things? Without that, you might be overwriting or reworking something someone else already did.

You may want to ask for some pairing with someone else who you think is doing this better/faster than you, and just ask to work with them for a couple hours.

Talking through the problems with someone else might help turn a corner with respect to mental models. How are they reasoning about current code? How are they tracing through the paths? Someone else deep in this problem may be able to come up with language or examples that resonate with you in a way that random HN people can't.
you need to pull all git submodules too
git submodule update --init --recursive --remote
Which is not at all what we're talking about here since the original comment talks about people with one or two years of experience.
Don't forget crime and startup business.

I ordered equipment for a company from a European seller , and because I wasn't a VC backed technology startup, instead focused on physical goods- there was no army of people to help me set up an international bank for my company. So what I did was drop them some bitcoin. Just getting the wire approvals would've taken longer.
We should go fully decentralised for the future, with fiat/crypto done at retail scale. Unfortunately there is a huge lobby of banks and government that want to monitor people spending money to make it happen.
Sounds like something out of Accelerando.
Technically I use three:
Xcode, VS Code, and Atom
I'm in my 20s still, and I wouldn't make much progress on this at all without diagramming or leaving annotations on almost every line of code. Go ahead and do those things. If you don't, you could alternatively invest a hefty chunk of time into reading and absorbing the code so well you don't need to. And if you don't do that either, you're setting yourself up for failure in a way your managers probably protected you from when you were younger and less experienced.
John Deere agreed to allow farmers to fix their own tractors
JavaScript Developer has entered the chat
Even if you think the model is learning in the exact same way a human does, you can't pretend it uses the information in the same way. A human, if it really wanted to, could study your style and imitate your blog posts maybe once a day, with varying levels of quality. An AI can do that a million times a day, perfectly, forever, basically for free. It's simply not a good comparison.

Nobody is concerned with AI learning from their content, they are concerned with how the AI will use their content, and there is no useful comparison between AI usage and human usage.
Surprised to see this from Anahad (who just moved to WaPo) after he popularized the “fasting doesn’t help you lose weight” study back in 2020 when still at NYT.
Cool anecdote, but ultimately unrealistic. If I make a job posting on LinkedIn for a front end developer for example, I will get up to 500 (USA) applicants. Filters (such as absolutely no cryptobros) are a tool for finding the best applicant.
" Lots of people do in fact need to gain weight to become healthier"

>> No. A few people. Very few.
Lots need to lose weight to be healthier.
I use vim (and vim-go) for everything. Consistent, powerful keyboard based. Handles any input

I use Linux and MacOS. Haven't touched Windows in years.
I won't comment on your particular example, but i've definitely witness a good side : you'll immediately spot code that's a bit too clever for its own good.

I have recently tried to raise the bar on my designs and being older is definitely a plus. Not only do you have the previous experiences to user as a reference, but the amount of energy you'll need to fit everything in your head means you'll instinctively accept the effort if you feel like it's worth it.
this seems great for vaccine producers though, you just create an arms race which means infinite revenue
The legend uses the word "Filled". "Filled" means "containing as much or as many as is possible or normal. Opposite of empty." A better term for the legend might be "current level"?
I can't prove anything, but I have a feeling that this article was intentionally written to be annoyingly wrong in order to generate engagement.
Nintendo is a unique company. It's certainly an exception to the rule. Perhaps them being based in Kyoto and not Tokyo is part of it.
Séamas O’Reilly reviews AI generated bootleg of his own memoir
No one has yet to mention that OpenAI is built on fair use of copyrighted information. If it's language and data is pulled from the web and their output is derivative, if they charge for the product, there will be significant intellectual property concerns. Microsoft would be wise to avoid opening their large balance sheet to that liability until it is litigated elsewhere.
And Steam is really a great piece of software when it comes to utilizing your connection. They can saturate even high capacity connections much better than any other software I know and you can play basically immediately after the download has finished.
Unclear what the value is of this narrow semantic argument using tenuous analogies.

Her point is that there are more reasonable alternatives to improving air quality if people want to keep using gas. You seem to think that spending money on less desirable cooking options is the best way for people to use that money. As if the people proposing this heavy handed approach have considered the cost/benefit for the whole universe of cooks.
You're missing Gedit and Kate.
By doing this your names aren't in 1NF and you're making it harder than needed to do updates. If your names are cute/unique then changing, expanding, or reducing service responsibilities just means updating the single document that says what Dreki does.
On a staggeringly smaller scale I had VERY mixed results with storing data points that look like (satellite ID, timestamp, el, az, signal strength) and then doing a data analysis to map out "anomalous attenuation" by el,az (kind of a bistatic radar display).

"Everyone knows" since day 1 of GPS back in the 80s that tree leaves and rain storms ruin GPS reception, but rather than complaining about it and/or avoiding it, why not use it as a data source?

Turns out I had trouble pulling a useful signal out of the noise. Maybe with a lot more data or a lot more RX running in parallel or ... There are of course inherent limits as discovered by Air Forces over the decades where bistatic radar works best directly overhead whereas I was interested in "storm clouds on the horizon" exactly where it didn't work.

I had some optimistic imagination in that if heavy rain causes 30 dB of attenuation, then extreme data analysis might indicate something as trivial as cloud cover, or even fog, might cause 0.01 dB of attenuation and I could map out regular non-rain clouds or something. That data could not be pulled out of the noise.

Very optimistically, if I placed antennas on corners of my property, I could "edge detect" even if the signal level varied randomly-ish by comparing the multiple RX and doing some trig. I live close enough to an airport that occasionally a plane should be between me and a satellite. That did not work either.

Anyway, the linked distributed project is my merely a thousand times larger than my playing around experiment.
I'm 45, have been writing code since 8.

Whatever you lose is more than compensated by experience, you spend less time solving the wrong problems.

A bigger issue is the cycles, and the realization that we don't learn much from history. Ignorance is bliss.
I think too that younger developers are more enthusiastic and naive, they just go in and do the work. Experienced people can see more complex cases, more failure conditions, more future paths and end up making the task more complicated than it could be. On top of this its probably not as interesting if you've done this a few times before so adds up to a good place to procrastinate.
CME isn't just "corn commodities"; they're CME, CBOT, NYMEX and COMEX, and they're a clearinghouse, they operate an electronic trading system, they're a colo provider, and a minter of new derivative products like S&P futures and SOFR. I'm sure I'm missing a bunch of other things. They probably have much more code than Coinbase. It's not all code you'd want to work on, but, from passing experience, there is a lot of it.
Seems like that problem could be fixed by giving clients a brochure and a video to watch that explains everything.
Make Better Decisions – Framework
40 something Dev here. Some things that have worked for me: eat a high fat/protein breakfast with little to no carbs. Stuff like avocado,eggs, sardines,spinach,seeds,nuts,coconut flour; regular exercise (duh); supplement a good omega oil; Lions mane mushroom extract; eliminate distractions;good headphones; daily meditation (TM is a good place to start);use a knowledge manager like obsidian and write everything down in it;always think 'whats a better way to do this' because there is one
> I’m an immigrant in Ukraine. I love this country very much. Speak the language, understand the culture, etc.

> After checking out your page, I’m absolutely appalled. I’ve forwarded this to a personal friend who works in the immigration department here.

> Ukraine isn’t your playground to pimp women to men who aren’t successful with them in their own countries.

> Btw you’ve probably seen me around Kyiv in bars/clubs/whatever. I’m the guy always wearing designer + an iced out rolex

Idk man, I think social media has people responding to comments in weird extremes and I just wish everyone could get away from that. Would you really say to someone's face IRL that you won't hire them because they worked in a specific industry? Takes a certain character to be that way...
My recommendation is to use pencil and paper. Plot out the tree of function calls and refer to that. Your brain may be busy doing other things which may ultimately bring insight to the API porting so I wouldn't worry about that.
The reason this is clickbait is because you can wrap libuv in some other language and get the same results. So what’s the purpose of this article? That a language can wrap libuv is not a new or interesting idea.
Exactly - engineers don't change their nature, they're legally mandated to follow very strict rules regarding best practices. They work in heavily constrained systems with checks and balances to prevent slip-ups. If they don't follow the rules and something goes wrong they're legally liable.

Strip away the systems that coerce engineers into complying with best practices and you'll very quickly see how little their "nature" has changed from the average person's.

This "cute names" pattern is simply a system to prevent some possible bad outcomes of developers free-styling. Whether it's worth the tradeoffs is debatable, but feeble systems like this are all we've got unless we establish regulatory bodies like those in "real" engineering.

The millions of programmers in the world aren't going to all magically develop discipline - software engineering necessarily requires building your systems with that lack of discipline in mind.
> descriptive names might eventually become non-descriptive

It's worse than being non-descriptive- it's that they become misleading. "Cute" names don't tell you anything. Formerly descriptive names tell you the wrong thing.

This, in turn, means developers can no longer trust that a descriptive name is accurate. It plants a seed of doubt in a developer's mind about other names. It tells them that, here at WidgetCorp R&D, just because something is named DescriptiveThingThatDoesXYZ, doesn't mean it actually does XYZ.

So now they have to verify what a given class or method does every time. Which means you have the same problem that cutesy names cause (the non-trivial effort of looking stuff up) plus the lack of trust that is now engendered in your engineering org.

To be clear, I think I still fall more towards the "use descriptive names" camp. As another commenter has said, by making it easier to add responsibilities to a certain class or service, the "use cute names" camp promotes the creation of God objects that take on too many responsibilities. But man I hate it when a class's name is actively misleading.
Nah, I think your expectations are wrong.

No matter how good you are, nobody is good enough to port an API like you are saying it, by memorising or thinking 9 levels deep. Humans aren't designed for this kind of tasks.

Instead, you should take steps to understand the parts that compromise the abstractions that make up that API and implement it.

Also have good test coverage from both sides, so you make sure you are implemented something that resembles more like a spec.
> I also try to do the same, just write crufty code that works, hopefully clean it up some as I go.

I account for this in planning. POC -> POC validation -> Finalv2ForReal -> Finalv2ForReal validation

It gives two shakes at a decent solution with some built-in learning. If this looks like too much for business then well I tried I guess I'll do less work for the same amount of money (inevitably the stupid shit that got prioritized goes away). And I documented what I would have done and can point at it when POC as a service is ermmmm ... less than performant.
We use fork of Druid that uses OpenGL.
It was wgpu before instead of OpenGL but there were issues and limitations with it.
Is it just this API, or do you struggle with other coding tasks too?

From your description, you want to deeply understand the functionality to make better porting, which is what I expect from a senior developer.

Also, this might be a boring project, not triggering any mental reward for accomplishing it.

I would focus on your learning pace for exciting topics to measure mental abilities.
I think there is a happy medium. I think you can have a cutsey name that gently suggests what the service is responsible for.

I don't fully know what task-service does, I don't know how it differs from scheduled-task-service-v2. In the same way I don't know what starship does or how its different from rocketship.

But I can probably guess and easily remember what 'automated-task-scheduler' or 'The Taskinator' does.

I don't think it has to be an all-or-none thing. A well thought out cutsey name can be just as effective as a well thought out descriptive name. The issue is when the names are picked lazily or at random IMO.
Have you considered a sleep study? Brain fog is a common symptom of apnea.
Great advice, I was going to suggest the same. You shouldn't have to memorize what each layer of a project does, that's what the unit tests and integration tests are supposed to prove.
Indeed. If one hasn't built and maintained siege works for at least two seasons, or one crusade, then one hasn't earned the title of engineer.
I'm not sure `make` is any less of a mess, to be fair. Especially when you're trying to use `make` for general project automation rather than the standard set of build tasks.
from a similar Ask HN:

> I do have memory issues compared with when I was younger, but I've been coding so long that the total set of stuff I know about is huge comparatively. I'm also much less intimidated by technical challenges since I have a lot more techniques I've successfully worked with and I'm more patient with problems.

> I'm definitely not the same programmer as I was in my 20s, I can't do weeks of 12 hour days in front of the computer like I could then, but now I have a much better and more intuitive understanding of what needs to be done, so I waste a lot less time.

https://news.ycombinator.com/item?id=33530972

Older athletes can't compete with younger athletes on pure physicality, so they have to use other skills: intuition, patience and wisdom are three things that come to mind.

You aren't the same programmer you were when you were young.

Good.

Life would be boring if you were.

Maybe the right role for you here is to establish a good, clear test suite for the transformation to ensure that the API transition maintains semantics. That should also teach you the subtleties of the API, making the work easier to deal with.

Another piece of advice I have for people dealing w/ their CPU slowing down is: just go. Hesitation because we aren't as good as we once were kills a lot of older developers productivity and knocks a lot of good developers out of the game. Just go.