skysight-inc/HackerNews huggingface dataset:
Nice! Had not read about this concept earlier. Will research more on it. Thanks for sharing!
I'm curious -- what would you ask him?
"Energous’ technology involves more than just a charging mat to lay devices on top of. The company’s transmitter broadcasts proprietary waveforms directly to receivers and then surrounds those receivers with a radio frequency “pocket” that charges devices. The signals can travel up to 15 feet, and up to 12 devices can be charged at once."

This quote sums up the difference
A CEO's job is strategy. All these other replies are wrong.
ES6 adds isNaN and isFinite static methods to Number that don't convert their argument to a number first, so Klathmon's version works. But I don't make any claim about whether it's correct or not.

https://babeljs.io/repl/#?babili=false&evaluate=true&lineWra...

Compare step 1 of http://www.ecma-international.org/ecma-262/6.0/#sec-isnan-nu... with http://www.ecma-international.org/ecma-262/6.0/#sec-number.i...
The bleakest and most compelling statement I have ever read comes from the "Death Squared" paper mentioned in the article:

"For an animal so complex as man, there is no logical reason why a comparable sequence of events should not also lead to species extinction. If opportunities for role fulfillment fall far short of the demand by those capable of filling roles, and having expectancies to do so, only violence and disruption of social organization can follow. Individuals born under these circumstances will be so out of touch with reality as to be incapable even of alienation."

Scary insightful, but hopefully not prophetic.
The title is completely false and not even the title of the essay.

But see the author's Learning How to Learn MOOC.
This mirrors my experience and this fundamentally proves that empiricists were right and rationalists were wrong. This also implies that your thinking isn't exactly logical.

Schools need to be adjusted for this, I think that currently schools are based on the rationalist point of view.
How do you learn quantum field theory? I took a tiny amount of QM in school - basically, solving the Schrodinger equation for a few simple systems. What's the next step?
A interesting article with some good points. I think the important takeaway is understanding that monoliths are probably better for smaller companies, with less total code, and fewer total engineers. At small scales, the "costs" of microservices (network overhead, distributed transaction management, RPC complexity, dev-environment complexity) outweigh any benefits. A monolith lets you develop quickly, pivot, easily build cross-domain features, and is more efficient up to a point.

That said, I believe there is a point where monoliths begin to break down.

First, It is tough to keep code well structure in a monolith, and eventually things bleed between domains. That means, as mentioned, engineers must understand the entire codebase. This isn't practical for 100k+ LOC codebases. Strict boundaries, in the form of interfaces, limit the scope of code that every engineer must understand. You probably still need gurus who can fathom the entire ecosystem, but a new eng can jump into one service and make changes.

Second, deployment is a mess with any more than a few hundred engineers on a given code base.

Third, it becomes increasingly difficult to incrementally upgrade any part of your tech stack in a monolith. Large monoliths have this tendency to run on 3-year-old releases of everything. This has performance and security implications. It also becomes difficult to changes components within your monolith without versioned interfaces.

Fourth, failure isolation is much harder in a monolith. If any portion of code is re-used between components, thats a single point of failure. If your monolith shares DBs or hardware between components, those are also points of common failure. Circuit-breaking or rate-limiting is less intuitive inside of a monolith then between services.

TLDR; start with a monolith, migrate to micro-services when it becomes too painful.
I agree completely. A monolith with service objects has been a boon for our productivity and made it quite easy to extract those pieces of our architecture that benefit the most from running on their own nodes.
That's because they're executives. Executives are allowed to be half-dead and half-crazy, in fact the older and more secure the company, the more they're expected to be.
Hi, author here - thanks for taking the time read it.

You're not wrong in that this article is meant to point out the pitfalls of the approach, and to advocate for understanding before diving into a particular architecture.

It's meant to give people things to consider before deciding breaking things into "microservices" is the right thing for their engineering org at that time.

I attempted to note several times that my intention was not to say "Microservices are bad", but rather "Please don't dive in before you consider the trade offs". It's not as simple as some folks might have you believe, so I felt it was valuable to have a "lessons learned" type retrospective coming from someone who has been involved in both approaches.

Thanks for the feedback.
>if a method is called only once I often consider that a code smell

Well I certainly disagree; it often makes sense to separate out a singly-called function if for no other reason than to be able to unit test that functionality individually.
AngelList Braces for Rainy Days as Startup Seed Funding Falls
Spotify's Retention Funnel: 4 Creative Moments
Online sales in the United States are expected to reach $523 billion in the next five years, up 56% from $335 billion in 2015, and mobile devices are expected to be a key driver in that growth, Forrester Research Inc. says.

https://www.internetretailer.com/2016/01/29/online-sales-wil...
Want to take it even further? "Wireless power transfer" has existed since the sun started shining. Sit outside on a sunny day, and you'll receive power through the transferred through the vacuum of space.

