skysight-inc/HackerNews huggingface dataset:
It's not that Selenium makes it impossible to do things like this, it's that it makes it arbitrarily harder.

If you want to do something like request interception, you have to point your front-end at a proxy server and mock things there. If you want to test a file upload, you have to simulate typing into the dialog and then use a literal file on the disk. It's just pointless friction for most testing setups.

It's not that E2E testing is bad, it's that in some projects there's room for a Selenium-style tool across the entire spectrum from E2E testing to unit testing; particularly if I'm testing something like D3 code, or parts of a CSS layout.

It's all doable, it's just that Selenium makes it all needlessly difficult, because its point-of-view is that your front-end should be treated mostly like a black box, and that any mocking that does exist should be happening via endpoints and application connectors.

I like Selenium -- I prefer using an Open protocol over Puppeteer. I just feel like that protocol could use a lot more design work.
I stand corrected, that's good counterexample.
That's my problem with active listening. I can't do it without it sounding ridiculous.

"My god, someone shut down the production server!"

"That sounds very upsetting. You must be quite angry."

"Are you making fun of me?"
I really appreciate this as a self taught dev with a full time full stack job. I worked my ass off for 3 years, taking online courses, building product after product for people to actually use and ultimately landing a well paying and satisfying job. Things like this make imposter syndrome a little less nagging in my every day life.
repository (published a few days before this talk at Curry-On 2019): https://github.com/edwinb/Idris2
Graph Databases Go Mainstream
> Beyond that, there is something entitled about earning your entire income repairing another company’s devices while also demanding they make proprietary parts and knowledge available to you.

Apple won't let third parties produce Apple compatible parts (or sell parts sold to Apple also to non-Apple repair centers). Even if Apple just got out of the way, and offered no help/supply chain, it would be a stark improvement.

But instead they've been using hardware DRM to effectively make third party repairs impossible. If you replace a part with an identical part, you need Apple's software to authorize the change otherwise it won't boot.
They buy new planes all the time though; Airbus is selling its planes as fast as it can build them. And airlines are constantly trying to get newer planes because they're more fuel-efficient, and the capital cost of the plane itself isn't that big a deal compared to how much money they'll spend on fuel while it's in service.
You can "peel back the layers of abstraction" without a CS degree, all it takes is time and (admittedly rare) dedication. Webservers, operating systems and books on theoretical CS are all out there, you just have to be interested.
That there can be bad actors is not an intuitive concept for some people (say, if you were brought up on Mr. Rogers, warm-fuzzy schools, etc.).

I was fortunately(?) well into my career before I really encountered bad actors (somehow, I only worked with decent people, until then), and it was shocking where I finally did find it, which would've been the last place I would've suspected.

Another thing I learned, after the existence of bad actors, is that, AFAICT, there aren't really that many of them. (Well, outside of some pockets, including aspects of business and politics that expect and embrace a cutthroat environment, and in which professionalism involves calculating game theory of relationships and grabbing advantage.)

What's very, very common, however, and I think often mistaken for bad actors, is various kinds of arrogance. Most everyone has at least a bit, in some regards, (I do) and some have a lot.

