skysight-inc/HackerNews huggingface dataset:
Step 1: investigate. find out where the program is breaking and/or delivering unacceptable performance. This means asking stakeholders "is anything broken? What is wrong with the app? what do you want to change?", reviewing exceptions, and crash logs. Keep in mind that often times stakeholders don't know what they want - determine the business objective and then work from that. Determine where the broken code is, and write narrative comments about what you think it does. If there is documentation, read it. There often isn't any documentation, and often times the comments are useless on a good day. Resign yourself to playing a combination garbage man/forensic psychologist for the next few months.

Step 2: triage. determine which broken parts you can get away with leaving alone for the short term, and which parts need immediate attention.

Step 3: Fix the most critical broken parts incrementally. If there are no tests (there are never tests...), write a test for each block of code you modify. Avoid wholesale redesigns if possible. make sure that you write tests. Try to avoid getting mad about the previous person's style - focus on getting things working to a borderline acceptable level, writing comments to explain your decisions so you or someone else has a frame of reference. The goal of doing this is to buy yourself time to clean the entire thing up.

Step 4: Once the app is working at a baseline acceptable level, examine the codebase and determine which areas (if any) require redesigns, and determine the cost/benefit of each redesign, based on what the stakeholders need, want and expect. If any redesign is necessary, negotiate with stakeholders to buy time for it - your bargaining chip should be an additional feature or two that the previous guy shat the bed on. Basic criteria for a redesign: is the current design impossible to understand? Does the current design impose unacceptable costs in terms of performance or development time? if yes to either, a redesign is probably worthwhile.
I used to attend the Paris meetups. A bit of networking but mostly for the lectures. The presenter from Mindgeek was particularly memorable.

Recently relocated to the US and building a new network. Anyone interested in meeting up in the Miami/FLL/WPB area?
I remember a while ago network solutions was buying up domains names people were searching.
I reported this, I forget to who, but they were doing it. I had multiple people try random domain names and sure enough they were bought within minutes of leaving their site.
Maybe name cheap does it for certain domains.
I never understood the 'don't give a number first' law from all these blogs. If I know the upper bound of my potential salary, why wouldn't I throw out that number (or a bit above) and try to stick to it? What's the negative here? I think it'd be a lot harder if they lowballed you then you come off as somewhat unreasonable by throwing out a much higher number.
When you got a fishing license in PA, you used to get a booklet on the bodies of water, with a small table of which you cannot eat the fish from.

Now, there's a small table listing the ones that are safe. (Or perhaps there are none nowadays? I haven't had a fishing license in years...)

The pollution of Lake Erie is a travesty.
I just hate the feeling that we're moving towards a world where you can't go anywhere without being sold something or having your thoughts manipulated by a carefully crafted advertising campaign. I can control to some extent what I see online, not so much in the "real world".
Do you choose inheritance or interfaces?
It’s sad that you think this somehow reflects badly on Twitter. I appreciate a company that will opt to be conservative rather than ban-hammer innocent people on accident just to stop a single idiot.
Not only that, but you need to prove you can handle the traffic.
WPB yes!
They're not a conversion system so you don't measure them in terms efficiency, rather you use coefficient of performance, you can never have efficiencies above 100%.
I threw that post together in about 5 minutes at work and never came back to it.

I do describe the what and why more, but I start with the code structure because that's what I've been handed and need to understand. I also work in embedded systems where, generally, the code call tree is acyclic and sticking with this format works well (each file is often its own module with clearly defined, if not clearly documented, interfaces for the outside). If I weren't dealing with these systems I'd need to reconsider the structure.

It's not just "this section has structs". I'd start with that:

** Structs
#+NAME: structs
#+BEGIN_SRC c
// all the struct defs
#+END_SRC

then:

