skysight-inc/HackerNews huggingface dataset:
In my experience, code reviews are more about knowledge sharing than correctness checking (unit tests and CI are better direct correctness checks). You prioritize understanding the code that has changed and hope you get correctness as a side-effect of that understanding. If you try to directly construct an exhaustive correctness checklist, you'll end up producing a CR process that's overly burdensome and that no one actually follows. So create a checklist for understanding the code, not checking correctness.

Here's the rough, hierarchical checklist I wrote up for myself at some point: https://gist.github.com/beyang/b3b494f028996b32ab3dae237bc1c...

I don't go through this entire checklist for every code review obviously, but whenever there's a diff that's large/complex enough for me to say "hoo-boy", I revisit it to remind myself of what I actually need to check in order to obtain an adequate understanding of the change.

The other thing that matters is tooling. One of the annoying things about most CR interfaces is they lack the capabilities of an IDE that actually let you jump around and make sense of the code in a tractable manner. Shameless plug: I helped build a browser extension that adds these capabilities back into most of the mainstream CR systems: https://docs.sourcegraph.com/integration/browser_extension. People swear by it and I'd highly recommend trying it out.

To get back to your original scenario, it seems like you asked the right initial questions, but stopped short of building a satisfactory understanding of what was going on. You took the author's word for it, when you could've asked a few more probing questions to check your (and their) understanding of the change. At the end of the day, the threshold for "LGTM" is a function of both how well you understand the code and how much you trust your teammates. Better process and better tooling can help out a lot with the former, but the latter is a human element that can't be ignored either.
There were very similar news that have made to Techcrunch, so this is not anything new. So it cannot be a response to this - Apple has been working on it for some time.
They had redundancy, the redundancy failed.

I mean truthfully when do you get to test your redundancy against a true disaster. It was a mess. WF is 20 companies rolled into one so the fact the disparate systems from 10 different banks works at all is kind of a miracle.
That's really low grade logic: models of weather can predict weather, models of climate can predict climate. What don't you understand in this?
It does cost money to move data around, even if it is an upfront cost when you build the infrastructure. When your users move enough data that you are getting close to the capacity of your infrastructure you need to invest more money to extend your infrastructure.

Or to express it slightly differently: if there weren’t any data to move you wouldn’t have to build any infrastructure and you wouldn’t have any costs. If you want to move data you have to build the infrastructure which cost money, which means that it costs money to move data.
Rsocket: Application protocol providing Reactive Streams semantics
There is a pretty significant difference between recording users' activities at an abstract, aggregate level (e.g, to measure DAU and user retention, or to track how many users use a feature or complete a funnel), and recording the activities of individual users at the highly specific level used by Glassbox. I suspect that Apple's statement is meant to target the latter, not all analytics as a whole.
> Well, that got my attention. But not in the way they likely hoped. Any personal embarrassment AMI could cause me takes a back seat because there’s a much more important matter involved here. If in my position I can’t stand up to this kind of extortion, how many people can?

Can’t remember the last time I’ve seen a prominent person post the details of a personal extortion attempt out of defiance for all to see.
This is pure anecdata and survivorship bias. I like bitcoin, and yet...
That's good language to look for. I didn't check closely enough and my mortgage documents stated that the loan issuer (my bank) would service the loan, but without any guarantee of how long. They sold the loan shortly after issuing the mortgage.
How much is really relevant to the average developer out there writing a bespoked internal app that no one will ever see outside of a company or yet another software as a service CRUD app?

Only a smattering. I could cover just about all of it in 2 nights of instruction. However, that doesn't mean the students would have mastered and internalized the concepts to the point where they'd make the right realizations when they need to.

I think I’ve had to implement one complicated algorithm that was low level and not a complex business requirement in years and that was the “shunting yard” algorithm to convert a string algebraic expression to a number as part of the parser for the compiler I was maintaining.

Right. Most of the time, one implements simple algorithms, using hashmaps and "vectors" as building blocks. But first principles knowledge can also make one better at that.

Most developers could go there entire successful career without ever knowing how a compiler works.

(Their.) Right. Most people can manage. Just like most mechanics can manage to muddle through learning as they go. But why not have mechanics learn basic knowledge about electricity? They do, because that kind of 1st principles knowledge can save people from pain. The same applies to CS/programming. Also, the knowledge itself is pretty neat. A lot of people get pleasure from learning it and being able to understand their world in a deeper and more nuanced way.

People going to top-tier 4 year universities, getting a 3.75 GPA, but coming out with no more than a glue-crud-apps-to-cookbooked-machine-learning/buzzword-of-the-day-library level of knowledge just strikes me as a colossal waste and colossal rip-off. It's also people becoming the victims of low expectations. I know that kid who tried to tell me that a pointer doesn't take up space could well have learned that stuff, if his program had just had slightly higher expectations. I'm reminded of schools who track certain kids into learning nothing more than what's necessary to balance a checkbook. That's killing young minds with the bigotry of low expectations. We're probably already at the point where some say asking kids to learn enough math to balance a checkbook is asking too much. Something about that strikes me as selling people short.
I know they didn't state it. I said they suggested it. Which they, and the linked comment, did.

