skysight-inc/HackerNews huggingface dataset:
In C and C++, the && and || operators both short-circuit. For eager semantics in C/C++ you could make do with the bitwise operators & and |, keeping in mind that they're bitwise and not logical. You could do something like (!!first_int) | (!!second_int). You'd be better off forcing eager evaluation by saving the results to local variables, and then use the short-circuit logical operators.

Ada's and and or operators have no direct equivalents in C or C++.

https://en.wikipedia.org/wiki/Short-circuit_evaluation#Suppo...
> Individuals really aren't Altium's target market, though, are they?

So what? Does this mean I shouldn't be able to play with the big boys' toys? I certainly am not skilled enough to get to the break-even point where I earn back enough money to cover the cost of the program.
I was once reading a very good Russian book about the Old Church Slavonic language, when it suddenly started praising the glorious achievements of Lenin or something along those lines. It turns out that all books, no matter how unrelated they were in subject matter, were obliged to glorify the Soviet ideology.

Some thing don't change.
That right, its not relevant. He was wrong on many tings and right on many others.
Still what LN may or may not be able to deliver is also not relevant as an argument against existing solutions that deliver today.
Well my Samsung (now HP) does not. No drivers from HP, nor Apple.
I just repaired a heating blanket for my SO. Was about $2 in parts (two diodes and a fuse).

Fortunately I know electronics and have a soldering iron, otherwise it would have been scrapped and she'd get a new one.

There's a local repair club[1] that shows up at shopping centers nearby every now and then and helps fixing consumer products for people. Great initiative IMHO.

[1]: https://restartersnorway.no/
Fully agreed! We need to tax the hell out of such externalities.

Perhaps the main tax of the whole humanity should be a carbon tax, at least in the 21th century.
This is O(1) where N is constant.
Flutter's Janky Animations Problem
The cultural belief that other countries do things better is what you describe. It's pretty Australian and American to think your country is the best at most things.
Here's a great example from yesterday:

https://www.theguardian.com/technology/2021/mar/03/fitbit-se...
I understand, believe me, I do, I guess I just brought it up as a warning not to do what every new vegetarian (including myself) has done:

Use moral arguments to try to convince people that being a vegetarian is a more ethical choice.

I think the sentiment applies to vegans as well, even if the impact isn't as direct. If everyone started consuming non-meat/non-dairy products, the socio-economical and agricultural effects of things like soy, almonds, etc will be egregious as well.

We need to look at non-cruel and sustainable sources of food, but at the industrial level, not at the individual.
Only after bitcoin mining becomes criminal offense.
You'd prefer something like vec.construct_then_push_back(foo, bar)? I think it's reasonable that people would want a pithier name than that, for something you're going to use constantly.
> Any time you need some algorithm that does a lot of non-predictable insertions/deletions, on a collection that is not regularly iterated in full or used to find elements (so pointer-chasing/cache effects are irrelevant).

You still should at least consider a vector here. If lookups are infrequent, you can just sort it and binary search it on demand (and just add new items at the end). There are cases when this is not good enough, but they really are surprisingly rare.

> And/or when the elements are prohibitively expensive reorder/move on insertions/deletions, or some other piece of code is known to keep direct references to the elements that should not be invalidated

In that case, why not store the elements in a unique_ptr (and then everything in a vector)?

> Especially not in cases that are not performance-sensitive at all. In such cases you're just increasing code complexity and obfuscating intent because of some ideological objection to using linked lists.

Fully agreed - if you are sure that it cannot possibly become performance relevant and a list has the right interface, use it. For example, when the number of items is fundamentally tiny (e.g. one item per dimension of your 3D data) and the thing you'll do with the list item will be complex (or infrequent) anyway so that a few pointer indirections are negligible.
Interesting for me to see someone being scared of lowlevel langs. For me it's the opposite, highlevel langs scare me. They always make me feel that I don't know, what is actually going on
How hard is it to replace the SSD?
There's KaiOS, but Whatsapp version for that OS doesn't support voice/video chat.
Show HN: arbtt-chart, text-mode charts for the arbtt time tracker
From Tracy Kidder's "Soul of a Machine". A note left by a resigning engineer:

