skysight-inc/HackerNews huggingface dataset:
All engineering advice comes with the implicit caveat "subject to your local concerns".

Yes, of course you may be working in a startup that requires 25GPUs to serve even one customer. No sarcasm. I can imagine some startups that might meet that requirement.

But there are an awful lot of startups that start massively overengineering their footprint early when all they need is a web server with a cold or hot spare (use a load balancer with automatic failover if you've got one in your cloud or something, if not I wouldn't stress, and automatic failover on prototype-level application code can cause its own issues) and a database server with a good backup story and some mechanism for quickly bringing up a new one if necessary. (This generally leads you to some sort of clustering thing or a hot replicated spare because it doesn't take long before your database requires hours to rebuild from a backup or something.)

You're often better served just giving occasional thought to how you might split things up in the future and using that to at least hint your design than actually splitting things up immediately.
I have a story of temptation and pressure---not as good as Jacques's but maybe interesting anyway. I was leaving grad school (not for tech) and getting back into programming. I had two new kids, and I was really ready to stop living on $21k/yr (my student stipend), but I didn't have a lot of work yet, and I wasn't sure how my 5-year hiatus would look.

I had done a few projects for a small agency, and the owner was having me spec & quote work for potential new customers. One of these customers wanted us to build a "dashboard" to control a fleet of machines that would generate fake reviews for sites like Yelp or Amazon. I'm not even sure if that is illegal, but it didn't seem good. I told him it didn't sound like work we could do. If he had been just my customer, it would have been easy, but it raised my anxiety to say it to my customer's customer.

I think Jacques's conclusion about "a bad beginning" is very wise, and I'm glad he had to foresight to see all that. I hope his story helps keep other people out of trouble. His writing it up is really a gift to them.
This is also a pretty solid resource which I saw on Medium recently. A good overview of the JS testing landscape at the moment.

https://medium.com/powtoon-engineering/a-complete-guide-to-t...
Smadav 2017 Rev. 11.3.5 Crack and Serial Key Free  Latest – Crack Warez
It's hard. Because everyone claims to be doing TDD, just asking in the interview "do you do TDD" is pointless.

Example. Last year I consulted at an IC company, building a huge "moon-shot" chip. You might expect TDD to be an absolute certainty in such an operation. Not so, individuals had all sorts of justifications for not doing TDD.

Here is one idea. In the technical interviews, when the inevitable "and do you have any questions for me?" moment comes up, ask them to talk about their best test.

If they have a good answer, it's likely you've found somewhere that genuinely values TDD.
> Took a peek once I was out of sight, and it was definitely submachine guns

Can't you order that stuff over the mail in the US?
Dunno if this has been mentioned, but on the reproducible builds front, you can use bazel (Google's build system) to produce docker images: https://bazel.build/blog/2015/07/28/docker_build.html . It's a little more difficult and explicit to introduce non-determinism into a bazel build.
If you believe that Facebook is unethical, yes. Stand up to what you believe. It's harder in the short run, but it's much easier so sleep at nights in the long run.

I suspect lots of people would like to go back and change things they did.
Fair question. I want mainly to optimize my own workflow, maybe try some new 'ways' do develop software - editing remote vs local, building remote vs local, testing remote vs local, manual "printf" debugging vs debugger, etc.

I'll tell you why I chose to focus on Google specifically to start with.

First, it has a generally "analytic approach" to running their business, which they use for many things, from actual engineering, to dev ops, to "people ops" - you might have seen an article which describes how they basically tackled the problem of "how team dynamics" work with a large-scale internal social experiment with a heavily quantitative methodology.

Second, being very large scale, they have plenty of incentive to try to optimize developer experience, since even a small efficiency gain can make a non-trivial impact.

Third, they share quite a bit of their 'opinionated approaches' about things both in the form of research, articles and open source software (see MapReduce, Piper, Kubernetes, etc), but not everything, which seems to spark the imagination of people and generate some 'folklore' (as I mentioned in the question, I've heard/seen quotes from 'no one can check out code locally', 'everyone uses vim', 'nobody uses vim', etc).

This is obviously only my impression, which may be even way off.

Finally, I am sure that other similarly sized companies may have very interesting insights about this kind of thing. I chose to not make the question too generic also to not dilute the interest of the very people qualified to offer some insight.
Sorcery. Why don't my JS stacktraces look nice? :(
Agreed. Giving ISVs one format to deliver their apps to all the distributions will be a big help. To the distros as well -
you don't lose users to Ubuntu because Spotify is only distributed as a deb.

For those unfamiliar with "snaps", here's a quick primer:
https://www.youtube.com/watch?v=DLxqdf89hRo
Because I should adjust my perception of reality to match fiction?
Don't be naive. I heard guns like these from my bedroom window growing up, and that was in Stockton CA. And the Central Valley, along with AZ, NM, and TX have a huge problem with transporting guns to Mexico where they are in a civil war.
Sounds like something out of Doctor Who.
Does v2.3 bringing back sync help with any of these concerns?

https://github.com/vuejs/vue/releases/tag/v2.3.0
The science fiction author Lois McMaster Bujold has this technology in her "Vorkosigan universe" books, depicted as sufficiently advanced that it is safer for the fetus than natural pregnancy. She presents such technology, should it exist, as a moral imperative for the health and safety of both the mother and the child in wanted pregnancies, as well as an alternative to abortion.
Airbnb works with California, builds on efforts to fight discrimination
Where would you guess that security best practices are derived from?

And which will you remember better... a crazy story that you would never do, or a dry 10-point list, half of which may not be applicable to you?
Yes, I missed that part.
Your responses smack of an angry, small person looking to pick a fight from what you think is a position of superiority(not engaging in drug use). If you could actually explain what is wrong with the above quote, that'd be magnitudes more useful than this and your other screed elsewhere in the thread.
A $500k market cap is really nothing to write about. Market cap is a broken metric anyway.

But the article is a nice how-to for your own crypto coin and there were lots of worse coins he could have forked off than shadowcoin. :-)
We already have that: at least 5-10% of the population is naturally born that way now. We try to socialize them out of it, which has some success, but for those who it doesn't, the dumb ones become hardened criminals, and the smart ones become politicians and CEOs.

This colonization idea needs to wait until we can figure out the genetic basis of sociopathy, and then we can genetically engineer it out of the fertilized embryos, and instead GE them to be much more interdependent and social than we are.
I am curious how much this extends to:
A) Facebook and Google mining people's data
B) Cisco building extensive survellance systems
C) Microsoft was blatantly abusing it's monopoly