When your immediate reply is to dismiss the dominant rust crypto library in 2016 as being understandably bad because the development ended in 2016, you're suggesting that the year (and before) was some kind of dark age for rust.

>Static, perfect code is rare.

My criticism isn't "hey, there's a lingering bug that no one fixed and which broke my use case". My criticism is, "The design of the exposed interface to the core library functionality forces me to care about irrelevant implementation details and enable attributes (mutability) that my use case doesn't need."

When you say that a project developed in 2016 can be expected to fail on that front, what you're saying is, 2016 was too early to expect developers of a major project (in a hot language followed by a lot of smart people) to understand the concept of separation of concerns and abstraction of irrelevant details.

Do you see why I might be skeptical of the relevance of the year of development?

There's a similar point to be made about (the lack of) clear examples, a concept that didn't spring into existence in 2017.
RT link? Check.

Completely unfounded conspiracy theories? Check.

/r/the_donald is that way buddy ->
> If I were a customer

Are you sure you're not one?
This reminds me of the 'man eating alone' scene from The Lobster.
It errors because the type of `err` is `error`, not *formatError. That's why you are supposed to return the error interface, instead of a concrete type.

The value ends up being a non-nil interface value that holds nil.

To avoid encountering this issue, return `error`, not something else.

https://play.golang.org/p/jZ5Fa24bbUz
Renewable energy is making that less the case
I find this rather disturbing as well as needlessly cruel and sadistic. What kind of hatred results in a person enjoying seeing a cockroach named after their ex crushed and consumed by an animal (the meerkat in this case)? I can only imagine this appealing to people who enjoy indulging in violent/murderous revenge fantasies. Any person participating in this thing direly needs to see a counselor and/or psychiatrist.
"Pro life" is a feel good yet entirely inaccurate euphemism for "anti choice." One can find something unethical yet not want to ban other people from doing it. For example, I find both meat eating and religion unethical but I don't wish to stop others from eating meat or going to church.

>Lots of people have an abortion and then later have children.

Later? The majority of women who have abortions are already mothers. [1]

[1] https://www.guttmacher.org/united-states/abortion
I agree, which is why the exact verbiage on Apple's end is important.
There's a legit distinction, though, between startups and other businesses - startups are designed to grow fast.

Are they, though?

I have looked at the incoming classes of various startup accelerators over the years and see lots of niche-focused products and services that can never grow to anything more than a niche-focused product or service as described in their pitch decks.

I'm not putting down those types of businesses (or proto-businesses). I'm just pointing out that they don't have a high-growth profile or potential, the primary dividing line between "startups" and everything else dubbed "lifestyle" in investor circles.
what is correlation and causation?
> Frankly, raw HTML and CSS is already a dying path. If you get someone to build a simple web page from scratch, it won't feel like a "real thing" to them. Because, today, "real" now means it has social sharing, interactivity, and a certain level of visual polish your web page will lack.

Social sharing, interactivity, and reasonable-to-high levels of visual polish were all frequent features presented with raw HTML/CSS a decade ago. If you have a decent designer available to you, some of them can hand you a quality original screen design in an day or less in a PSD/Illustrator/whatever file, and it's possible for most cases to convert it to HTML/CSS from scratch in about the same time (at least, it was for me by the time I'd done a hundred or two of them). Responsive may add time depending on the layout conception. All of this can work pretty much the same today.

If you don't have a good designer and/or design isn't going to distinguish you (or you want the benefits from fitting into widely-present framework styles), a template or framework can make a lot of sense. But that's a different proposition from saying HTML/CSS is a dying path.

Interactivity & Sharing: up to a certain point, interactivity via progressive enhancement costs no more time/effort than application-centric approaches unless you're truly building an application over a hypertext document with some added features. Possibly less. Social sharing is usually a matter of dropping the right widget into a page.

> Forcing them to start with an empty notepad document is like getting someone interested in cooking by making them grow wheat.

It's more like having people start with buying/using their own staples instead of a meal kits or deli meals. The latter can be delicious and convenient, but it doesn't mean the staples aren't a viable path.
> Usually this can be resolved by creating a new function and calling that from the loop. But frequently not. [etc.]

For me this is the appeal of the language; I really prefer things confined and manually scoped rather than having things globally scoped which would cause a lot of debate just around that. You often have to think about what you want to expose and where, but that's a good thing in my opinion.
Explanation in Human-AI Systems: Meta-Review of Explainable AI
Julian here from Tower. We posted an updated response: https://www.reddit.com/r/git/comments/ao1q7t/care_git_tower_...
The only reputation that Google has left in my head right now is that the thing that you rely upon can be gone overnight. I'm not using it for anything remotely critical.
you jumped immediately to an unfounded speculation which is known to be wrong (WF maintains multiple data centers).