** Structs
#+NAME: structs
#+BEGIN_SRC c :now yes
<<msg123>>
// rest
#+END_SRC
*** msg123
This struct holds messages of type 123. Here's the spec for it [some link].
Here's a list of each component and their acceptable values:
- type :: stored in the lower 5-bits of the first 16-bit word, should be 123
- timetag :: stored in the second 16-bit word, represents time since midnight
in seconds.
#+NAME: msg123
#+BEGIN_SRC c
// code
#+END_SRC

If the structs are straightforward (think a standard quick-and-dirty llnode definition), I won't bother breaking it down because it's clear (for me). If I'm communicating it to a new developer, maybe I write more.

While I don't actually develop from this code (except for personal projects), I do a sanity check. I attempt to tangle the code (generate the source output from the org files) and run a git diff. If it shows any non-whitespace differences, then I accidentally altered a line I didn't mean to. Which means my documentation will be wrong.
5 Reasons why people are choosing Masonite over Django
The dark theme in Firefox isn't great, it's why I can't get people to switch, I've tried a half dozen add-ons, and while some of them are acceptable, FF flashes white between every page load, producing a blinding beam that immediately sends people back to Chrome.

I know enough to try to change it in the config files, but I couldn't figure it out in the time I spent attepting = /
There are two points that I strongly disagree with:

1) The characterization of capitalism as a novel acquisitive behavior. This is ridiculous. People have always controlled things, such as they were able to. Capitalism is, if anything, the abstraction of ownership away from violence.

2) The notion that the digital industry is characterized by surveillance seems to me to miss the point. The motivating factors in instrumentation aren’t a desire to spy so much as a desire to ensure you’re wasting as much of your attention as possible. Facebook is less like big brother, more like a psychic parasite. Or drug dealer.
Your article is interesting, but it makes a number of incorrect or misleading claims, the chief one being that heating via electricity produced by wind or PV is inefficient.

On the contrary, it is cheap, uncomplicated and very efficient in the modern context - by using the electric power to run a reverse cycle AC unit (in most cases, existing) you will get around 10 times the heat that a water brake system might deliver, with lower cost and much higher reliability.
The Filesystem interface seems to assume the limitations of a Unix-like environment. No mention of extended properties or complex access control beyond what you'd see on a POSIX system.

Seems odd that the standard library for C++ would assume a particular operating environment.
Video cameras aren't building personal profiles on you with ml.

> I couldn't care less if they know what kind of soda I like
You creeping intrusiveness will stop with beverage preferences? What if certain beverages are correlated with political leaning, like veganism?
Maybe we reckon with the issue that "understand" doesn't mean anything in the absence of it's implications and we rephrase the question. What do you view as consequences of deciding that it "understands"?
It is noticeable that all of the top 4 results in the recent Stanford Conversational Question Answering (CoQA) challenge are from groups based in China (the top 2 are from Microsoft Research Asia; the 3th and 4th, Sogou and Fudan; the 5th, anonymous):

https://stanfordnlp.github.io/coqa/

Chinese universities are ranked at 1st, 3th, and 4th in the world for papers published in top AI conferences in 2018. (Tsinghua at the top; followed by CMU, Beijing, CAS, and Stanford) Although some people might disagree with the methodology (e.g. larger departments have an advantage), it is still a decent indicator for China’s progress in the field.

http://csrankings.org/#/fromyear/2018/toyear/2018/index?ai&v...

Perhaps it is time for the US as a nation to spend more resources to develop and attract more people into AI research.

See also an Economist’s review of a recent book:
“In the struggle for AI supremacy, China will prevail;
Or so reckons Kai-Fu Lee, a tech insider, in “AI Superpowers””

https://www.economist.com/books-and-arts/2018/09/27/in-the-s...
In case anyone is interested in a written version of some of the essential points 3Blue1Brown makes, I recently released my own review notes which try to provide a brief overview of some of the main linear algebra topics as well as applications: https://github.com/photonlines/Intuitive-Overview-of-Linear-...
Your podcast is great! You two make a fairly dry topic engaging and I look forward to every episode.
Nothing seems to indicate that the cameras are building personal profiles that persist across sessions. That would be hard to do anyway, requiring some kind of recognition technology or assistance tracking consumers beyond just that aisle all the way to the register.