I know, I know, I kid. We're talking specifically energy transfer that is readily convertible to electrical current.
I see microservices as responsibility deduplication in a organization-traversal-wide.

De-duplication is a very old concept (differentiates good "sysadmins" from bad ones, since the 90's, and good programmers from bad ones).

Thinking organization-traversal-wide is what is hard for some persons.

Currently working at consulting in a big corp... you get to this problem:

Resource: name FooBar, type int (organization view point)

app1 name: FooBar type: int
app2 name: foo_bar type: int32
app3 name: Foobar type: Meta::Foo::Bar
app4 name: foobar type: string
app5 name: fooBar type: int64

...
etc until app 35 and script 192679

Microservices, thinking transversely, solve that. See AWS, GoogleCloud, Azure, etc "resource names" (ARNs, etc), for an example of a simple and great microservice.

Note also, that microservices experts (and I'm not one of those) recommend a monolithic and transactional core architecture, for microservices infrastructure.
If this is true, then the spaced repitition learning technique is the best there's for learning.
Even as a contractor with an hourly rate. The assumption is the rate given is for 40 hours a week. I've had a number of hourly contracts where I was told either work the over time or find a new contract. The lack of care to employees is appalling at times.
My God. Really?

It's very strange reading this. I'm 48 and it blows my mind to hear that 38-year-olds are unemployable as coders.

I ran airwindows.com for nearly a decade as a traditional product-selling business and brought in about a quarter of a million dollars all told, and then when my payment processor went out of business, I took it to patreon.com/airwindows and started putting my products out for free to get them in the hands of people who can no longer afford $50 a plugin. I'm going to be open-sourcing stuff, too, and continue to develop new concepts.

'coder' as a salaried drudge sounds like you just do what you're told. A person like that cannot run an independent business for ten years, and perhaps shouldn't be 'coding'.

For some of us, for me, it's like saying 'you don't want to be guitar playing (or singing, drumming, etc) by age 50'. It just highlights a really profound disparity in viewpoint there.

I can imagine young slave labor stacking the market against me (this is part of why I went to a patronage model, new as it is to me) but don't tell me not to code. That's crazy talk :)
I was a PC user when Apple adopted USB. It took almost 5 years before it gained wide adoption on PC hardware. It was a long wait.
that's just utilitarianism in action
My first thought was, why this vs. caffeinated gum? I've used the gum for years (look up "military energy gum") and it's perfect. But I don't want it every time I brush. Brushing teeth and wanting a pick-me-up seem like totally orthogonal needs.

Pro tip: keep a pack of caffeinated gum in your car. Great for road trips or late nights!
I like the things that Elon Musk has done and tried, but what irritates me are all the sycophants in the media who think he's a genius wizard rather than a smart entrepreneur and don't take some of his claims with a grain of salt.
Crowds and Technology
How does such a service have inherent data flow problems? Especially since the NgbModal service IS built on a component that implements pretty much the same thing as react-bootstrap's Modal.
> assuming maybe Toyota as the 3rd.

Chrysler.
If you need just a generic cache, then using varnish, nginx or httpd are all fine choices. The issue is when you start scaling at obscene amounts of traffic. At that point, having a single single attempting to do too many things just doesn't work. varnish was/is designed as an extremely fast and performant cache which, when correctly configured, simply beats the pants off of nginx or httpd. It's easily as stable as nginx and httpd and as compliant as httpd (nginx is a bit less so).

For caches, the bugaboo is latency, and event architectures are not good choices when small-as-possible latency is an issue. It is here that heavily threaded architectures really shine. Sure, you can likely get by with less resources w/ events, but (1) performance will suffer and (2) as thread implementations improve, threading will only get better and more "stingy" re: resources.
I can't believe I missed that. Thanks for pointing it out.
Genetic research uses computational techniques today. However, most academics who understand genetics well are crappy programmers. My source for this is a friend who is a tenure-track professor of evolutionary biology at a major university, with publications based on computational analyses of genomes. In pulling those publications together, he inevitably had to spend a lot of time time reviewing and cleaning up the terrible code of his co-authors, checking for correctness. "And I'm not even good at coding," he said. "That's how bad this stuff was!"

So, I think there must be a role for strong developers to partner with strong genetic researchers to make the best use of computers for research. That role might not exist now--you might have the opportunity to go create it. But it does seem sorely needed.
I believe TieredCompilation was disabled by default on Java 7u55:

$ java -server -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version|grep TieredCompilation
bool TieredCompilation = false {pd product}
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

I would be interested in hearing from people with first-hand experience disabling TieredCompilation on Java 8 on production servers.
In my experience scaling a monolith just costs more (i.e. hosting costs). Our product, when we started, was quite expensive to run at our high traffic times, but we were eventually able to cut our costs drastically by breaking certain pieces out into services.
I think he says something about spending time with his kids, etc in this Recode interview (don't remember clearly though) https://www.youtube.com/watch?v=wsixsRI-Sz4
Dear Microsoft, I'm staying on Windows 7 (telemetry windows updates declined) with most of my work done on Linux because of stories like this. The whole stack comes off sounding like confusion and delay with zero payoff.
IMO, a lot of people who say they like pixel art, don't actually want the pixellation or the low color count. What they want is the overall drawing style that it produces, with prominent contours and bright but soft colors. This all is also achievable with ultra-high resolutions and millions of colors - it just doesn't happen "automatically".
I wish I could upvote this 1,000,000 times. This is absolute truth!
Everything Berkshire Hathaway does.
My company built from the ground up with micro-architecture and it is an unmitigated disaster. Totally unnecessary, mind-numbing problems unrelated to end-user features, unpredictability at every step, huge coordination tax, overly-complex deployments, borderline impossible to re-create, >50% energy devoted to "infrastructure", dozens of repos, etc.

The whole thing could be trivially built as a monolith on Rails/Django/Express. But that's not exciting.
Like a solar powered watch or calculator?
They are funding every easily digestible, consumer friendly app that has a trendy design. This is a small subset of all interesting and worthwhile ideas.
Time formatting and storage bugs
E Myth by Michael Gerber based on a recommendation from an HN thread a couple weeks ago.
OK, nice. How is it any better than exposing functions with XML-RPC and
any random ORM?
> Replace "President" with "leader", "chieftain", "captain", "boss", "guide" or any other word such as this and we still get to the same place: nowhere.

Yes and no. Captains (of ships) can be very effective. So can many leaders, and CEOs of companies that didn't go public or take too much VC money. It gets easier when people are expected to listen to you and you don't have to worry about reelection.

> I guess that at the end we are doomed to coexist with poverty, hunger, illnesses and all of the bad things that could be easily destroyed if we really wanted to, but looks like that despite the fact that we all say we want to get rid of these things we really don't want to.

As humans we really suck at coordinating ourselves together. It's a large an interesting topic. That's why I think technological solutions are so alluring. As undemocratic as it is, you can get much more done if you sidestep the need to first get everyone on board. So I guess we will be doomed to coexist with relative poverty as long as there's anything - status, power, wealth - people want to have more of than their neighbours. But absolute poverty? People going hungry? This, I believe, can be solved, and with enough technology can be solved without asking everyone for opinion. If food gets dirt cheap everywhere (and I mean "dirt cheap", not "pretty cheap thanks to economies of scale but not cheap enough for those actually making that food"), even the poorest person on Earth will have access to it, because there'll be zero reason for everyone to expend energy on preventing that access.
I appreciate the feedback, but unfortunately I think you've made a bit of a leap in terms of what my point here was.

It isn't that i'm saying "Don't build microservices", but rather "Don't adopt this approach until you understand the tradeoffs involved". I've worked on teams that have done it well, and not done it well. I've worked with large codebases that are well maintained, and poorly maintained. There are tradeoffs that need to be taken into consideration before adopting any major architectural approach.

I will say that upon reflection, the original title could have been reworded a bit to better express this.
Yes, because this gives them the chance to say no and pretend to walk through it slowly showing how "smart" they are.
For many people, the last 4 digits are the only ones that aren't easily deduced if you know the city a person was born in and the person's approximate birthdate.
We've banned this account for repeatedly violating the HN guidelines after we asked you to stop.

https://news.ycombinator.com/newsguidelines.html
Amusingly, all such theories tend to be based in the assumption that the humans in the market will be perfectly informed and perfectly rational, but there's an article on the front page about the irrational biases people have when participating in markets...
>The signals can travel up to 15 feet, and up to 12 devices can be charged at once.

Wow, so if this technology became ubiquitous and transmitters were installed en masse in public places... we might in the future simply not even THINK about our device battery levels.
> >Do you speak Chinese?

> I speak Chinese

oops, I notice now the question was insinuating and against the guide lines. I had fair chances, though :)

> For example, copying characters (pure rote learning) is encouraged until a far later stage in language proficiency than alphabet-based languages (where learning to spell has been acquired).

I read that before and I suppose the Korean switch to the Hangeul alphabet for example was an improvement.

I do have to look up words for English and even in my native language German to really not say one thing when I mean another. Even though this is common place, as idioms develop and meaning changes, we tend to understand meaning based on not only the grammar, but also the meta syntax, the composition of terms into text. And I was really curious whether lack of syntax, which I suppose is exagerated and placative, would thus still exist on the meta level.
You develop new ideas by connecting old facts. The better you're able to recall old facts, the better you're able to connect them to synthesize new ideas.
My thought is that this comparison between a monolithic code base vs a microservices code base is a bit subjective. If you're starting out chances are your code base hasn't even gotten to the level of being monolithic. So those thinking about how they're going to architect their platform may begin to think that a microservice setup could help for future changes to their code. It really depends on each team, their background, and how they want to think about their platform in the future. To list out the pros and cons of both to draw a conclusion that one is better than the other is certainly setting a bias that I believe to be a bit unfair. Just look at Netflix and their container services. It's a platform adopted by a ton of companies including Nike. So for some a microservices approach makes a lot of sense.
I completely agree. I have found a speed reading extension to be quite valuable in getting a quick overview of an article. The speed reading time for this article was 5 minutes at 600 wpm (practiced up from 300 wpm). The speed read is good enough to get the TL;DR and a little more depth about the article.

This is the extension I use (it lets you rewind with k and pause with space -- helpful for getting more understanding out):

https://chrome.google.com/webstore/detail/spreed-speed-read-...
Cameras seem like overkill and are a much bigger privacy concern for the purposes given in the article. Motion sensors and NFC beacons should be fine for tracking occupancy and location (for those who opt in to that).
Depends on the product, but for many startups those additional costs can be crippling.

Also, I have found it much easier to onboard a new engineer, give them the requirements for a service and let them go at it. I've been using AWS Lambdas to great effect in this way.
I might just not be sure what you mean by DNN here. A deep neural network is a specific architecture, consisting of input and output layers of discrete nodes, connected through many hidden layers of nodes, with each node able to perform simple operations on the signals passing through it. So I don't see any way you could model the universe or a seed as a literal DNN; I interpreted the main reason for the analogy that they're a system in which storing knowledge (in an NN, as the weights of activation) is an intrinsic part of the way the system is active.

From there, you really can interpret most things as systems with embedded knowledge that both defines their activity and is adjusted by new activity. The position of each atom in an object is intrinsically both the information about that object, and the way that it behaves: as changes are made, the atoms react accordingly, affecting the behavior of the system.

You can view a seed as a "trained model" only insofar as the information on how to become a tree is encoded in the seed. The specific properties of DNNs (hidden layers that increase in abstraction) aren't really present, and anything can encode information: a set of clouds could be considered a trained model on how to make a hurricane, or a single person could be viewed as containing a trained model on how to start a company. Seeds are highly optimized through evolutionary pressure, but that applies to all complex systems, not just DNNs, and optimization is not just non-unique to DNNs but not even necessarily present in the architecture.
This article did a good job of staying relatively neutral for such a controversial subject. It seems as though an oligopoly of multinational conglomerates will be the only choice for essential consumer products in a short 10/20 years. Without competition from smaller open-minded businesses, only innovation in rent seeking will take place. The companies that end up in control of the infrastructure and hardware will end up having more power than most of the world's governments. The cynic in me feels like we're in for some turbulent times.
I'm not sure if you're religious, but God bless you if you are! If you're not, then many thanks for doing this. I've already shared this with at least six friends.
And for this reason, many SSN verifiers (banks, government agencies, etc) ask for the last 4 digits. Then they store them in a dusty database somewhere and forget about them until they have to verify identity again, or there's a major breach.

That last part is the part that keeps me up at night.
I agree with what you're saying, but I don't think this was the post to say it. It is possible to over-egg even the most valid arguments.
While I don't discount the possibility of the live-there-someday option, my understanding of it has always been that purchasing overseas real estate opens up some of the few opportunities for a Chinese national to move money out of the country and convert it into a foreign currency.
Why should we expect a correlation? Why should we assume they even thought about the issue, if it isn't mentioned in their analysis?
Then you may like Erlang. Prolog plus pragmatism.
They're only looking at IP addresses that access a big CDN as clients. They won't see servers that way.

As mobile devices migrate to IPv6, the address space problem should be less. It's too bad that most mobile devices don't have permanent IPv6 addresses - more peer to peer applications would be possible.
Only one has been done, building rockets. It's not safe to say he paved the way for the electric car revolution since there hasn't been one.
"In theory if you have enough RAM you can go faster than nginx's on-disk... in practice the sweet spot for the gain is small and they're both on par"

Not in theory, but in reality. Even if you don't, varnish's file on-disk implementation is just as good as nginx's if not better.

The idea behind a cache is to increase performance. If that is the priority then you would pick a design and implementation geared towards that problem set. Sure you can say "Well, nginx or httpd is 'good enough'" and that would be right. But when nginx or httpd aren't good enough, you need varnish. And even when you don't need varnish, it is often a better architectural design to break out specific functionality (best of breed).