skysight-inc/HackerNews huggingface dataset:
I enjoyed the article and agreed that working memory places a fundamental limit on the intelligibility of otherwise equivalent pieces of code. As a former psychologist with experience of memory research (though not quite this area), it might be useful to others if I add that:

- The size of the short-term store is normally said to be 7 plus or minus 2 (the 'magic' number 7)

- The Working Memory model has somewhat overtaken the 'short term' memory model, and it is unusual to see them being presented alongside each other like this (though 'short term memory' remains a useful, good-enough metaphor for explaining certain key aspects of memory)

- Chunking is typically viewed as a memory-supported division of stimuli (what you're reading, hearing etc.) into meaningful units based on LTM memory representations. A good example is a chess expert 'chunking' the layout of a chess board with many pieces in perhaps one or two units (e.g. 'It's the mid game configuration of [famous players] in [famous game], except the king's position is different'). We would expect more expert programmers to 'chunk' increasingly large units, I think (e.g. 'Oh, this is just the [famous sorting algorithm]').

- A single chunk is usually considered to take up a 'slot' in short term memory

If anyone wants papers/sources for the above, let me know.
More like 200k+...
>The web was specifically designed so that the client chooses which parts of the available content to load

Source that this is just a side effect from other design decisions?

>My web client made decisions about which parts to display and which parts to not

Your browser sucked because it couldn't even support the full standard.

>It's a loaded term because it implies that websites ought to have control over display

They should. Websites describe what should be shown using HTML and CSS.
Why Does Hollywood Keep Using Fat Suits?
Disclaimer: This work is done by some of my colleagues.

As someone pointed out, there are 25 pages of text (not including bibliography of course), not 5.

Most publications are coming with multiple months delay before code release (if any), here you literally have a written soft deadline of 1 week. So maybe you can wait few days before posting such bad comment?
It would be cool to have a valve to change between a floor heat loop and an air heat exchanger for the inside side of the system.

Of course this makes the system more complicated. More complicated means more chances for failure and higher costs for designing and installing.
Interesting, was not aware of RDAP, thank you.
How so? It's much easier to create an HN account and post than it is to create a Facebook account.
Being a vegetarian, or Mediterranean, or keto usually means you have to cook.

Eating out in North America (Canada and Mexico too) is always full of meat. Even in nicer restaurants.

Cooking at home regardless of your diet is the simplest way to eat better. I used to used Uber Eats 3-4 times a week and I got 10x healthier just making my own food and it's been a great way to get off social media and spend more time with people.

People want to come over and socialize when you get good at cooking. Which is 10x better than getting into the 100th argument online.
Venezuela would like to talk to you about their successful nationalization of private industries
>conserving more energy

I think this, like the idea that your metabolism slows as you age, has been shown to be antiquated myths.

You burn less calories as you lose weight because you have less body mass to support. Your body doesnt flip a switch to “conserve” calories, all else being equal. This is why understanding the fundamental principles is key.

Your basketball analogy is a bad analogy. Yes, everything must adhere to the laws of physics. The difference is I’m saying there’s a ton of ways to adhere to CICO, you just need to find what works within the behavioral framework of the individual.

For some keto works great. For others, it’s not sustainable because they can’t have a simple piece of cake at a birthday party. But flexible dieting may work if they accurately count calories. For others, counting calories is too tedious and they can’t do so accurately. But they may be able to eat a vegan whole food diet. All the approaches that work have the same goal: rebalance the CICO model.

A better basketball analogy is having a zone defense vs man-on-man. Different tactics but the same goal to score more points than the other team. You don’t need to understand quantum mechanics, you just have to know how to count. If you can’t count, your approach needs to weight the game outcome in your favor. But it doesn’t make counting irrelevant to basketball any more than it makes CICO irrelevant to weight loss.

I get if you say CICO isn’t helpful for you because it is too tedious, or too much uncertainty given your food choices to implement accurately. But that doesn’t mean it’s unhelpful for everyone, especially when it’s the fundamental principle that governs weight loss with literally every approach. It just means you haven’t found a way to implement it effectively. Other people who can estimate CICO accurately find it works just fine.
Also, the install instructions suggest installing the python implementation of docker-compose, which has been deprecated in favour of the compose docker plugin.
Sounds like perhaps like most of your experiences were with pre-AIX version 4? No system is perfect for sure. By the time I started using AIX it was with version 4 and was moving to 5 and I can't say any of the problems you've described were things I had encountered with it. Certainly I had lots of problems though.

Not suggesting you didn't experience these things though of course.
Generating the tree is trivial. The lexer is part of the parser. A pretty printer is not part of a compiler. The rest you have to do by hand. I know the name is a play on yacc (Yet Another Compiler Compiler), but it generates only a part of a compiler, the parser.
My opinion is that each line of code should be easily understandable. Without that, code is very hard to work with.

You're right that other code problems can be worse. But that's no excuse to avoid doing the basics.

To clean up system design issues, you must first know what a better system design would be. It's not enough to realize that what you have is bad.

I do this a lot, and part of my approach is to always be incremental. Improve one detail/aspect at a time. The worst, very tempting, idea in this field is to throw everything away and start over...

> I also struggle to balance it with getting feature work done

FWIW, I like to spend 1/3 of my time cleaning up and refactoring.
Can NPCs get triggered by NPCs memes if NPCs aren't aware?

Or are NPCs aware just enough to know they are the punchline of the NPC joke?
I think this article is missing the forest for the trees.

I've found that dividing software into layers, and making sure that each file relies on the same set of invariants from its dependencies, and also maintains a (different) consistent set of invariants for its callers works much better.

For instance, I'd prefer a function that takes a string and confirms it is a valid URL.

That would delegate to URL character esacaping logic and DNS validation. (Are & or ? valid DNS name characters? Will they be in the future? I neither know nor care.)

On top of that, there would be a parser for key=value config file lines.

Then, the example in the article becomes something like:

keyvalue = parseConfLine(input)

URL(keyvalue.value).params[-3]

Plus a few more lines to confirm key is as expected and that value has enough query parameters.

Alternatively, I'd use a perl oneliner with a regexp. I see no purpose for code that lands in the middle ground between these extremes.
Generally speaking the conservatives have two demographics. I like to call them “Average Fantasists” and “Ideological Donors”.

Appealing to either group is an exercise in optics. The Average Fantasists will still vote conservative despite being much more closely aligned to Labour policy (think NHS, rail nationalisation, police funding etc) because of non-issues such as immigration, the EU, the Royal Family, other Nationalism etc. The Ideological Donors on the other hand have a strong belief in free market economics and finance as the main economic driver, both of which are harmful to an economy in the medium to long term (and often the short term too.)

Current IR35 rules were just bad optics to both groups. I’m personally super happy about the reversion back to the old rules. But I’ll never vote Tory, they’re a blight.
Interesting that it had roughly the same number of transistors as the 286 but appeared three years later but on a larger node size (so bigger die).
Hecking man
Over 12 billion doses have been administered. Using your claim (100 times worse than 1/15000) we should expect to see 800 million cases of transient heart issues. It seems unlikely that such a number would go unnoticed
One of the advantages of functions is that a well-named function is self-documenting. If you can take a bunch of lines and wrap them in a function whose name summarizes exactly what it does, then you have improved readability in my opinion. In this example, I don't really need to know the details of how the query parameters are extracted. I just want to know I've got them.
Any way to do that in Python? Basically an anonymous function across multiple lines, which can be collapsed in the IDE view?
Well said. And if you fail to say no to something that is unsafe, you can be sued for malpractice. The fact that management pressured you is of no consequence.
It's not automatic, but sometimes the mods decide manually to mark it as a dupe when the new one has no additional information and the other had a big discussion.
Linux on the laptop works so damn well that it’s boring
I think you’re missing a critical comma?

”No, exif data…”
> Walking even in a more or less urban scenario should be something usual, enjoyable, part of our everyday life.

I've lived in a small city, less than 10k population (USA). Being able to walk anywhere and everywhere at any time is truly amazing. It takes 15 minutes to get most places in town at a brisk pace, if you aren't in a hurry you can take all sorts of neat routes.

One of the times of my life I love and miss the most is a summer I spent walking aimlessly for hours every night, usually following a set path to start and then branching off. It makes me sad that some people have never, and will never, be able to experience that.
There's no need to repeat all this. You clearly know by now you are an outlier and your history adds nothing to the topic of mixed car and bike traffic.

Your humblebrag about your lived experience DOES NOT MEAN that choeger's "about 30km/h" is indeed anywhere near the right speed for the large majority of cyclists.

Even in places like Amsterdam and Copenhagen where it's flat, a lot of people do daily bike commutes, and they own no car.
fair reason but if we'e going to do that, then lets remove the gas subsidies for ice vehicles too then?
There’s a balance to be struck if most of the Do methods need a common and/or interdependent set of parameters. Inlined code can be clearer because you can directly see how/why those parameters are used. You rarely have

DoThis();
DoThat();
DoTheOtherThing();

Instead you usually have something like:

x = DoThis(a, b, c);
y, z = DoThat(c, x, a);
w = DoTheOtherThing(a, z, x, y, b);

…and on top of that have to add error handling for those calls.
When I said "the same way," I meant wholly-overloaded, top-down, waterfall-driven, and bureaucratically nightmarish. So, yes, all that stuff. ;-)
That's a funny coincidence. I've generally not needed python2 many times in the last years, but today I had to fight a bit to get Frets on Fire working on Arch. It worked pyenv, but I settled for the flatpak.
You can of course but there are rules that you need to follow for the tax office; if they mark you as defacto employee in NL for a US company, different taxation applies. You are marked as not an entrepreneur or company in that case and you will be taxed (a lot) more. I didn’t say anywhere it is illegal or prohibited anyway (I just said you will be flagged as defacto employee which brings consequences); it is just not very smart as you will have all the bad things and none/little of the good things working like that.
Eloping with the love of my life :)
Yes this economic house fire was put out by adding more gasoline to the fire.