I could go on but all these had many many engineers involved. And best of it all, most of it was .. legal. When something is outright illegal, it's easy to say no.
This is true if you're agnostic to or prefer dynamic typing. If you're using Node, that's probably true, but at the high level I tend to think of Haskell, OCaml, F#, and Scala as the comparisons.

As someone who likes neither dynamic typing or Ruby's syntax, I do agree that Elixir looks very cool, and have considered it for jobs that favor development speed over compile-time correctness.
I have no idea how to answer this question. There have been some problems where someone was stuck for weeks, and I came in and coded up a solution in a day. That seems, in some sense, good evidence of being hard, but those problems never seem hard to me. The reverse happens to me too, where someone else solves a problem that was hard for me, and it's easy to them. Is that a hard problem? It was hard to me, but the problem was easy if I saw it the right way, which I didn't.

Last year, I came up with a solution to a problem that we'd been solving sub-optimally for years. My solution is arguably optimal (given a certain set of assumptions) and requires multiple orders of magnitude less code than the previous solution. The solution is the core part of a paper that was recently accepted to a top conference in its field. That sounds like it might be good evidence the problem was a hard problem, but in fact the solution just involved writing down a formula that anyone who was exposed to probability in high school could have written down, if it had occurred to them that the problem could be phrased as a probability problem (that is, the solution involved multiplying a few probabilities and then putting that in a loop). When I described the idea to a co-worker (that you could calculate the exact probability of something, given some mildly unrealistic but not completely bogus assumptions), he immediately worked out the exact same solution. It wasn't an objectively hard problem because it's a problem many people could solve if you posed the problem to them. The hardest part was probably having the time to look at it instead of looking at some other part of the system, which isn't a hard "technical problem".