"I am going to a commune in Vermont and will deal with no unit of time shorter than a season."
I have a close friend who does this often, and she says it come from her ADHD. She find it difficult to type long messages. I believe her.
Looks like it's solving constraints in the typechecker:

8140 swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) (in swift-frontend) + 125 [0x110560f9d]
8140 (anonymous namespace)::StmtChecker::typeCheckASTNode(swift::ASTNode&) (in swift-frontend) + 1043 [0x11055dcc3]
8140 (anonymous namespace)::DeclChecker::visit(swift::Decl*) (in swift-frontend) + 4497 [0x1104e0721]
8140 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int, swift::Type) (in swift-frontend) + 250 [0x11049648a]
8140 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*, swift::Type, swift::PatternBindingDecl*, unsigned int) (in swift-frontend) + 140 [0x1104962bc]
8140 swift::TypeChecker::typeCheckExpression(swift::constraints::SolutionApplicationTarget&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) (in swift-frontend) + 897 [0x110495e71]
8140 swift::constraints::ConstraintSystem::solve(swift::constraints::SolutionApplicationTarget&, swift::FreeTypeVariableBinding) (in swift-frontend) + 974 [0x11032cb1e]
8140 swift::constraints::ConstraintSystem::solve(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) (in swift-frontend) + 52 [0x11032d8b4]
8140 swift::constraints::ConstraintSystem::solveImpl(llvm::SmallVectorImpl<swift::constraints::Solution>&) (in swift-frontend) + 372 [0x11032aa14]
8135 swift::constraints::ComponentStep::take(bool) (in swift-frontend) + 2911 [0x1103393af]
+ 4015 swift::constraints::ConstraintSystem::finalize() (in swift-frontend) + 5258,5080,... [0x110325a7a,0x1103259c8,...]
+ 1819 swift::constraints::ConstraintSystem::finalize() (in swift-frontend) + 5291 [0x110325a9b]
The joke in question is very clearly at the expense of multi-billion dollar companies using really cynical tactics to make money from the aforementioned mobile gamers. This kind of corporate fake-wokeism that uses its power to insist that punching up by criticising them is punching down, and of cynically invoking the powerless in order to silence critics in ways that wouldn't work if it wasn't really helping the powerful, is getting really tiring. Not only that, it feels like there's something deeply, fundamentally wrong with our current social justice activism that leaves it not only structurally incapable of actually representing the powerless, but also using its power so aggressively against anyone who challenges its claims to be doing so that it's actively harmful to any attempt to genuinely do so.
Even more trivial: sum from 1 to n, then never use the result. It should get optimized out entirely!
Recent thread about arbtt: https://news.ycombinator.com/item?id=26021047
"f8" would be even shorter, but we don't use that, because it is more important that code is easy to read than quick to write.
I don't think ChrisLTD is excluding the possibility of a bug - he is just asking how it's possible that a process has written so much to disk.
Kid-milking kids.

Yup I see your point.
I'd say a parser is an order of magnitude less work, but if someone wants to make a full product I'm not going to try to stop them.
That guy seems to understand and know all and everything, based on one and a half small game he made. Interesting character.
As other's have stated, it's possible that SafariBookmarksSyncAgent has a process that regularly writes to memory (object creation and garbage collection) and that memory is being paged to disk.
Except Tesla didn't actually stated that goal, or did it? Now that quite a few established companies have EV models on the market Teslas exponential growth phase seems to be over, at least in Europe. Tesla is already down to third place in the ranking of EV cars sold in 2020 in Germany: https://cleantechnica.com/2021/01/08/german-ev-market-reache...
Not only quantum computers. Every cryptographic method relies on fact that there is no easy way to decide NP problems. And we don't really know whether P!=NP (in fact, according to polls, about a quarter of researchers disagree), or, in case there actually is a polynomial algorithm, its exponent will make it untractable in practice.

