skysight-inc/HackerNews huggingface dataset:
Experience gained in the last 20yr in the middle east (Afghanistan in particular) indicates that what we traditionally consider "fighter" type aircraft are capable of delivering various guided munitions with sufficient accuracy and that time to location is highly important.

Having dedicated CAS aircraft is nice and it's probably wise to keep something of that nature in service at all time but it's foolish to pretend that a modern multirole fighter can't be shoehorned into that role with reasonable effectiveness.

Edit: You people (you know who you are) seem hellbent on interpreting what I have to say as being a much stronger statement than I am making. I am saying that aircraft like the F35 can do the job and that there are some pros to having those kind of aircraft do the job (namely speed). I am not saying they are better than a purpose built aircraft.
- Twitter
- Reddit
https://newshound.co/editions/en-us/ is pretty good for seeing how many news articles published by different outlets are actually written by AP/Reuters/etc. and only modified slightly. I think the site was originally intended to allow users to choose the article from their preferred outlet, but I rarely find myself interested in reading any of the grouped articles.
Starcraft is not deterministic, and the nondeterminism can matter in significant ways.

In Starcraft 1, every ranged attack had a 120/256 chance of missing a unit that was up a hill or behind a tree, and a 1/256 chance of missing always.

In Starcraft 2, attack cooldowns are slightly randomized, so two units that are commanded to attack each other will almost never kill each other simultaneously.
First aid is good.
Also general investing in index funds like VTSAX and VTIAX. It is so simple, yet most people I run into on a regular basis just save their money in a checking account earning 0.01% APY. Follow the reddit personal finance flowchart. Learn about Roth and HSAs and ESPP and the benefits of diversification. We’re literally talking about multiples of your net-worth over your life if you invest compared to saving in a normal bank account. No, it is not gambling. It is riskier not to invest in the long-term.
“This software may not be sold or published in printed form without written permission from the copyright holders.“
This is almost certainly because parts of the source code appear in the textbook, and publishing laws apply.
Here's the list of argument patterns https://en.m.wikipedia.org/wiki/List_of_fallacies#Formal_fal...
https://voat.co/ as uncensored aggregator for global sociopolitical news.

Newspapers.
SELECT code_execution FROM * using SQLite; -- Talk at 36C3
I kind of agree with this, but:

> The world is full of people in pain, and often the news reports on that. That is actionable information. Other people's pain is not your entertainment. It is actionable information about how to help improve the world and reduce suffering.

There is far, far more of this than is actionable, and most of it isn't really actionable from this distance. You end up with "white saviour" disease.

The news is also full of my fellow voters saying that those in pain are lying, or that we should inflict more pain on them as a matter of policy. Those are somewhat hard to stomach.
Isn't the job of getting there quick and delivering fire to the ground best left to missiles?
That'll be awesome! Yeah, have so many features planned. Will be releasing updates soon!
On a related note, the Mitsubishi Group is a huge conglomerate that makes everything from cars to fighter jets to nuclear plants. Mitsubishi pens also dominate the stationery market, and I just assumed that it was part of the group. But it turns out the pen maker is actually unrelated to the conglomerate[0].

To add to the confusion, both the pen maker and the conglomerate have identical English names, Japanese kanjis, and even share the same three-red-diamonds logo.

[0] https://en.wikipedia.org/wiki/Uni-ball
https://www.uptopnews.com/ to get a quick tech overview.
Good point and I agree that the borders between SPA and SSR are blurry. However, I just wanted to stress that a debate without having requirements is useless, it's like saying a racing car is better than a truck. But for what? Building websites is not like building websites 20 years ago. There are many uses cases and saying one is better than the other rather shows that you never experienced the other side. I mean, there are still people out who never touched react, how should they fully grok what mighty system and ecosystem react has created and choosing another stack comes with much smaller or dying ecosystems.