Another kind of problem I've solved is doing months of boring work in order to produce something that's (IMO) pretty useful. No individual problem is hard. It's arguably hard to do tedious work day in and day out for months at a time, but I don't think people would call that "technically hard".

I'm with you. Maybe I never work on "REAL hard things"? How would I tell?
Manual testing can discover bugs. But the first step toward debugging should be writing an automated test to exercise the manually discovered bug, imho.

That said, bug-driven testing is a separate issue from TDD.
Maybe it's easier for people (here) to understand to consider that it goes the other way just as well. Being educated on ways that food/drink can be contaminated also results in certain people getting truly physically nauseous if they consume food or drink that they believe could have been potentially contaminated. You probably know some people like this.

"mmm these pineapple chunks for the fridge taste tingly and slightly alcoholic, did you marinate them in sparkling booze or such?"

"probably just fermented a bit, they're five days old"

"hurrrrrrrrrrrrrrrrrrrrrrrrrrrk"

There's much more situations like this, food that fell on the ground, or un(der)cooked meat. People that have a firm basic understanding of how germs work, have some pretty irrational beliefs their ability to teleport to the insides of uncut raw-but-seared-on-the-outside muscle tissue. And many will remain queesy about it, even if you teach them.

My point is, you can lead a horse to water but you can't teach it to fish if it wants to keep warm for the rest of its life.
"What will it take to build this?

6 months x 3 smart devs who understand the linux kernel. So like $600k."

Really? $600k for three smart developers for 6 months?

So a smart Linux kernel developer costs $400k per year all-in?

How about various web and node.js developers LOL. Where are the other fields with comparable costs?
How to Add a Custom Domain in Vultr Cloud VPS Server
Maybe I can help.

Among the various professions that do have an ethical code of conduct, generally speaking lawyers/solicitors are not seen by a large amount of people as being particularly compliant with it.

Now of course it is very possible that it is a wrong perception by the masses, but it is in my opinion quite unlikely that at the moment the argument "engineers lack a code of conduct, they should take lawyers as an example" will gain much popularity.
There's also snapcraft:
- https://www.youtube.com/watch?v=DLxqdf89hRo
- https://snapcraft.io
I certainly would. Strip-mining social graphs might have some interesting technical challenges, but I'd go back to factory work before doing that.
I edited my comment. The key takeaway from the edit was sensible regulation.

To answer your question though, no. It was misused infrastructure that was basically given away to telecos. Instead of sharing it like a utility, they took it and ran with it.
What would you suggest to people who arent going to enjoy programming? Trades like hvac/welding? would you recommend they get into the IT side? go back to school?

i often have people near me who are struggling financially ask for advice on how to get into an actual career - these are smart people who have fallen into and out of various lower skilled jobs like restaurants, call centers, secretarial roles, small auto repair shops, and the like. These are mostly people in their late 20s or early 30s who have college degrees in something less marketable (non-STEM).

Whats out there these days for intelligent people who are willing to work hard, and how do we get these people to these jobs?

for the trades, apprenticeships have largely been outpaced by associates degree programs and credentialism. IT roles are rife with credentialism, most credentials taking 300$ plus for the exam alone without any training materials. Going back to school takes a lot of money and real confidence that youre sure what you want to pursue.

I keep seeing people say that during the industrial revolution people were saying machines would take all our jobs, and that this time its the same thing. If thats the case - where should all these people be moving?