So there might be DOOMSDAY in the future, where all cryptography will cease to work, because somebody just figures a way to decide NP problems quickly enough.
You are never going to get enough people voting for a government that will make TVs expensive enough that they're worth repairing on a component level
But then many years later Chewy came along and proved Pets.com was simply an idea ahead of its time: https://www.chewy.com/
I'd rather see the expanded list of ingredients in my chili and salsa. I'm sure it wouldn't look nearly as bad as the list above.
Even if linked lists and double linked lists aren't all that universally useful by themselves, they teach all the basics about taversing data structures by references / pointers that more complex trees and graphs require. A linked list is just a degenerate tree with at most one child for each parent. So I think teaching that isn't a bad decision.
The UK also has Quasi-nongovernmental organisations, referring to a general class of arms-length statutory bodies and regulatory/representative agencies that have some devolved authority but little/no direct ministerial or parliamentary oversight. They’re often still publicly funded, or have appointments by patronage, and therefore have split loyalties; or as the saying goes, it takes two to quango.
Thing is that they didnt ship it that way.
Back when it came out the loading screens were "fast". Things just grew out of proportion with the exponential increase of new items in the online mode.
This is correct. 'Heat pump' typically refers to the units with reversing valve although technically 'air conditioner' is also a heat hump in its generic sense.
What is the significance of an iPhone not surviving for a century?
Luckily, this happens to be one of the places where learning computer science can help!
> The measure of complexity of a system isn't the ergonomics of the tooling, it's the time/effort for a newbie to achieve competence, eh?

Honestly it takes a very very long time to become competent in C. I do C for my day job (or rather did until recently) and I still don't call myself competent in the language. There are so many intricacies that can bite you and you're constantly learning it. I used to love C, now I hate it.
That's a very good question, thanks.

I have anecdata in the forms of testimonies from elders about durability of hardware (in general), and from my own experience when i was younger. For example, i remember buying socks/pants/shoes that would last me years and years ; i don't remember when exactly was the last time i bought one of those and it lasted me more than a year, but that was long ago.

Then, there's actual evidence pointing to the industry sabotaging their products on purpose (planned obsolescence). This ranges from historical insider documents to public testimonies.

The most obvious user-facing examples are manuals, availability of spare parts, and warranty times. It was not uncommon for products to have lifetime (or 20y) warranty, and to come with a manual. There were an abundance of clothing/electronics shops in every city where you could get spare parts for cheap, and these shops have mostly closed down due to bad economic incentives.
I wrote my own version of a part of a very popular Java scientific tool, and my version runs about 50 times faster. Their mistake? They had a hashCode() implementation on the objects they were using as keys for HashMaps that iterated through all of the voluminous content of that object. And there was no point - they could have used IdentityHashMaps instead with the same result. I pointed this out to them, and they still haven't fixed it.
That reads like something I would write if I wanted to troll the Godot project and could not find any actual point to attack. Poe's law is at work once again.

I cannot take this sentence seriously:

> "mobile gamers got trashed all the [...] time for being [...] women"

Plus, Godot's text is about practices preying on mobile gamers (you can find these practices on PC too, but it is more common on mobile platforms), so it is criticizing mobile gaming (and the companies behind the predatory practices) rather than mobile gamers. So the quoted sentence about "mobile gamers" looks like a straw-man, which goes in favour of a trolling attempt.
It's irreplaceable
There is a fine line though, comoditization can be a hugely benefitial thing for consumers, too. If nobody had ever ripped off the iphone, would the mobile web and app world still be a niche thing for premium users only?
Everyone would probably agree it's good to teach trees in a CS data structures class. Linked lists make a nice introduction to this: what is a linked list except a tree with max branching factor 1? So you teach LLs on day one, and introduce in the simplest useful way the idea of a recursive data structure.
I wonder of scanf on Playstation was not using strlen in that way. GTA was written for PS right?
The slightly mirrored fresnel lens of the internet.