It looks like they're tracking aggregate statistics at most.
I agree for the most part, but we should only really be adding standard libraries for things that people normally have to fall back to the C standard library/POSIX code for when writing C++ code. Things like filesystem operations was one of those. Threading was another. Networking is probably another. Format strings I would not include in that, though updating the existing string formatting libraries for the newer C++11 concepts would be a good idea.
I recently released my own review notes which try to provide a brief overview of some of the main linear algebra topics in an intuitive / geometric manner in case anyone is interested: https://github.com/photonlines/Intuitive-Overview-of-Linear-...
Disclaimer: I don't know anything about managing a team, this advice is more for a solo developer or a developer joining a team.

#2 is what I use. After one/two hundred tiny commits (even if it's sometimes just fixing grammar in comments) you'll feel more at home. And because they're small you can achieve that within a few weeks.

This requires any way of telling that things still work. Sometimes you'll be able to do that because the transformation is an identity given the language definition, but for other cases I'd encourage #7. Having someone more senior (with respect to the codebase) review changes helps (this is what I mostly used), but I understand you don't have that option.
However you spell it, it is certainly tasty. :)

I live in Singapore, by the way, and I'm getting pretty hungry reading this. Any suggestions for good Indian food?

[Edit: Tried to make a clever regex to match all the spellings, but HN's editor thwarted me.]
Oscar-winner 'Free Solo' offers an important lesson for overcoming your fears
The US attacks on Huawei betray its fear of being left behind
You might not care if it's just soda, but what about when it's along every aisle in the super market? What about at a pharmacy?

A super market app on your smartphone (which was installed for coupons) pops up a notification on Tuesday to remind you to get condoms. Based on your history it knows you pick them up on the way home (it's date night).

Your wife gets personalized discounts on sanitary pads on the 12th every month because it knows her cycle based on transaction history.

A pro-life organization purchases whole sale data from one of the analytics firms and harasses those who get the morning after pill.

At this point it's too late. As a consumer you have no choice, there is no competition left in the market place that doesn't do this.

If journalists make a big noise about it at some point the chains argue this subsidizes the price of basic produce which directly helps those on low income. Now the message is if you value privacy, you ~hate the poor~.
Ah you're right, it was the Python example I couldn't find anything wrong with and then I copy/pasted the Go example without looking at it as closely. Python example has been fixed though per sibling comment.
Face recognition software isn't exactly a hard problem right now, especially when they can get a perfectly clear, hi-rez picture of you as you stand in front of the screen.
What’s your payback period?
Great thanks for the answers. Maybe on the broken examples just put a comment on the line that's broken so the reader doesn't have to expend mental effort understanding why it's broken.
What about a 'Meet HN' to go along with 'Ask HN'?
Scientists discover way to convert CO2 into solid coal
Tim Cook is a supply chain expert and is positioning Apple to profit accordingly. By controlling who can sell and repair the hardware, who can sell software and at what margins, he is making a lot of MBA-smart moves.

But it looks like Apple has moved into a phase where it is milking its ecosystem and customer base rather than building it.

In the same way, Apple engineers are focused on creating Apple devices than trying to create new and innovative products.

I love Apple. I had an Apple II and there are three different Apple devices in front of me right now, but I'm not optimistic about the future of the company.

You either die a hero or live to become Microsoft.
There are plenty of ways to organize C++ code, including several package managers. Why should a language -- a specification for a grammar and an abstract machine to run programs using it --- specify things so concrete as the way you download code? It might as well dictate what editor you use.

We need less, not more, conflation between languages, runtime environments, build systems, and package repositories. It's senseless to couple these concepts.
At what point do we decide the surveillance/manipulation is actually creepy and too far? When the computers/gadgets are in our bodies, under our skin? How will stop it?
I like your response. I think the reason for it is because it's a false indicator of capability and its demeaning. I think some technical discussion is good but this paranoia that somehow you're scamming them with a long con is so stupid and results in terribly non diverse hires.
It's not madness; each approach has problems.

In particular, distros generally work best when one version is enough, or maybe a few versions. Anything else leads to dependency hell.
Agreed. Even if 2d graphics somehow made sense for standardization, it's not the place to start. How about first standardizing a linear algebra library that defines 2d/n-d vectors & matrixes? It's a prerequisite for an ergonomic 2d graphics library. And even such a library, which arguably has way more utility being in a standard, you'd still be hard pressed to find an optimal design (just look at design tradeoffs between glm, Eigen, etc.).
Anyone interested in organizing a meetup in Denver? Email me! ryan [@] decentraland.org
Same with a spring-mass oscillator, right? A spring stores energy in the deformation of materials.
How B players hire C players (2018)
After reading other responses I agree that the Graphics library should be done by somebody like Boost. It makes no sense to have it in the standard,
One of the reasons I stay with Chrome is because of the superb dev tools, which are even better than in the Firefox Developer Edition
How Internet Marketplaces Unlock Economic Wealth
And yet having coded in Rust, Cargo solves all this bikeshedding. You can of course use your own build system but Cargo is pretty consistently used across the board which finally makes developing in a systems language as easy as Python (like virtualenv & pip but better).
Anyone interested for Austin?

ping me: julien __at__ serpapi.com
That's what the club cards are for, and probably security cameras too. It's a software update away.
Took me a while to find that eBPF was extended/enhanced Berkeley Packet Filter. Wikipedia was no help.
Maybe in the future we’ll have to wear glasses with ad blocking software installed :)

I wouldn’t mind having a pair of those right now actually.
Fair enough, I was being uncharitable there.

I do agree most users do not have the same concerns so the use case is far more limited than the hype. I do also still see a lot of value in "digital cash" as a whole, but I never really bought the whole store of value argument and the raft of grifters it attracted.
Tweet object from the Twitter API has a "creation_time" that has 1s resolution, whereas the snowflake creation time has 1ms resolution. No doubt these could disagree, but if that happened then maybe both authors could get a prize?
Como hakeo
Software vulnerabilities are becoming more numerous, less understood
Breathtaking: Conscious Breathing Can Transform
But the security cameras offer some value to consumers; they are there to protect people. They are purely an expense for the store owner.

In contrast, these nasty CoolerScreen things are there to extract value from your interactions with them (without consent). The bulk of this will go directly into CoolerScreens' pockets. A small pittance will likely be given to the shop owners to keep them happy. What's in it for you, the consumer? Absolutely nothing.
The toggling that does occur is in our mathematical treatment of the objects: sometimes it is advantageous to model them as a billiard ball and other times as a disturbance of a field. Sometimes you have no choice but to treat them fully as the quantum object they are.

It just depends on whether you can eliminate some part of the complexity and still come up with an answer that is useful in reality.
What does an HN meet up do differently than your average other technology meet up already does?

In my city, Calgary, we have Python, js, datascience, beginner coder and much more. Most of them you can attend for free, so you can pick and chose what talk you go to.

What sort of talks/events do HN meetips typically offer?
And by the way of the 30 or so engineers I have hired in the last 10 years, exactly 1 would have been correctly filtered by a homework assignment and 7 or 8 would have been incorrectly filtered. Technical hiring in my opinion is so poorly done by most people because they think developers are commodities that can be standardized and quantified.
If they are officially maintained, then by definition they are written and maintained by the same organisation as the std library.

The difference is, having an external library allows it to be versioned with breaking changes if necessary, without breaking consumers.
ElectronCGI – Cross Platform .Net Core GUIs with Electron
When you have nested service calls, a single downstream failure shouldn’t fail all the way back to the root request, in most cases.
I don’t think it reflects badly on Twitter, it was simply a remark on the state of their blacklisting at the time. I’m sure they could’ve done a lot better if they chose to. Sorry I didn’t expressed myself better.
I mostly agree with this article and have been of the opinion for a while that graphics has no place in the standard library and that what is really needed is a better cross platform build, packaging and dependency management story.

I would quibble with the hash table example though. I think there is a case to be made not for changing unordered_map but for adding a new standard hash table with somewhat different guarantees that make it suitable for higher performance implementations. Hash tables are so widely useful that a better standard option without breaking backwards compatibility seems worthwhile. Other languages have standard libraries that evolve in this way and while it can get out of hand (looking at you C#) it's a reasonable solution in moderation.
>What Tesla killers have failed?

Fisker, Aptera, Lucid, Faraday Future

Edit: Forgot supposed Apple car :)
Benign advertising models.
If you always think this you’re probably an amateur, but if you seen good code that wasn’t yours, then you might have a sense for things. Of course that requires that you read a lot of code.
I like the absence of a package manager at the language level and the embracing of shared objects and stable ABIs by using the OS package manager. Missing a library? Just install it, and list it as a dependency in the .spec-file, or whatever packaging system you use.
Even memory doesn't behave like memory. The order that DRAM sees your writes doesn't necessarily match the order in which you thought they were written, even though the CPUs themselves take extraordinarily complicated pains to make it look the same everywhere. You might thing you're writing into a uniform space with byte granularity, but under the hood the bus is logically 512 bits wide and accessed almost exclusively in whole cache lines.

There are long specifications in every architecture that detail exactly how the memory model works. Nothing is simple.

And in the case of MMIO devices, they tend to care about things software doesn't (like, you must write 32 bit words aligned on 128 bit boundaries or it doesn't work -- stuff like that), so the rules get even hairier.
Downvoted because this doesn't address the underlying point: differently abled people are just as important. And if their needs can be met with so little extra effort then why push back so hard?