What should the 25 year old waitress with a philosophy degree be doing in her time off work to get into a real professional career that will allow her to retire at 65?

Are we sure we have jobs for these people? Is all this displacement just caused by the older generation being slower to retire because its less affordable to retire after the housing crash? If so, how do we address that?
There's biologically driven behavioral differences between male and female due to genetics. These differences are on a spectrum that varies between individuals but they are clearly visible in aggregate. A lot of recent political rhetoric bulldozes over the obvious differences between male and female to the detriment of our species. For example, the push to have the same physical standards for male and female in the army and elsewhere will inevitably drive the standards down. Males are mentally and physically tougher by design. And before anyone calls me sexist, they also die younger. Everything is a trade-off.

I believe that denying these differences is sexist, as it results in laws that affect males and females unequally. Should sentences for violent crimes be shorter for men because higher testosterone levels make them more biologically prone to violence? This is dangerous political territory bordering on eugenics but an interesting question nonetheless.
Killing someone is a bad outcome no matter how you look at it. But we make a moral distinction between defensive and offensive killing and allow for "justifiable homicide". Similarly, I think the same test would hold true for lying. If you're doing it offensively, it's bad and wrong. If you're doing it defensively (as is the case in this story), I don't think anyone would question that it was morally justifiable.
Really? Do you have any data supporting your claim?

I thought that web programming (e.g. ruby/python/php + JS + html/css/etc.) had way higher ROI because the learning curve is much lower and the market is way larger.
The retro is in fashion, this case turns your MacBook into a beautiful Mac
> I have a feeling people are going to reply without reading this through and assume the author poses a Deep Learning vs Classic CV sort of argument, in a deep-learning-is-overrated sort of way. Whereas it seems to me he is merely saying Deep Learning should be informed by Classic CV.

Thank you for saying this! You were indeed prescient - nearly all the comments so far at total non-sequiturs based on what the article actually shows.

Folks, please take a look at the actual GC-Net architecture, which is very nicely shown in the last figure in the post. As you'll see, it's still an end-to-end learnt deep learning model. The extremely neat trick is to come up with a way to represent the cost volume piece (that connects the 2d and 3d parts of the CNN) as a differentiable function, which allows it to be part of an end-to-end learnt neural network.

This approach, of finding differentiable forms (often approximations) of domain-specific loss functions, transformations, etc so they can be inserted into neural nets, is a very powerful and increasingly widely used technique. It's not about replacing domain knowledge with deep learning, and it's definitely not about replacing deep learning with domain knowledge - it's all about using both.

So in this case, the research is showing how to use geometry plus deep learning, not instead of deep learning.
You can make me personally liable all you want for the transaction, but if you think you can recoup $100M from me, good luck.
implementing some kind of rules for professional conduct and an organization to enforce it like the lawyers have.

The rules for professional conduct, and the organization to enforce it for lawyers, did not prevent the NSA/DOJ lawyers from determining that mass surveillance was legal, and could be implemented legally.

In the face of that, what rules for professional conduct and an organization to enforce it like lawyers have, could engineers have implemented that would have prevented those engineers from building that system?
Amsterdam was also much seedier 25-30 years ago.
I'm trying - but for the life of me I can't figure out how a disconnected speedometer would improve the resale value of the car. Did you mean he disconnected the odometer - or is there something I'm not picking up on here?
Thanks, I needed this laugh (and cry) on a Friday.
>It's much more to lose your family

That's exactly the point. If you didn't have a family, didn't have a career, if you were already broke and don't have money for rent, maybe you have a drug habit or some other personal demons, what's to stop you? What other opportunities do you have? What do you have to lose? The calculus is completely different.
Tell them to get inline behind the systems adminstrators ;).