My take is if someone is doing this, they are complaining about the overall lack of progress from an ancient achievement till now. They aren't wrong usually, but our flawed system doesn't make progress in that way.
"The flavor enhancers and preservatives BHA and BHT are subject to severe restrictions in Europe but are widely used in American food products."

https://www.nytimes.com/2018/12/28/well/eat/food-additives-b...
Actually, for frequently used standard library functionality, I would very much object to introducing overhead for educational purposes at every single call site.

It's a tradeoff, of course, but if the user code becomes unreadable because the function names are verbose (so you constantly have to wrap lines and cut through the visual noise to see the actually meaningful part of the code), just to make sure people don't misunderstand basic functionality... that's not the tradeoff I would like.
I don't think the plan is to move significant production capacity to the US. Apple and AMD would still depend on Taiwanese capacity. I can imagine two reasons for the US plant:

- political capital ("bringing hi-tec manufacturing back")

- national security ("manufacturing a few miltec chips")
Ever other system could (and does) use this as well to boost throughput by reducing speed. Or like LN does by looking up funds in advance to increase speed again. Its always gonna be way less efficient than having order of magnitude faster layer 1. and only offload micro Tx to the second layer.

Also increases cost because you add additional parties in the system who wants to get paid for providing the service and liquidity. It simply can not provide a better service in the end.
But there's nothing stopping the same people from gaming existing logic that tracks user behavior except security through obscurity. But you also get dirty data via tracking where it's indistinguishable from backend if user found what they want or just gave up on trying for example.
I couldn't have said it better :)
QBaaaasic for the win.
They're also an example of a data-structure which works pretty in a concurrent setting - you can get away with a single atomic reference for an unbounded FILO queue implemented with a linked list. Adding and removing items to it is then dirt-cheap - provided you don't go through the queue quickly and job running time > iteration time.

But with all things in computer science, it really depends on your use-case.
How about time? You only have a limited amount before you die.
Linked lists are pretty nice.

* Lazy linked lists are the same thing as iterators, a fact which is used pervasively in Haskell.

* Intrusive or otherwise inline linked lists like are used everywhere, e.g. the DOM has a doubly linked list of children for each node, simple memory pools are often implemented as free lists, and tons of resources inside kernels are members of many linked lists.

* Linked lists are guaranteed O(1) append, but dynamic arrays are only amortized O(1) append. Intrusive linked lists also never need to allocate. That makes them useful inside resource-constrained places.
Working from Home Tips That Will Boost Your Productivity
I never signed up for any "business" bullshit in my whatsapp.
Ask HN: Looking for a tech talk on bold having no effect for certain fonts
Does anyone remember a talk that was submitted to HN in the past few months, it may have been in the comments.

It was about a user submitted bug where bolding text for a certain font had not effect.

The talker goes into the unexpected complexity of fonts, font packs, etc. and why bold might not work for certain fonts.

I've searched high and low but cannot find a link to the talk.
> You, as a software developer in Ukraine are unlikely to be "poor"[1] yet OP makes an attempt at enforcing that stereotype. By factoring in the cost of living, you are quite "rich".

To me it looks like you and OP are in agreement because this is exactly what he said: "Even my friends from Ukraine (which is a much poorer country) don't want to move there, because in Ukraine they only pay 5% taxes and cost of living is much lower. So they can afford a much better life comparing to German developers."
As an Australian... I have no idea where this idea comes from. American Exceptionalism has historically been a thing, but other than a general impression that equipment which have been designed and built locally in Australia tend to be above average assuming that it wasn’t built to be the cheapest... the idea that “our stuff is the best” has never really been a thing, except maybe Beer... and only among people who are obviously fans of that beer.