Another way arrogance and bad actors can get conflated, or the lines blurred, happens when a very arrogant party gets in a mess because of that (imagine a powerful person who gets away with a lot, until they don't), or mistakes someone else for a bad actor, and then bad actor behavior is summoned to fix.
comments like these appear all the time when a country like India achieves something significant in Space. People question "why put money in space if millions are starving".
Using Serverless in Practice
Cities don't tend to propose shooting their golden goose in the foot so I hope this is a decently strong signal that the finance industry doesn't make all that much use of this data.

Edit: Why is this down-voted so heavily? Too cynical?
Why Navajos Love Their Country Music
Yea. Probably thats how we wound up there. We bought off risk, by spending money that it turned out didn't resolve the risk when it hit, but because we TRIED we got to shift blame, by not owning "you broke it you fix it" to the management view.
Benefits of creating a small business disaster recovery plan
Amazing how negative a comment re: Rossman this is despite including not a single example
Ok, may have been inspired by. Here's some relevant backstory from 2011:
https://www.wired.com/2011/12/backdrop-dropbox/
Considering how many cost reductions it's achieved in multi-billion dollar industries, yeah, it was probably a good investment, without even getting into the Apollo program letting us do things we straight up couldn't do before.
To expand on masklinn's point, Javascript's prototypes are actually very simple. It's just people overcomplicated it so as to do things it wasn't designed for (e.g. emulate Java classes).

These points covers most of what a prototype is:

1. A prototype is simply another object (or null).

2. Every object can have one (and only one) prototype.

3. When looking up a property that doesn't exist on the object, the object will delegate to its prototype.

4. When calling a function on an object, the `this` keyword will be bound to that object, even if the function is defined in the object's prototype.

A simple example to explain what I mean:

// Provide a default implementation of a kitten
const kitten = {
name: "unnamed :(",
greet() {
// Note that `this` will be bound to
// the object that invoked the method
console.log(`Meow! I'm ${this.name}.`);
}
}

// Create a named kitten.
// `Object.create` creates a new object and sets
// its prototype.
const grabbity = Object.create(kitten);
grabbity.name = "Grabbity";

// Call `greet` on the kittens.
kitten.greet(); // outputs "Meow! I'm unnamed :(."
grabbity.greet(); // outputs "Meow! I'm Grabbity."

The only other thing to mention is something you can probably infer: Every prototype is an object therefore a prototype can have its own prototype (and so on). In this way prototypes can be chained.
Check out sachiko stitching! There are many guides online.

https://en.wikipedia.org/wiki/Sashiko_stitching
So as I understand it, the game lets you spend real money to buy "chips" for gambling; but even if you win at the gambling, you can't get your money back out.

Sounds like a terrible deal. If I wanted to amuse myself by gambling with my hard-earned cash, I'd like there to be at least some chance of coming out ahead.

Great scheme for preying on naive teenagers, though.
If there is systemic racism then it would exist through the approval of laws that disproportionately affect minorities, not through the actions of individuals who are merely guided by the system.

Because the solutions are obvious but unacceptable (even to those who are discriminated against) I don't think we will make any progress on this front.
Your comment goes to the heart of the debate: does understanding what’s going on behind the scene of your tools help you become better at using them? I think for the vast majority of jobs it does not, but for a few it absolutely does.
The semantics are much, much, more important for sure.

I think the “language oriented programming” semantics of Racket are brilliant.

I’ve been working on this syntax question for 7 years, now full time at the Tree Notation Lab. I think there is a better way to do the syntax, which over time will have strong network effects, which will allow us to code faster and have more reliable code. But you are right, perhaps this will just lead to a 20% across the board improvement in programmer productivity—-the bigger improvements will always come in the semantic realm. I think the thing to keep in mind is that only a tiny amount of people are focused on the syntax issues, they just like to shout at each other.
What disappoints me is that we could be paying the same organizations to build things to expand space exploration rather than warfare.
I'm 39 years into a coding career with no CS degree. But as a compulsive auto-didact (probably a common syndrome among HN readers) it hasn't been a barrier. Self-learning is a continual, daily requirement for coders. If you can continue your education as needed for this job you probably also have the skills and interest to learn from scratch.

I studied the same books and did the same exercises as my brother the CS major and do feel that my training would be incomplete without that. But I don't feel disadvantaged by not doing that within a class structure.

The main thing I lack is access to government jobs, which routinely require credentials I don't have. But I've probably had a more diverse and satisfying career as a big fish in small private sector ponds.

Not everyone can learn coding without externally imposed structure. But those who can't probably have an ongoing problem in keeping up with the state of the art.
They aren't as bad as American children, because in other cultures they're taught from an early age how to behave appropriately around other people. In America, parents think their kids are special snowflakes and should never be disciplined, so bad behavior is rampant. The culture in America really is different from other places, as much as you might refuse to believe this.

As for "structures and connections", that's a ridiculous excuse. Sure, when children are infants you can make that excuse because they're really too young to learn almost anything. We're talking about kids that are 5-10 years old here. Differing upbringing doesn't somehow magically take effect only at age 18.
I completely agree, Hackernews has really helped me personally. Tons of interesting articles over the years on LLVM or the inner machinations of garbage collections. Picking the brains of clever CS friends also helps a lot too!
The better analogy is if apple claimed a portion of the income you generated by using their laptop for work.
Fitch, Moody's cut Boeing's debt outlook to 'negative' on 737 MAX problems
I just finished reading «the butchering art» about Jospeh lister and revolution of medicinal science. They mentioned the great stink and how it related to the miasma theory. Great book, author was on Joe Rogan as well.
I advertise on Facebook and I have no idea what the Facebook user growth numbers are - and I don't care. We advertise on Facebook because it works. We pay money to Facebook and acquire new users for our product in return.

Facebook actually under-reports the ROI for us (we acquire 2x more customers through Facebook ads than Facebook says we do), because ad blockers block the Facebook tracking pixel.
> However, as the years went by, people started to realize that the strict approach to object orientation created a number of problems. These problems tended to be of the kind that makes code complex, hard to understand, and hard to test.

No, ease of testing is one of the reasons for OO adoption, and probably the primary reason software is much more stable than it was in the mid 90s.

> Many of those higher-level classes are “polluted” with methods and properties that are only relevant to a small number of subclasses.

Well, then it's broken and needs to be refactored.

> During my last couple years working at Google, I created a new user interface toolkit called “Quantum Wiz”

Of course, in true Google style, you wrote something from scratch instead of refactoring the old.

> composition > inheritance

Not a new finding. I learned this in 2000, at the peak of OO craze.

> Because object oriented inheritance is about organizing things into classes, it doesn’t model the real world very well; what it does model well is the way humans think about the real world.

That's the idea. Good software is written for the simplicity of those poor slobs charged with maintaining it -- often ourselves a year later.

> A physical object has many uses other than the specific purpose for which it was built. I can use a coffee cup as a paperweight or a doorstop;

The whole idea of modeling is to remove certain details! Otherwise the model would be identical to the genuine article, and would provide no benefit.
Recursion and Abstraction, like love and herpes, are a form of disease which once caught cannot be lost, but can be shed, and so spread. Your brain is wired to look for both opportunistically, in any problem.

What a CS degree does, is teach you how to apply the infection. Some CS degrees are like innoculation against them and you come out with a degree, but no grasp of the fundamentals. Others, you learn so much you become a vector of the disease.
This is an old wive's tale.
> Why would I pay for a car and then have to rent another car?

In my case (and as said in the article): because electric cars (at least mine which was second-hand) are cheap and maintenance free.
Misleading title, weak arguments, no evidence. Just click bait . Facebook saw huge growth since 2012 by acquiring Instagram and monetizing mobile, and also from increased advertising. Facebook does not need more accounts to grow, but rather by making more money from existing users.Terrible article.
Attorney general: Americans should accept security risks of encryption backdoors
"All Nationalism is 'wounded', by definition" -- there is always some old grudge or memory of glory to fuel revanchist ferver.

https://www.reddit.com/r/TheWarNerd/comments/85ewei/all_nati...
Wow, nice job!

Are you a self learner or did you go to some school?
Debugging ML Models
Re water damage: Louis Rossmann had a video up where he was repairing someone Mac. He was looking through his microscope while narrating, showing us what he sees. Said something like, "Oh, there is it. No water? Riiiight... People lie. People lie all the time. If Mother Theresa could get away with lying, she would."
Just ban all ad tech while you’re at it. No one will miss it.
I love ZFS but the licence situation means it'll always be a mess to use.
I just looked and loow is selling tshirts for $75. My lord.
Mactracker: Detailed information on every Apple device ever made
Every project is different. Are you building a simple social networking app with basic auth and db? That should not take more than a week or so to build and launch. On the other hand, building a search engine or a semi sophisticated ML system will most likely take a month or more.
For those out of the loop and feel like this essay feels a bit “bitter,” Aaron Greenspan, the article’s author claims that he invented the idea behing Facebook back in 2003.
Datalog all the way down (2016)
As far as I know, Puppeteer actually controls the browser, whereas TestCafe injects things into the page - risking influencing the results of your tests. I've never used TestCafe, so I don't know how justified that worry is.
Thanks for this. I began programming when I was 8 on a Sinclair ZX Spectrum 48K from books I liberated from my Mom back in 1983. I grew up as the internet was just becoming a thing, communicating with other would be developers and hackers on IRC channels. I still haven't lost the bug. I'd like to say my CS degree studies were useful, but they were hopelessly inadequate and so constrained and tedious as to kill any further interest in formal education. I ended up dropping out and continued to learn informally and build a successful career over the next 23 years.

It's inspiring to read about developers who are also informally educated. It brings a sense that people like us are more common than we think and that we're really not alone. They're also finding great success despite the prevailing wisdom that you can't make it without a degree. People like that are proof that you can.
The rise and fall of the pocket protector...

https://www.americanscientist.org/article/rise-and-fall-of-t...
If you bike or have a bit of a tech-ware thing, Outlier: https://outlier.nyc/
Mercure: A Protocol for Server-Sent Live Updates
I have so many pairs of shoes now that I only wear some of them a few times a year. I only ever buy ones that I’ll have forever on deep discount (picked up a couple pair of Allen Edmonds for $100 each recently).

For the price of 2 Allen Edmonds bought retail, I could have 7 pairs of their timeless shoes, rotate them regularly, and never buy shoes again.

In reality, I have 4. 2 brown and 2 black, and that’s more than enough. My Dad has the same, and is still wearing his from the 80s on a daily basis.
AI Advances 3D Printing with Soft Materials
That was just a possible example.

If you want a shell, that is what stuff like JMX, or server side REPLs are for.

"Lisp at NASA: using a REPL to debug Deep Space 1 while it was 100 million miles away"

http://www.flownet.com/gat/jpl-lisp.html
Not even government jobs are out of reach for you. I work as a federal employee without any college degree doing web development with React/Node/AWS.
Consistency Cuts and Consistency Metrics
Fantastic information. To address your general point that there is some difficulty in assessing quality, it's not simply enough to spend lots of money, I'd recommend to everyone who is interested in stepping up their clothing quality game to find a reputable tailor. This is what I did, and I was lucky enough to do it while traveling in a part of the world with lower cost of living than the US. Because of this, I can order clothes that fit me perfectly and are made of extremely high quality materials for generally only a 20% markup over going to Macy's (for a dress shirt or slacks/trousers for instance), or a fully bespoke three-piece suit for about double the price of going to a Men's Wearhouse.

The most interesting thing I've found with wearing better quality clothing is that people notice, but don't realize this is what they're noticing. I get comments about my shirts from clients and when I go out in public random people will stop me to say something. Nobody says something about some technical factor of the clothing itself, but they will say things like "that's a nice shirt" or "wow, that shirt is really blue" (better quality cloth tends to have more consistent and lasting color as well).

This is one of those areas where quality isn't just expensive, it's more that quality only comes with being able to judge with expertise. Like most, I am unlikely to ever become an expert in textiles, so I found that having a reputable tailor do work for you was the best way to dress well without breaking the bank. My clothing lasts longer, looks better, and most importantly it feels better, all for a 20-30% markup over going to the mall.
In Racket, it's the same thing. Racket #langs are interoperable. Which is why it's untrue to say "no new features, fixes and enhancements". Any improvements to the semantics of the language will be usable from both #lang racket and #lang racket2; any libraries written in #lang racket2 will be usable in #lang racket. This is merely a proposal for an official alternate syntax, which you are entirely free to ignore. It doesn't take anything away from Racket to have this.

Bear in mind that Racket already comes with a plethora of officially supported #langs, many of them with highly non-lispy syntax. The ability to do this is a major part of Racket's unique value proposition in the first place.
Huawei’s secret operations to build North Korea’s wireless network
I also habitually carry fountain pens, a ball point or gel pen, and a mechanical pencil (Pentel Graphgear 1000). My EDC fountain pens typically includes a Visconti Homo Sapiens Maxi Bronze Age, Pelikan Souverän M805 Ocean Swirl, and a Lamy 2000 (inked with Montblanc Oyster Grey) in a leather pen case. I also carry a Kaweco Liliput with a Monteverde green refill when I'm traveling and it is impractical to carry/use my pen case.

The vast majority of my writing, however, is in fountain pen. It may not be as convinient as a ball point or gell pen, but the writing experience is just far better--especially for more expensive fountain pens.
I can relate in a sense but I remind myself often that I should be very grateful that the legacy of the enlightenment period meant there was a greater chance I would live a fulfilling life with a good education. I'm grateful to the people who worked to share knowledge and education through the intervening centuries. I'm grateful those people didn't think of those less fortunate to be paper shells not worthy of their time.

If I'm not trying to live up to that standard, at least in how I treat others, or if I'm unable to learn a lesson about peoples potential from that, then I am probably not seeing the bigger picture.
It's a real shame, but a nonzero percentage of human beings are vile, and I don't know what we can do about it.
Hmm, reminds me to dig up the old Wired issues I must have somewhere. I remember buying them regularly in the nineties. I bought Wired mainly for the interviews with wacko visionaries and the outrageous typesetting.

I also remember vividly the expensive advertisements: complete 3d pyramids popping up when you turned the page, and once (my personal favorite) an ad with that Frenchmen scene from Monty Python and the Holy Grail, which included a scratch-and-sniff sticker that read: "scratch here and I will fart in your general direction". Try to resist an ad like that...
Web Application Boring Stack: 2019
That’s an interesting idea. “Markfix” Notation?

How would it work if you had 2+ operators in one line?
While we are on the subject, if you are looking to self learn CS can anybody comment on the quality of this program? https://github.com/ossu/computer-science
It seems like you’re saying it’s nice to know the layers of abstraction but it sounds like you don’t use it in real life.

As a non CS degree developer I can’t really see anything that I’m missing because of not having the degree. I have a successful business, get hired for freelance jobs for a good salary, can build anything I want, ...

Would love to know what one would get out of having the degree versus self study.
Looks like they’re quite far along in developing this according to this status page

https://aslushnikov.github.io/ispuppeteerfirefoxready/
Trying to beat/get ahead of regulation is a fairly significant aspect of many businesses. So many startups exist that either outright break laws (Uber, Airbnb) or try to find gray areas that are difficult to enforce from a regulatory standpoint.

We don't like to think of businesses as behaving this way, and certainly many don't, but this is feature of capitalism, not a bug.
Drone Will Spend a Year at Sea Inspecting Oil and Gas Equipment
> Maybe it's because I live in Silicon Valley

That may be the reason. I live in the Netherlands and I have had consistent terrible experience with Apple store repair service.

> It took three weeks, but in the end I basically had a new laptop, except the screen.

For professional use, that is just unacceptable. If you rely on your computer for income, you can't wait that long.

That is the reason why any Apple product will never be 'pro'. Regardless of how nice the hardware is, if it breaks I need a repair or replacement device immediately. IFAIK Apple does not offer such service (unless you have >50 devices).

Other brands (HP, Dell, Lenovo) offer on-site same day repair service. They send someone to your location and if they can't fix it on site, they'll give you a replacement/loaner. For me, that service is well worth the cost. If only Apple would offer that.