Eventually, there will either be no more gas or the house will be completely burned down.
The article starts with some reasonable premises, but the conclusion does not follow.

I think most APL programmers would disagree with this take. Dense code has real advantages, and naming everything has real costs that are hard to see. There's nothing magic about a "line" that suddenly allows for chunking. You have to build a parse tree in your head in any case.

I'm reminded of Doug McIlroy's challenge to Knuth.[1] It's worth a read.
Would you rather have 6 lines of dense shell, or 10 pages of Fabergé egg? I'll take the shell, thanks.

Look at the source code for J (an APL derivative)[2]. It's written in C, but that C was written in APL style by APL programmers. Lines leverage macros and 1–2 character names, making them extremely dense. Some files have a comment on nearly every line. For an average C programmer, this code looks absolutely insane. But it's not. The J devs find this perfectly readable and maintainable. It's clean code! If written with the typical C idioms, it could easily be 10x as long, and therefore harder to maintain. Your first impression is a snap judgement due to a difference of culture. You can learn to read this style with practice. Whatever your current style, that took practice too.

[1]: http://www.leancrew.com/all-this/2011/12/more-shell-less-egg...

[2]: https://github.com/jsoftware/jsource
Irony, right?
This adds less than you'd think since people are already tracked by their cellular location. Some off-shoot use cases for this are determining where someone travels and when along with who they interact with by looking at adjacent cellular signals.