Edit: This might be an east coast vs west coast of Australia thing. I’m from Western Australia and I just realised that this might be more of an east coast cultural thing...
Sure. During the recruitment process I had to go through a few stages and a few people. One of the seniors wanted to send me information via WhatsApp and I responded that I do not use WhatsApp. His response was pretty much install it to communicate with me or you're more trouble than you're worth (worded much more diplomatically). I did not install Whatsapp and was informed shortly afterwards that they are going with a more suitable candidate, even though I was far enough in the recruitment process that I was already scheduling with the PM.
Disable JavaScript and you can read the article without any problems.
> Several few decades ago, pointer chasing was much cheaper because the difference between an arithmetic operation and a memory access was far lower.

Also allocation was just bumping the brk.
Considering that the satirical doc criticized the agressive monetization that predominantly affects mobile gamers I find it hard to see how that is trashing mobile gamers.

Or is it so that if I criticize something that affects some group not specifically me it's actually punching down? It's not possible to criticize something that's being done to a group without it being a criticism of that group?

This is absolutely brilliant. PR departments must love this.
> Although I'm still genuinely interested when a linked list is best suited.

I can think of a few use-cases where I've opted for linked-lists over resizable arrays:

1. When you have enough memory for the set of all elements you want to store but not enough contiguous memory for the set of all elements you want to store (i.e. You have the available memory, but it's all fragmented).

2. When you have multiple threads adding to/removing from the container, a linked list lets each thread (in theory) insert/remove nodes at the same time. For example, one thread can be adding to the head of a queue while another thread is removing from the tail of the same queue; they don't need to both wait for the same lock to resize the container.

3. When you have large insertions/removals. For example, concatenating two lists into one is just reassigning two/four pointers in linked lists. With arrays or similar you have to have enough free memory to make of a copy of the smaller list, at least).

Another example is "zipping" two lists together - you simply go through the lists and reassign pointers. With arrays you have to allocate enough memory for the final list before copying elements over.

Same goes for splitting lists into two: for example, applying a predicate function to remove and return all elements that satisfies the predicate takes no extra memory using lists, but with arrays will need the destination to be allocated first).

4. Finally, you may want to store cycles in your container (perhaps the traversal maintains state so you can use the cycle to make traversal of some nodes repeat, or maybe you're simply insane and like to confuse readers of your code :-).

Okay, fair enough, that last one is me stretching things a bit :-)
I wouldn't Free soloing ahead of base jumping. The first reason is because the vast majority of climber's just don't do it. Of the small handful who have made a discipline of it, and of the ones who died, most didn't die free soloing.

Dean Potter died wingsuit flying. Michael Reardon (most likely) Drowned. Dan Osman died rope jumping. Brad Gobright rapelled off the end of his rope.

Alain Robert,at 58 is still active and has free soloed 170 highrises, he's been doing about 10 a year for the last several years.

Alex Honnold, Peter Croft, Catherine Destiville, Steph Davis, Hazel Findlay and Brette Harrington are all storied free soloists who are still with us.

John Bachar died in a ropeless climbing fall in his 50s, but most of his notable climbs he did while in his 20s. Austin Howell, a lesser known soloist died in a climbing fall a couple years ago. Those are the only 2 I know of who died free soloing.

Now, the world of extreme alpinism, that's a different story. Dying all the time. 5 of the top guys died over the span of less than 3 years, in a cluster of incidents a few years ago.
That part of the story checks out too:

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

https://en.m.wikipedia.org/wiki/Burn-Jeng_Lin

Myself, am amused how the translators did not consult English sources and also how the writers of the wikipedia article probably didn’t know about the analogy to immersion microscope objectives. This industry is curiously insular.
Decolonizing Electronic Music Starts with Its Software – Pitchfork
>Catch up

It helps when you are the incumbent and you get to build the system in lockstep from day 1.
good point, they may still be useful as a pedagogical tool to introduce pointer-based structures.
I noticed that this morning

If it helps in the last year the quality of their journalism has crashed through the floor.
> There's one problem with capability oriented design: once you learn about it, everything else is obviously, painfully broken and inadequate.

oh yes!

I wonder if localhost-only UDP multicast can be an usablesubstitute for the missing AF_UNIX multicast.