Also, failover is hard. Few companies outside of a few larger Internetz companies can really do it well.
How to Start Your Own Podcast: Step by Step Guide
Restrictions on voluntary interaction will not outperform unrestricted voluntary coordination. The latter evolves toward more optimal configurations as a result of the incentive each individual has to improve their station in life. Interactions that don't make the circumstances of the two parties to the interaction better than they otherwise would be are not sustainable in a free market, while those that do, are selected for, and this is because both parties have a right to choose the best option available to them.

A broad-based restriction is a one-size-fits-all-solution that will inevitably lead to less optimal outcomes in numerous cases. Society and economy are too complex to deal with based on broad over-simplifying generalizations about entire classes of interaction.
I believe this is a quirk of how interfaces are implemented: https://golang.org/doc/faq#nil_error
Yes, definitely. One of these days my freedom loving privacy aware side will win out against the side of me who enjoys the convenience and ecosystem of iOS :). At this point my entire extended family is on iOS, and use several of the iOS only features.
I agree that old "ramps" are going to die and get replaced by newer ones as part of general technological progress, but your comparison to cooking is just nonsensical.

Using HTML+CSS to build a site from scratch is not at all like growing wheat... let's not make false equivalence fallacies here.
The other commenter wasn't very kind towards you, but I'd definitely encourage you to use defer to get correct semantics around releasing resources. It's the best tool that the language gives you for that.
The real issue here is that it is not immediately obvious that this is actually an interface - one expects the second `err` to be *FormatError due to the signature - it happens to implement the error interface so it goes unnoticed.

Shadowing in a different scope allows it to work properly as well.

I admit that I've never actually run in to this issue in practice as I generally return custom errors as `error`, but I can see why it would confuse someone.
As Trump says "Sounds good, does not work".
Jeff Bezos says National Enquirer is threatening to publish his nude photos
Are they even aware of it ? I mean like ML discussions about it.
what will you do when she is tired of being a maid for food?
Lighten up, seriously. I could see this as being a funny thing among friends: "happy birthday! I bought you a video of a meerkat eating a cockroach named after your ex." "LOL, awesome! Next round's on me." I think you're envisioning Dexter sitting there rubbing his hands together in sadistic glee, but I don't think that's how that would normally play out.
I've had the luck of doing this flight in 1st class a few times. It is bar-none the best flying experience I've ever had. There is little to no sound pollution up that far. They have closets instead of overhead bins, so you have tall ceilings that really open up the space. The bathrooms are huge. No showers, but huge. It is the only flight experience where I've gotten off the plane feeling more rested than when I got on.
Edit: This place has become a joke. It was nice having pluralistic discussion while it lasted. Goodbye.
I also signed up for Stripe in 2011. The Terms of Service mentioned Wells, beginning in the first paragraph. You might want to look in your files and/or the Wayback Machine. https://web.archive.org/web/20111017081436/https://stripe.co...
Show HN: Security and Docker: tips and tricks
> To avoid encountering this issue, return `error`, not something else.

But best practice is to return concrete types.

Also, `err` is just an example in this minimal snippet. It can happen with any variable.

Here's a similar snippet: https://play.golang.org/p/WKPey_PL_ht -- Looks impossible to crash. :P

Spoiler: it's a boxed null, not a null.
Tattica.js: a tactical approach to image loading
What's known about law enforcement using body camera facial recognition software
I struggle to beat a Django/Rails site with a few libraries and server side rendered templates. Not as straightforward to host as a static site, but much more straightforward than a static site plus a bunch of micro service APIs, plus I can render content on a fast server rather than a slow phone.

I’m all for SPAs for products that reach a certain level of complexity. They are 10x more capable, but take 10x the work.
Google's Making It Easier to Encrypt Even Cheap Android Phones
Brilliant and easy-to-read
Jagged Little Pill Could Make Diabetes Easier to Treat
You're not serious, right?
Automatic closeout remains a hard problem. "Defer" has the same problem as RAII - what if the closeout fails? Python's "with" clause, and how it interacts with exceptions, is one of the few constructs that can handle multiple closeout faults correctly.

Trying to get rid of exceptions seems to force workarounds that are worse than exceptions. C++ and Java exceptions were botched and gave the concept a bad name. Go's "panic" and "recover" are an exception system, but not a good one. Python comes closer to getting it right.

Key concepts for successful exceptions:

- A predefined exception hierarchy. Catch something in the tree, and you get everything below it. Python added this in the 2.x era, and it made exceptions usable. (Then they messed it up in the 3.x era, putting too much stuff under "OSerror".) This solves the problem of "Have I caught everything"?