You can quickly solve where they would be expected to go in their daily life, what route they'll take to get there, who they will interact with along the way, and when they will be doing it.

Combine this with their credit card purchase history and you can also work out what they're going to buy and how long it will take them to eat it.
Creepy, offensive, dehumanizing
This is a good question, but I don't work well with cookbooks. They tend to sit on my shelf closed. I learned by experimentation. I do know of one cookbook because I heard an interview with the author on the radio, called "Decolonize your diet" about traditional indigenous recipes from Mexico before the Spanish arrived and made everything about meat. The authors deserve support but for the curious it is also on library genesis.

But I do a combination of looking online at vegan recipes and experimenting with stuff on my own. I make a lentil sweet potato curry that is really filling and delicious. Here is my recipe copied from a tweet I made about it:

Large onion, chopped. ‘Sautee’ in water until partially clear. Add minced garlic and ginger paste. Sauté 2 more mins. Add curry powder, turmeric, any other spices, salt, pepper. Add can chopped tomatoes, 2-3 cups oat milk, 1.5 cup washed lentils, Add chopped large sweet potato, add a can of garbanzo beans, add a small can of chopped mushrooms (drained). Serve with brown rice. Can add raisins and nutritional yeast. Can get a sweet crunch adding candied nuts.

I also find this lecture helpful for thinking about foods to experiment with:
https://www.youtube.com/watch?v=EpRrD58Ah3Q