To your points, I still think a proper SPA without any quirks such as DHTML, React Suspense, etc. gives the best UI for dashboard and logged-in kind of uses cases. However, having mixed environments is from a production and dev perspective subpar and hence you end up with setups like Next (SSR) with some Next pages having a stronger SPA notion (SPA within SSR).
Just play often enough, and the randomness evens out.

(In probabilistic prime number testing, they usually refer to something like 'running the algorithm often enough until being killed by gamma rays is higher probability than the algorithm being wrong'.)
Premature Optimization can hold back the release of software, and make it more complicated to debug.

.

Say you already have a function that returns the list of children in a node..

.

But you need a function that brings back only the first child if it exists.

.

1. Do you copy the function and return just the first item when you have it (with the associated code around the function) for efficiency sake.

2. Or.. Call the existing function and return the first item if there is at least one element?

.

1 Will be the best answer if you have a million records to load from disk.

2.Will be the best answer if you only have 20-30 records on average.

.

But 2 is the best answer before debugging, check that the code works properly before duplicating it and modifying it.

Answer 3 would be to add a limit parameter, and call the other two functions with it. That way, if limit=0, return all records. if limit=1, return one record maximum.

.

Sometimes the answer is to think differently about the problem altogether.
No, not an alternative, but I'd argue that considering new versions should be a part of performance engineering. If one of the "improvements/features in the next version" is more optimized and performant code, you want to "reap" it (after of course considering and testing the upgrade from other points of view.
> when the Japanese Navy showed up, the US Navy weighed anchor and left

I'm not even an amateur pacific theater historian, but I know that this story is more nuanced than that, and your implication that the Navy didn't cooperate sounds naive.

It's true that the US armed forces suffer from high division. My canonical example is the retirement of A-10 in favor of F-35.
> a recipe of fairly typical materials

We don’t have good theory for materials science. Our understanding is closer to a list of observations (“effects”) than anything unifying. That almost ensures there will be surprises in the gaps.

At the same time, popular disillusionment with repeated claims of wonder materials has led to—in my opinion—underinvestment in basic research.
> moc just generates additional source files with the implementation of some functions whose declaration is given by the Q_... macros.

But those additional source files are essential to the operation of my program - if they werent - and it was just entirely optional - why would someone ever opt to run it?

> it is not an additional preprocessing step, but a parallel one.

If I write something and I use QT MOC specials like Q_OBJECT and I do no MOC processing occurs I will never obtain the output I consider as correct as a whole - sure if I don't care about the output as a whole and just look at parts of it then I could say those parts there and correct. But I did not write Q_OBJECT because I like the way it looks in my source file, I wrote it so that MOC could generate some specific code without which my program will not function correctly.

> This .o is exactly the same that one that would be produced in a complete Qt program.

Say I had a program (XPP) that for all valid c++ input generates the output that a c++ compiler would generate for:

// blank

Would it be a C++ compiler? And if not why not? I could also tell people that the .o file it generates is the same as would be produced by a c++ compiler except there is some additional parts which they can write by hand in the .o file.

When I write c++ I don't just care that some output is generated - if the output is just missing some parts it is still wrong - even if I could go add those parts by hand.

Similarly if I write Qt, I actually care very much that when I put Q_OBJECT that some things end up in the output - because if I did not I would not use MOC.
NYT will happily publish "high-quality big picture" antisemitism of the oldest and most eugenic sort: https://www.theguardian.com/media/2019/dec/28/bret-stephens-...
I don't understand where I lost you. facts are quite clear, let's recap

I talked about blinking lights

your car doesn't have the blinking mode for engine check

I and another commenter both explained that blinking lights were specifically added to disambiguate between critical and non critical issues

these issue are deemed critical specifically because they are immediate danger of engine damage

blinking lights were specifically added because people were ignoring static check lights

your vintage car comes from an era before the disambiguations, fair enough, still not the common case today.

the respondible thing to do if your car passes the fuel and fuel cap test is to stop it and call a tow truck, specifically because as the manual started the light cover issues that might cause an engine seizure.