Consider that at a critical moment the difference between moving a thumb and moving ones whole arm and hand could be the difference between life and death.

EDIT: fixed typos
I don't see how that's a counterpoint. Chesterton doesn't say "don't change it, that's how it is and shall be." He's saying, "Question why it's present before you attempt to change it."

Looking around, there were no obvious livestock or other reasons for the fence. But perhaps they're only there six months out of the year. Ok, make the fence a gate, and not a fence, so it can be opened more easily. Maybe it's no longer used for livestock, ok remove it altogether. But if it is used for livestock (but they were just over the hill that day), and the fence is removed, an error has been made (it existed for a reason) and the livestock can now wander beyond the lands they're supposed to be on.
I'm guessing your on an OS without a package manager or not making use of it?

Having the OS handle it is a much better solution than having every single language come up with it's own solution.
MobiScribe: The E-Ink Notepad
The same could have been said about Microsoft when Internet Explorer had a large portion of the market and Firefox came along and showed everybody what a real browser was. The fact is, there are a myriad of web browsers and chrome happens to be the best and that is reflected in their marketshare. Mozilla needs to figure out how and why they have fallen below 10% marketshare. Mozilla dropped the ball just like Microsoft. They focused on features users don't care about. Chrome's developer tools are a pleasure to work with. Even with Chrome having a bad reputation with privacy Google is still winning the battle. Now that Chrome is entrenched, it would need some large missteps(ie breaking adblockers) for users to dump it. I still have Firefox installed and periodically open it; it's still really bad, fails to open file, source code does not show in developer. But I'm sure Mozilla is already working on some other usless feature.
I wouldn't want to see json parsing in the C++ standard library. Sockets yes but not json. That is another domain better addressed with an improved package / dependency management story IMO.