You can also look for vegan or vegetarian restaurants in your area and try them, see what you like, and try to work with those foods. And look for different cultures like Indian food that focus on more vegetarian meals.

Bon appetit!
What doesn't generalize is that the example doesn't necessarily stand for a simple one-liner, but as an example it has to be trivial, of course.

But everything else generalizes. I took "splitting out the last 3 params" to mean "doing something very specific to the problem at hand" and extracting that isn't _always_ better.
Family weekend for my youngest son's college baseball team.

A scrimmage each day. A big BBQ dinner tonight. Some alumni activities as well.

My Dad joined my wife and I, so we get some time with him as well.
I don't think the value proposition was ever that meat substitutes taste better than meat. It's positioned as an ethical alternative which you pay a premium for.
They definitely matter to recruiters and their web spiders. The meme that has been circulating recently about LinkedIn job descriptions vs the actual jobs is deeper than it seems.
> the code can't be read top-to-bottom

The idea of the technique is to split out code at a different level of abstraction with a clear name communicating what it does, while hiding the details of the how, because you don't need to care about that detail at all to fully grok the code in the calling function.

Where this breaks down is when the code you're trying to split out is not at a different level of abstraction, and how it works is meaningful to the surrounding code in the calling function.

So I think the issue you are seeing isn't with the technique, it's with the technique being misapplied. I think this is likely the only difference between when it 'often works' and 'just as often doesn't' in the code you're working in :-)
I think you're right. I also think that what tends to bore an experienced dev may be less likely to bore a junior dev, just because it's newer to them.
> Concurrency problems often are not debugged; locks and similar are just sprinkled around until they disappear in testing.

It does sound like Rust could help here
> > People who can manage and code (architect, etc.) are truly rare.

> I disagree with this. I think there are a lot of people who don't like being a leader for lots of reasons...

Note that you are talking about different things from OP.

OP was talking about managing, you are talking about leading. These are two very distinct skills. Sometimes you can find both in the same person, but these people are few and far between, since each of these roles is already a full time job.
So glad I grew up before TikTok was a thing.
Microsoft SQL servers hacked in TargetCompany ransomware attacks
It sucks because c2 used to be like Hackernews in that it was defiantly old-school in a time when Web 2.0 was the hot buzzword.
You don't need to use a meat replacement for burgers. You can have various style burgers that I've seen for ~£2.25-£2.85 for 4, e.g.:

- Bean (often spicy)

- Halloumi

- Parsnip & Carrot Nut

- Plantlife Crunchy Vegetable Crispbake

If you do want to use a meat substitute, I've found the following have comparable prices to the meat based versions at ~£2.00 for 2:

- Linda McCartney's Burgers