it's likely my fault for not disambiguating towing and tow truck early in the discussion, we have two different words for that here. (traino vs rimorchio)
Raging wildfires trap 4k at Australian town’s waterfront
It can be - if you have client side code that you do not wish people to mess around with it's all about adding resistance to convince the person who attempts that it's not worth the time and effort.

Some examples:

- Licensing logic

- Anti-cheating for games and similar

Most likely it will be breached eventually, but no reason to leave the door unlocked.
Originally meant for my own consumption, I made an aggregator that I would like to get my news from, in a form and shape I prefer. then my friends started using it and they really liked it. Now available to everyone.

[1] https://embit.ca
Here's a few useful ones:

- SSH wrappers/eval-ed Aliases, which do: exec ssh -l user host "$@"

- AWS wrappers, that allow me to: exec aws --profile blah "$@"

- DB wrappers, that allow me to hit a target DB

- cred: Allows me to pick creds from a password manager / keychain independent of OS; Usually a polyfill.

- subtract, intersect, union, sample: for handling one liner data, incl. CSV files

- csvcut: Python wrapper though that does -f, -d, -c but on CSV files

- j2y, y2j: Python wrappers for JSON to YAML, YAML to JSON

- envsubst, watch: polyfills for some environments

- vdimount, imgmount: Allow loopback mounting for partitions / images for VirtualBox/Qemu

- nanny: Nanny for starting processes, passing listen sockets on restart, change NS properties; Usually a polyfill
IBM CTO Sees Smaller Container Platforms Ahead
Sounds like a group of people succumbing to the inner platform effect: https://en.wikipedia.org/wiki/Inner-platform_effect

It's not nearly as uncommon as I'd like.
Well, as someone who doesn't support any of the UK major national parties I'd say that the BBC was fairly good at making pretty much all of them look equally unappealing!
The "major cities in the world" are among the most desirable areas to be in, almost by definition. So no, housing will never be all that affordable in Manhattan NYC. But does it really need to be, provided that resources are being put towards their "highest and best use"? Some people will have to live elsewhere - and NYC has very good subway transit that helps people do just that.
No, they didn't want to protect Uber drivers. They wanted to stop competition and prevent free market from doing a better job than state regulators. In the process they economically hurt 99% of Californians.

Cali freelancers won't be the first or last victims of statism.
You don’t have to follow news to make good political decisions. If people read philosophy as the same rates they follow fake political drama, we’ll be in a better place.
The three links under the following section are broken: “Relevant articles referred to in this article”
Similar things can be said about fiat FX market volume. That it is being stabilized using astronomical debt is hardly an improvement.
Well, a football match lasts over three hours, so chugging a six-pack over that time wouldn't fit the definition given above.
In this initial version, theres photo sharing. But yes, planning to integrate messaging system as well.

I take photos and record videos on my phone. All my friends and family too. I used to share them on different media sharing platforms. Used to have a meaningful discussion/conversation on the shared content with the people I know.

Things changed and got worse. I hated infinite scrolling and public feed which I still do. I never really liked the idea of "liking/hearting" - rarely "liked" stuff. Also, these days it's all about influencers and things get lost in the feed.

Keeping all this in mind, inspired by good aspects of the existing platforms and really based on what I needed, I decided to build Storry.
From the article it looks like it's just south Africa.
Among 'etc' I would recommend Heimlich maneuver in particular. Didn't really ever expect to use it, but ended up doing it on my own kid…
BBC's coverage (and that of other media) of Corbyn has been overwhelmingly negative ever since he announced he is running for Labour leadership.

Having said that, I think what's more interesting is the BBC's accidental editing of his main opponent in the recent election. That is, the first time they "accidentally" aired 2016 footage, and the second time they "accidentally" edited out the audience laughing at Boris Johnson after he was asked a question.