- The case where a closeout event raises an exception has to work. This is hard. Attempts to get it right resulted in such horrors as "re-animation" in Microsoft Managed C++. It needs something like the Rust borrow checker model to make sure that object lifetimes are properly enforced on all error paths.
IIRC you're right, and bussing's one of the only actually-effective tools we've found for solving this problem—but it's also an incredibly-unpopular policy among a pretty large set of the population. Like, get-people-out-in-the-streets-rioting unpopular, if you kept at it.

For racist reasons, yes, but also because home prices have become a proxy filter for schools (filtering for kids whose parents are able and willing to pay inflated prices to send their kids to school with other kids whose parents are able and willing to pay inflated housing prices—it's a feedback loop).

The premium's a good 20-25% around these parts for safe-neighborhood-good-schools versus safe-neighborhood-mediocre-schools, so not nothing, and the entirety of many home buyers' equity early in their mortgage. Harder to compare with neighborhoods where the schools are outright bad since the houses there are usually in much worse shape and in high-crime areas, but one must assume the effect would be far stronger still, if one could find an all-else-being-equal comparison.

Still worth doing? Maybe, but if you just tell those middle and upper-middle class folks (actually rich people unaffected, as usual) to screw off and eat a loss you're gonna have some difficulty. And that's before racism even enters the picture, which of course it would.
>You're not serious, right?

Nope. I like what you like.
I hate blockchain because I care about trying to stave off the worst effects of climate change, and these morons are stomping on the gas pedal driving us off the cliff in the name of their get-rich-quick scam.
Even if an all beef diet had amazing health benefits, it's still bat shit insane magical thinking to claim that a glass of apple cider makes you unable to sleep for 25 days straight. Not hyperbole, he claimed it literally. Assuming it's even possible to not sleep for 25 days. That's /r/thatHappened material.

For another example of the same sort of outrageous obviously false claims (similar to breatharianism) see the "fasting girls." (One of which died of starvation while being monitored)

https://en.wikipedia.org/wiki/Fasting_girl
What all their scandals didn’t convince you of that?

After all their logo is that of a stage coach aka the wild Wild West(robbers, thieves, etc). They do not hide who they really are.
Consequences of Erudite Vernacular Utilized Irrespective of Necessity [pdf]
Wow, he called the HelloSign acquisition in 2015. His other two suggestions (native search and messaging) are still in limbo.
This was a really good read. Thank you.
humble brag
I am not a skilled person. I attempted this a bunch of times and all I have are weird strips of paper.

Can someone please share pics if you got something other than weirdly shaped strips of paper?
AWS has limits on the amount of resources you can have in a VPC. You can request to increase these via a process out of bounds of the API. This mechanism is there exactly for these kind of things (and malicious API calls should you get hacked). Maybe someone at your company was thinking to big? Normally these are around 10/50 for each EC2 type.
This happens because the surface of the water is essentially a big mirror.

All fish can recognize reflections because if they didnt theyd be constantly assaulted by a doppelganger from up above.
You can't have escaped it - https://www.nme.com/blogs/nme-blogs/peter-jacksons-version-b...
If ACH areas are involved, hopefully they already had those queued a day early per normal routines and you'll (hopefully) be fine. There are exceptions allowing companies to provide ACH files late. That's the exception and not the rule.
..and many analytics startups die in one night.
It's creepy indeed. Not only do they collect all your actions (key presses included) but I believe they also send the activity to their servers via HTTP, rendering the SSL on the page that includes their script, useless.
hello! thanks for this comment would you be able to contact me on twitter @me9187 (this account is mentioned in the secjuice article for verification) and tell us a little bit more about your experiences?
Actually I'd say Apple is swinging only toward user choice where it suits them. The recent change to the default media player for play-pause away from the last app and to Apple Music is one example. Dropping Do-not-track from Safari is another.
The Crucial Role of Linux in DevOps
It's not the bureaucracy that gives them more freedom. It's the power the law gives them to monopolize their employer's workforce at a particular facility, which let's them extract above-market concessions from their employer.

Paying above market rates to a group of workers is not good for the industry, or the economy. American workers and consumers were better off when the US auto industry was growing without the undue burdens of unions, than when it was contracting due to those burdens. Detroit at one time had the highest income level of any city in the US. The success of the US auto industry was good for workers, as is the success of any industry, and industries are more successful when they are not burdened by unions.

Likewise, American workers will be better off if Amazon and Tesla are globally competitive and are expanding their domestic facilities with their growing revenue, than if they stagnates, or becomes uncompetitive on the global stage, due to the high costs and inefficiencies of the collective bargaining agreements that were forced on them by ideologically inspired laws.
Biggest lesson I learned from my failure to build even a million-dollar company was the same... You can't engineer your way out of a marketing problem.