- Richmond Vegan Meat Free

Other meat replacement brands (Beyond Meat, Moving Mountains, Fried Jackfruit, etc.) are dearer at ~£4.00-£4.50 for 2.

I'm not sure how the wholesale prices compare, I just checked the prices on Waitrose's website. I've had several of these.
Here's [1] a data analysis looking into the phenomenon:
"Professionals with higher cognitive ability drop out of STEM careers earlier and faster", "High-ability workers are faster learners, in all jobs. However, the relative return to ability is higher in careers that change less, because learning gains accumulate"

[1]: https://whoisnnamdi.com/never-enough-developers/
Ah yes. I remember when I read the Clean Code about 10 years ago and produced the "cleanest" code I had ever seen – only to have it destroyed by a senior dev during a code review because the task was relatively complex and my overall structure was garbage. One of the saddest days of my career. Probably the most helpful day of my career too.
The issue with the PB&J is that it's > 700 calories (440 just from the PB, call it 100 for a TBSP of jelly, probably 100-200 for the bread), whereas a grilled chicken breast might give you 30 G of protein with maybe 250 calories. If you were getting 150G of protein from PB alone, you would have to eat ~3.5k calories.

Some more data points:

* 150 g of protein from lentils: 1.9k

* 150 g of protein from chickpeas: 2.9k

* 150 g of protein from grilled chicken breast: 750

* 150 g of protein from whey powder: 675

* 150 g of protein from egg whites: 640

My experience is that I don't need to worry much about "getting meat in" when I'm bulking up, but when I'm cutting calories to lose weight (and trying to keep protein extra high in order to maintain lean mass/increase satiety -- I'll have as much as 200-230g per day on maybe 2400 total calories), it's really tough to hit without having a lot of lean meat in my diet.
Now here is something I'm wondering. Why not just install Gitea locally? I run it on my Mac Mini and I can access it from any computer in my local network. And maybe also consider rethinking what you're using git itself for. Gitea might not be the whole problem here. I personally would never put a gitea on the world wide web just for personal private projects. That would mean that it would be completely up to me to manage that security and I'm not really sure of any upsides on that.

Also a quick Google brought this up https://book.hacktricks.xyz/cloud-security/gitea-security
This gets easier with practice. It's more likely to affect women. It's best not to "push through", just stop as soon as you're uncomfortable and try doing multiple short sessions instead.

"Yoga for building VR tolerance" https://web.archive.org/web/20190209025553/http://elevr.com/...
Not high priority, but I'd love any references or names / key words I could look into it with.

I'm traditional wide comp sci by academic training, but spend my day job as a low-code enabler for non-programmers with varied backgrounds.

The working memory model explains and fits well with what I see them get and struggle with in day to day work, and I'd welcome references I could use to optimize my approach.
Boring is good when it comes to tech because it means you're not spending time trying to make things work. Save the excitement for the stuff that pays your bills.
I don’t see how the world will get by without experienced programmers staying in IC roles well into their retirement years. This is for two reasons.

First, the demand for software is going up significantly, and new programmers do not come with the advantage of experience, aka knowing what not to do. These newly minted programmers need mentors. They need examples. Businesses need adult supervision for these tasks which many managers do not understand.

Second, the demand for senior technical leadership is going to make it more financially rewarding to stay in a truly senior IC role. Going into management, product, etc. will not be as appealing an avenue to take your career to the next level.
This rewrite is more performant than the original:

query_params = s.split('?')[1].split('&')[-3:]
map(lambda x: x.split('=')[1], query_params)

The calculation of query_params, having no dependency on the lambda parameters or anything being mutated, has been lifted out of the lambda, and thus spared from repeated execution by map. The compiler for that language won't do this automatically.
1..10 is powershell range operator, and % is an alias for foreach-object.
The goal being an SEO takeover of Rust + Volvo...
JFS! You had the option to upgrade to Veritas' VxFS and VxVM.