On both occasions the BBC apologised but I'm not sure it mattered. Obviously this does highlight that since the BBC is willing to do this, how many other times have they done this that hasn't been noticed?
> it's foolish to pretend that a modern multirole fighter can't be shoehorned into that role with reasonable effectiveness.

I would say it is foolish to make such a broad generalization like that a plane being new and designated multirole is enough for it to fill all CAS roles (there's more than 1 type of CAS mission) "with reasonable effectiveness". In the case of F-35 replacing A-10, we know that it won't be able to fill some of those roles.
People are not quite objective around HN when it comes to political stuff. That's fine, the technical stuff is still good.

> Take any media outlet with a big grain of salt

True. That's why you can't trust a person who gets his/her info only from BBC and NYT anymore than you can trust an engineer who doesn't know Lisp.

I'm also reading The Guardian, it has some nice opinion pieces, but when Australia is on fire the news is how some tourists saved some koalas and it's all well. When the Amazon burns, that's another story.
Yes, there's still a reference cycle because the outer closure implicitly captures self as well. The article explains it in greater detail.

I agree that threading is another big gotcha, arguably a bigger one. Rust has some mitigations against that sort of thing.
Are you using 8 bit encoding? An alphanumeric mode QR code containing base 64 encoded data provides less capacity. In binary mode even a 4096 bit RSA secret key fits while ECC keys produce smaller codes.

The qrencode tool has an 8 bit mode but not all decoders can handle binary data. For example, my phone shows me mangled results and I can't redirect them to a file. Like structured append, it doesn't seem to have much support.

I've sent patches to ZBar improving this:

https://github.com/mchehab/zbar/pull/64

Hopefully it will make QR codes more useful for storing keys and other small files.
Uhm, by default the 'Print Screen' key in Ubuntu Gnome saves the screenshot in ~/Pictures/Screenshot from $(date "+%Y-%m-%d %H-%M-%S").png
I mean, it’s like asking someone “How are you?” And them going into detail about their spastic colon.

In a interview you’re trying to paint the best possible picture of yourself, anything that detracts from that is wasted effort. Why would y’all talk about your shitty previous employer when we can talk about something else that is interesting.
Mostly allowing themselves to be led around by unnamed "sources".

Laura Kuenssberg's Twitter feed was particularly bad. Reporting on advance postal votes: https://www.theguardian.com/media/2019/dec/11/bbc-denies-pol...

Misreporting a punch, contradicted almost immediately by video: https://www.theguardian.com/commentisfree/2019/dec/10/photo-...

The official BBC line is that these are "mistakes", although they all seem to err in one direction and there is no investigation or plan to reduce the mistakes in the future.

Subjecting everyone except Johnson to interview by Andrew Neil (who is also chairman of Conservative magazine The Spectator) https://www.theguardian.com/media/2019/dec/01/boris-johnson-...
Why is it, exactly, that, as a rule of thumb, almost all people who start life poor and end up rich do it with real estate.
No, it is not. RT is a valuable source of info.
Ask HN: What problem in your industry is potential startup for 2020?
Economist is very good. They are strongly liberal economics biased in their opinions, but they don't hide it. Their coverage of facts is usually excellent. It's obvious when they are opinionated and when on the other hand quoting expert opinion. I'm a bit on the left, politically, so I like reading 'what the other side is thinking' as well. As a bonus they publish bunch of letters from the readers, where they are criticized for this or that error by their readers, including state officials and university professors.
Taking this also as a bit of an Ask HN:

Easily the Tiny Habits habit formation regime created by Stanford researcher BJ Fogg. A lot of the addictive design patterns you see in apps like Snapchat, Instagram, etc. are built off his research. Quite nefarious use of psychology for advertising/“engagement”, but the plus side is you can use the same strategies to build habits you want to build.

Step 1: Consider the habit you want to build, e.g. “I want to meditate 10 minutes every day”

Step 2: Make it the absolute smallest possible version of itself; so small that it requires zero motivation/willpower, e.g. “I want to close my eyes and take 3 deep breaths every day”

Step 3: Place this habit immediately following an existing habit, e.g. “After I brush my teeth in the morning, I will close my eyes and take 3 deep breaths”

Step 4: Do this activity, and after each time you do it, reward yourself with a small celebration. It sounds ridiculous but I literally just say “Victory!” and force a smile on my face. The small rush of good-feeling-chemicals will keep you coming back.

I’ve used this method to pick up daily meditation, journaling, and flossing (acquired simultaneously!) after years of struggling to pick up any one of them. The first two habits have been monumental in my ability to learn, take on stress, and improve virtually every one of my relationships.

A shameless plug for BJ because he’s a great guy: his book, Tiny Habits, happened to be released today (what a coincidence!). I haven’t read it but if this is remotely interesting to you, I’m sure it’ll be extremely useful and engaging. It’s on Amazon, you can find it!

Sidenotes:

* Don’t worry about the habit scale down, it will naturally grow over time into its fuller form. I spent a month of the year just flossing 1 tooth each night (ridiculous, I know!), then 5 months just flossing 1 row (better!)

* Part of the trick is finding a good habit to put your new habit after. You probably already have a lot more habits than you know, since the whole point of a habit is to be automatic.
You're wrong on several points.

The US has air dominance in Afghanistan, so even a Stuka would look good.

And the F35 has such a small production run that the Air Force would run out in months. Which they won't do for another agency for CAS.

In Vietnam we learned that having airplanes in-theater are much, much cheaper to operate than carrier and remote-based aircraft that take multiple refuelings to arrive on target.

For those not familiar with high-performance figher/bomber jets, they have to be refueled immediately after carrier launch and typically at least one more time after that before a bombing run. It's ridiculous, and exposes the tankers to risk.
Ask HN: What technologies did you learn in 2019?
It would be very interesting to see what people around the world have been learning in 2019. Any new technologies? Maybe investing more time to deepen the understanding of previously known tech?

As for myself, this year I discovered a programming language that suits my needs perfectly - Clojure/Script. Unfortunately, I don't get to use it professionally (yet), however I use it for my own projects with great joy. Using one programming language across the whole stack, while leveraging robustness of JVM on the back-end and vastness JS on the front-end is immensely empowering!

Previous year's thread (2018): https://news.ycombinator.com/item?id=18745763
One thing I haven't seen in the comments yet is the simple observation that premature optimization is, by definition, a mistake -- otherwise it'd merely be "optimization". The real question is, what makes it "premature"?

I think Knuth (in his famous "... root of all evil" quote) was referring specifically to programming, and to spending time on optimizations prior to functional completion. The mantra, "First make it. Then make it work. Then make it better." [or similar] holds water. But it's pointless to debate in general terms what precisely constitutes a "premature" optimization, vs a merely timely one, or adherence to best practices, given the infinite combinations of circumstance and context relating to software development projects.
I visited the site, and turned off my adblocker, but am not seeing any ads. Are the ads hidden somewhere? What does one have to do to see ads these days?
Edit - Nevermind, I thought I had my ad blocker off, but apparently incognito mode didn't turn it off like I expected it would.
If optimization is going to be a concern, the thoughtful choice of the algorithm(s) up front is not "premature".

Currently, I'm working on a project with a ring buffer (a kind of FIFO buffer). It isn't fast (not lockless) but has a well defined interface so I can swap it for fast one later if I need to.
The interesting thing for me isn't that some people use motivated reasoning to push through changes for which they have a personal preference, but that the people who do this sometimes manage to gain power within organizations and insulation from consequences. You see the same pattern in engineering sometimes.
Starcraft 2 replays work by replaying player actions not game state, they don’t need to record a random number generator’s output just a shared seed.

Now, you can argue the prng is effectively a random number generator, but that’s more semantics than reality. Further, RTS games use a shared seed to minimize network traffic. So, this is an important design choice.

However, as I said the player’s actions prevent individual players from exploiting the prng as they both interact with it.