Joking aside I'd love to work with good doc writers, I do my best but it's not where my skills lie but I think having the developers at least work on the docs is something that isn't done enough but it's amazing when it is done well.
">And if my company has layoffs I'm one of the last who would be let go.
You'd be surprised how many people thought that and got the short end of the stick."

It's a delusion that helps people sleep at night...
racist ==> "black" correlates with "slave"

"black" correlates with "slave" =/=> racist
You can buy functional relics that are well over 30 years old if they were registered before they were banned, and you're gonna need to be federally licensed to possess them, and you're gonna be paying in the 5 digit range for the privilege. Needless to say, these weren't those.
Post your harddrive for upload to the Azure Cloud
> > What is the hardest technical problem you have run into?

>I never seem to find a quick good answer for this.

Real easy: Overcoming technical debt/bad decisions of the previous group of programmers.

At my current company/position, our group basically replaced an outside company - two programmers. You name something you should do and they did it: Code in the behind, logic in triggers, plain text passwords, direct database access - bobby tables all the way down, etc.

When they were in charge, the company had ~4 customers... we are now rocking ~30 unique customers. Their fragmented codebase is unmanagable.

Keeping a train moving while replacing the engine and changing the wheels would be easier.

This doesn't include company culture, inter-company politics, other decisions, etc.
No, in this case it's RSA SecureID

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

A one time, time based hash as 2FA. Despite using this 2FA, the bad code completely circumvents it.
FCC filings show this devices is 2.4Ghz so I would assume that anything from cheap nordic 2.4Ghz chipsets to microwave to a HackRF/BladeRF/LimeSDR/USRP will be able to bother all signals coming out of these devices.

It looks like they are flooding the area and measuring off a reflection. Nothing ground breaking.

EDIT: Forgot FCC info: https://fccid.io/2AJF7
Your severance package is dependent on your training your replacement. We're talking months worth of pay which is nothing to sneeze at since you have nothing to gain from walking away from that severance.
Just say no, but not for moral reasons: say no because, unless you are absolutely desperate, it is the most profitable choice. Relationships with dangerous people who gain blackmail leverage over you will end badly - probably badly enough to offset all prior gains.
Abstracting the database has another benefit you are neglecting. It is easy to mock the database and test your application use cases if the database layer is abstracted. This is nearly impossible if database access is baked into the app.
Agreed, but it also goes even farther than just avoiding doing things that are immoral. We should be breaking laws that prevent us from doing the right thing.

Snowden probably broke some laws, but we're all better off for it.

Fortunately, most people in tech understand this!
Only when working hourly with a guaranteed contract does "engineering your own path" necessarily result in extra compensation. A rational person will put in effort up to (but not past) the point where that marginal extra effort results in an a commensurate expected marginal reward.

Assuming you're rational, say you're paid $P for Q output. If you thought you had a 75% chance to get $P+10% for producing Q+5% output, you'd be right to work harder and produce that extra output. If, on the other hand, you thought you had a 10% chance to get $P+100% for producing Q+50% output, you would not accept that.
Oh my mistake, it looked and read exactly like a blog post.
A TDD-specific observation, and not really an "introduction"...

I love TDD because it makes me feel more comfortable as a programmer. The cycle of "write a test, test fails, write code, test passes, write another test" helps keep me centered. I know what I'm supposed to be doing at that moment, and don't get lost.

I don't think I write faster, and I may not write more bug-free. But I sure feel better with TDD.
Those paths are actually valid Windows paths. I don't like `super` and `self` instead of `..` and `.` - it's just extra stuff to remember.

Also, because of how the metaphor for paths is broken, the relative paths in Rust are not intuitive. That's why you HAVE TO put `self::foo` because the default is not the same as what you'd expect if it were a path.

It's overly complicated compared to just letting you use actual Windows paths.
mustache-twirling, eye-rolling, leering, cackling, and hand-rubbing villain is by definition male

Apart from the mustache (or maybe not) this is an apt description of the wicked witch trope of female villains. So I'm going to say, no?