skysight-inc/HackerNews huggingface dataset:
You can get that benefit by dividing your system up into libraries with defined, documented, tested APIs. There's no need to introduce all the complexity and failure modes of distributed systems just to force good design.

When you need to scale, then you can easily throw your libraries behind an RPC framework and call it microservices, but there's no need to pay that cost until you actually face that problem.
Imagine an enum describing the various states of a state machine. I'd definitely prefer the compiler to refuse compiling, rather that hoping to be future proof by ignoring a new state.
Make sure to work less, BEFORE getting a dog. Gotta make sure you can take care of yourself and your family before taking on the care of another living being.

Alternatively - Find friend's/neighbor's dogs that you can walk / help take care of.
Figuring out how to do things simply is remarkably hard. After twenty years of this, I feel like I'm beginning to be able to design simple systems some of the time.

The problem with much "currently accepted wisdom" is that it doesn't explain exactly what is being balanced. "Works for my organization" is the equivalent of "works on my machine." For example,

1) "Best tool for the job" when applied to languages nearly never is a question of the intrinsic merits of a language design. There have been quite a few discussions recently on Hacker News on the virtues of a boring stack, that is, one that everyone else has already beaten on so much that you can expect to hit fewer issues.

2) Microservices are a tradeoff. If you have an engineering team of five hundred shipping a single software as a service product, one of your biggest issues is coordinating releases among all those people without having your services ping-ponging up and down all the time. Microservices are an answer to that. At that scale you've already had to automate your operational troubles, so it doesn't impose that much additional operational cost. If you have an engineering team of ten, then none of this applies to you.

3) High availability, like all concurrency, is hard. Try to write your own code so that it scales horizontally by simple replication and depends on stock components such as Kafka, Zookeeper, etcd, or Cassandra to handle orchestration. In many cases your reliability budget may be such that you can run a single system, automate some operations around it, and be just fine. It's only when your reliability budget doesn't allow that, or your workload forces you to orchestrate parallel work, that you have to go this route.

4) Yes. Nearly all discussion of agile software development that I've seen focuses on rituals without the applied behavior analysis underlying them. For example, a standup meeting has a small set of goals: establish a human connection between everyone on the team on a regular basis; air things that are blocking individuals in a forum where they are likely to find someone who can unblock them quickly; have everyone stand up and take responsibility for what they are doing in front of their team; and serve as a high bandwidth channel of communication of important information (the build is going to break this afternoon for an hour, etc.). If those outcomes are being achieved in other ways by your group, then there's no reason to have a standup. If you're doing a standup and it's not accomplishing one or more, you need to revise how you do it. Human behavior and interaction is something to be designed and shaped in an organization. What works in a team of three with excellent communication may not work in a team of ten or fifty or five hundred.
EPUBReader for future Firefox
I'm glad there are people who know what all this means so I can tap a button, say "navigate to the grocery store" to my phone, and not spend brain cycles learning and maintaining knowledge of the wide range of math/programming/engineering specialties I'd otherwise have to master.
> but this seems to add complexity as your team would now need to know whatever templating language your server-side framework uses plus the front-end framework.

If you use server-rendered templates, the people responsible for your front-end will have to know a few things about the backend and vice-versa, because everything is a bit more integrated.

Using an SPA allows your front-end guys to just say "we need an API that delivers this" and your backend guys can just publish a doc on that API. Neither team really has to know that much about how the other makes their part work, and both teams can create their own ideal environment without having it dirtied by the other team's needs or constraints.

That being said, I wouldn't advocate for building an SPA purely for developer convenience.
For both of the first points: I don't think anyone's proposing that closed sum types be the only polymorphism in Go (removing the existing open polymorphism would be a wild breaking change and so isn't even a remote possibility), so this would be a feature for when alerting consumers that something has broken is good. When flexibility is what your library needs, use interfaces, when reliability (or performance[0]) is what it needs, use ADTs.

One argument against adding the new feature is it forces people to think about which to use, and they may choose an inappropriate one. (This choice argument is far stronger than vague concerns about the feature possibly resulting in breaking changes.)

In any case, libraries can already make breaking changes, and presumably quite a few want to/do (so it's not like having a feature that can also result in breaking changes is anything new), and, adding a new type to existing open set can easily be a semantic breaking change that stops code from running correctly, even if it doesn't stop code compiling.

> You said "one can pattern-match using the names of fields", I took that to mean matching on something like Foo{x: 5}. If you do that and also have a clause Foo{y: 10}, now you have ambiguity and the order you compare x==5 or y==10 first matters, since you might have an object Foo{x: 5, y: 10} which would match both clauses.

No, that is orthogonal, as I also discussed in my original reply.

I was visualising something like `Foo { x: binding }` in the pattern, which would make the value of the x field available under the name `binding` (and, for convenience, `Foo { x: x }` case could be allowed to be abbreviated to `Foo { x }`). Whether the binding on the right-hand side of a field allows pattern matching or not is its own discussion.

[0]: ADTs aren't forced to allocate, and possibly use a more efficient switching scheme (it's just an integer for an ADT; I don't know the implementation details of Go's type-switch so it might be that fast).
Yes, the company issuing the RSU's must pay the taxes for you. They do that by selling a portion of the shares to cover the tax (which at least where I've been works out to a bit above 40%).
I thought Smalltalk's hayday was early-mid 80s.

My involvement with Smalltalk started in the 90's. Then it still had high penetration in the Fortune 500, and it was a niche language for complex financial programs. It was also used in Energy.
Go will give you errors for "impossible type assertions" in many cases.
Very nice (and major) Slack update! The hardest part about this must have been the UX challenges to keep things simple while still adding the thread functionality and not compromising on the overall Slack appeal. Well done team.

Any Chatlio customers out there, we are interested in hearing how you might like this new functionality to used in Chatlio. (see sig for contact info)
No sneering involved at all, I assure you! Just an interest in programmer productivity, which I see as genuinely helpful.

Perhaps you see all languages as roughly equivalent and that is the cause of our differing opinions. In any case I've known quite a few engineers who have really drunk the koolaid, invested heavily in Go, become zealots for of the language and suffered for it before moving to options like Rust, Elixir, Kotlin or even Java or C++.

I'm just trying to prevent some of that suffering going forward. Nothing more nefarious than that!
You need to add looking for another livable planet to the list. More energy * More people = more energy to dissipate. Eventually, even with the cleanest energy sources and the highest efficiencies, humanity's energy production will be too great for the planet to support.

Since we don't have a planet lined-up for colonization and temperatures are already threatening stability - we need to deal with the first half of the equation before nature does it for us.
VR Hits Iowa Elementary Schools
There is definitely a backlash, we're seeing it in multiple communities and it's culmination in political movements like Brexit and the Trump presidency.

Of course they want and need you. Assuming you're white, male, middle class, a resident of the United States, and work in the tech industry - you probably make up the majority of Mozillas workforce and are one of the most privileged people on the planet.

As I said, there was also a white male in the pictures.
Think it looks decent, boringish logo offset by a nice little color scheme.

Won't be winning any awards, but eh
Yes. There aren't any Y chromosomes available.
I think it's a shame that legislation on climate change seems to be the expediting/forcing factor behind getting companies to improve their products and services.

It seems to me that Fortune 500 businesses have been especially slow taking advantage of computing developments over the last 10-15 years. I feel like there is so much potential for them to be better for the environment by more efficiently creating better products - and I can't understand how they would pass up on such opportunities. It's better for them because these improvements could lead to better product (competitive advantage) and marketing superiority (earth friendly!).

Maybe I'm naive or maybe Jevon's Paradox makes it all useless.
Marine Le Pen (3rd party leader in France) demands a referendum. A leader of the 3rd party in Germany (Die Linke) demands the same thing. Luckily these countries are among the least likely to leave.
Holy look at this gov obama talking about solar flares
Sounds great! Keeping track of how well the process itself is working, especially, and being willing to continually tweak it to fit the team and project.
How to get any hiring manager to respond to you
It would be fantastic if you had a onion services URL as well.
Deep Neural Net Plays Atari “Berzerk”
A Large Corpus for Supervised Word-Sense Disambiguation
DerivePass (Emoji Password Manager) – Beta Signup
Maximising my MPG rating was a sport for me, until partner crashed the car. I managed 75 MPG (UK gallons) reliably. I sold the replacement car as soon as I could once she moved to California, went back to just cycling (I live in the UK).
In my experience, separating the happy path from the error handling leads to unhandled errors. Just yesterday, one of our python projects (an API with about 600 endpoints) started barfing an error for non-parseable JSON because something at the top level caught it. I have no clue where it came from nor how to reproduce it. Had we been handling errors when and where they occur, I would have a vastly shorter debugging period in front of me.
jessaustin isn't saying proper nutrition is a waste of time, but rather that nutritional research is of exceptionally poor quality due to the amount of money on the line for the vested interests that fund the studies.

To your second point, the problem is that we don't know who is right and who is wrong. The studies are conducted so poorly or with such bias that it's near impossible to have concrete recommendations.
This is a fallacy that I see repeated about the quality of open products all the time.

It's true, Intel spends more money on R&D than RISC-V is likely to ever get. But that means next to nothing. When a huge, monolithic, management-driven company spends billions of dollars on something, a lot of those billions of dollars aren't being used very effectively.

Consider Linux versus Windows. My suspicion is that Microsoft has spent more money on Windows dev than has ever been spent on Linux dev. Does that mean Windows is better than Linux? No; in fact, many people who have to use both would probably say the opposite. Why is Linux the OS of choice for many production applications in tech-savvy industries? It just works better and easier than the high-budget closed competition.

That's not to say that Linux is starved for funding; many large companies volunteer serious man-hours towards Linux development, because they want an open system that competes with (and beats) the crappy license-uncumbered alternative they would have to use otherwise. I expect the same thing to happen with RISC-V.

You also have this phenomenon in the open-source world where you have grad students, researchers, and enthusiasts embarking on ultra-high-risk projects that would never get funded at most companies, but pay off in a big way when they work. Now that we have an open ISA to work with, I fully expect a huge outpouring of automated synthesis software based on clever new ideas that beats the clunky stuff available in industry. We've already seen this happening on the HDL side of things; open-source, research-driven efforts like Clash and Chisel are orders of magnitude better than the crap that industry has been using for years (VHDL and (System)Verilog). Give it some time for the silicon side of things to improve as well.
https://news.ycombinator.com/item?id=13381070

^ Related discussion from when this port was submitted.
The catastrophic almond milk shortages will kill everyone before then.
Sorry, good ideas are rare, and past achievements are not a guarantee of future performance :)

If you actually used the idea, I'd be thoroughly flattered.
Caching at Reddit
Re: 3) engineering issues - could you provide specific examples? What were the most important problems you solved?

Re: 4) what is the performance of your strategy?
Do you have any war stories to share? Given that ultimately producing value to the business is the only thing that matters, wouldn't doing it, if it conveniences them be the right thing to do?

I'm not super knowledgeable about this (<2 years experience), but I see little downside. Of course, I don't know what I don't know.
I'm going to dodge the breaking changes discussion, since it's a huge tangent, suffice to say that I greatly dislike _breaking_ changes and want languages that make it possible to avoid them or at least provide a migration path via incremental deprecation prior to removal. Go fails here in many ways. All I meant to do was point out that exhaustiveness checks are not without their tradeoffs.

> I was visualising something like

OK then. We're in agreement on that point. This is what Clojure has in it's destructuring syntax, and, as I said, it's great.
Please don't start like this on HN again.
I agree with you about Go's flaws. However, if you have never used a cast or reflection in Java, you have either not done much Java, or you have used libraries and frameworks that do the casts and reflection for you.
Actually, the entire platform is called Fabric while Crashlytics is only a part of the platform (albeit the main part...).

They've just kept the website as-is since being acquired by Twitter and integrated into the larger Twitter products portfolio.

It is confusing at first though.
Yep. We moved most comments there, not counting the asinine race war.
https://www.ncbi.nlm.nih.gov/pubmed/20648910

Also, more anecdotally, how many people do you know who get hangry from low blood sugar? How many people eat when they are sad to feel better?
Unfortunately, this makes a runtime error from something that could be caught at compile time.
The Russian and Canadian permafrost tundras will be incredibly productive farmland once they thaw. The main food problems will come near the equator, where people tend to be poorer. They'll lose farm land as well as fish stock in the oceans.
FWIW, one of the main reasons I started Fogbeam Labs is because I want to build the company I always wanted to work at. So... if and when the day comes that we are successful enough to start hiring employees, and have a traditional office, one thing I absolutely intend to commit to is a "everyone gets a private office, with a door" policy.

Now, that said... I'm starting to question the need for traditional offices in general, as technology improves our ability to work remotely. I don't know if I'd want to go for a 100% "work from home or wherever you want" policy or not, but it's not something I would unilaterally rule-out right now either.

Sadly we're probably still a ways off from reaching the point where any of this will come into play. But we'll keep grinding, exactly because the world needs more companies that treat employees as people not fucking "resources". (Don't even get me started on how pissed off I get when I hear somebody refer to a person as a "resource").
In my country, no one trusts the government
That sounded strange for me, since every time I've visited a hospital, it was a nutritionist that prescribed the diet for every patient. So I looked at the Wikipedia link from another comment; it seems that the terminology varies depending on the country. Here in Brazil, "nutricionista" (which translates as nutritionist) is the protected professional designation, and only they can prescribe diets for hospital patients.
Same with searching '720p'
MinPy: numpy interface with MXNet backend
The Irrational User
Not from what I've seen.
> I don't think you understand how uWSGI works.

...or gunicorn. Or twisted / hendrix. Or any WSGI container with process consciousness in the past 5+ years.
Sublime Text not on the list of notable IDEs?
This comment breaks the HN guidelines by going straight for the trolliest flamewar around. We've banned this account.

All: please don't feed such topics. If this is the kind of thing you want to engage in, HN is not the corner of the internet you're looking for.
You are right -- it's not as black and white as I described.

That being said -- It seems like with some "legal engineering" it can certainly be ameliorated (as was demonstrated by Pinterest). My main point is that if people push for their rights then it will incentivize companies to do the legal engineering that is necessary.
> And instead of getting engineers, you're wasting your money on political stuff.

Mozilla has never been just about shipping a browser. That "political stuff" that you are so dismissive of is a core part of Mozilla's existence.

See the manifesto at https://www.mozilla.org/en-US/about/manifesto/details/
> Go's entire selling point is "faster than python, no need to learn anything new".

To me, Go's selling points have been numerous:

- Faster than python

- Statically typed/no runtime bundling requirements

- Easy access to concurrency/multicore scaling

- Excellent tooling and integration with programming text editors

- Great documentation

- Excellent standard library which you can treat as a continuation of your own program

- Great design with pragmatic choices (this one is subjective, I agree)

In short, there's nothing else like that out there.
Without Go, I'd have been stuck with JVM, Haskell or Erlang for most of my projects. And I dislike all of them, so Go has been a godsend.

Incindentally, I also happen to enjoy working with Postgres and prefer it to any other database I've worked with (SQL or not).
It's like accessing fields on a struct, where you can only access the ones that are guaranteed to be valid. For instance, in existing Go, the struct method would be having two fields, * X and * Y, where (in theory) exactly one of them is non-nil, but both can still be accessed. This requires manually maintaining this invariant (and remembering to check when accessing), as well as sacrificing performance by allocating. Using an ADT would allow storing the X and Y by value, as well as guaranteeing that the invariant of "X xor Y" is always true.
Warning, informal logic ahead:

A substance A can be a net promoter of both a compound B and a compound C, even if the compound B suppresses C, provided that the direct promotion of A on C is greater than the direct suppression of B on C per the changed in B.

In other words, when I ignite a pile of wood(A), the wood releases (among other things) both water(B) and smoke(C). Now, independently high amounts of water will tend to put out smoke, but in these quantities much more smoke is released than the water required to put it out.

I don't have a source on how much endorphins sugar releases but I would imagine it's an analogous case. In fact, things like this are really common in the human body because if the half lives of action are different, they can help return the body to homeostasis. In this case, I hypothesize that the endorphin effect on insulin could serve to reduce insulin to more normal levels in the blood-stream after the initial spike due to sugar intake.
that jsfiddle comment was awesome! I never even found that when i was looking for mobx examples!
I couldn't agree more. After I first realized this asymmetry back in the dot-com 1.0 days, I stopped wanting to be an employee and started founding companies. I did take a couple senior VP jobs where I fully understood the equity I was getting and was OK with it.

If you want the large exit, you're either a founder or an investor. It's been that way for as long as I can remember.
Knowing Google's reputation with abandoning developer tools and services, can anyone offer suggestions as to possible alternatives? Or counterpoints as to why I shouldn't fear this service degrading over the next year or two? We're currently using Fabric and Crashlytics for our iOS app where I work and this news has prompted us to research alternatives.
How would .Design domain would add a value to particular startup or company?
As we can see facebook.design and airbnb.design. Just wanted to know how important is .design domain and how would it make an impact and what all can we do with this.
You are not going to get a year's salary in ISOs. You're not. At typical ISO strike prices (i.e. prices on the range ones of dollars), that would be an a lot of options. A company is simply not going to do that. It's much more likely you'll get something like half your salary or even less in ISOs (of course vesting over 4 years). This doesn't matter if the company IPOs with a 10x multiple of the strike price, but then again, the company has to have a major liquidity event.

The uncertainty around the current valuation (which everyone has due to the infrequency of material events), the uncertainty around the likelihood of a major liquidity event, its size, and its type make ISOs incredibly hard to accurately price. If anyone says they can do it accurately, they're lying.
"TEA is not composable, but through brute force. ... you are stuck building and maintaining some giant types, and writing a ton of boilerplate. The ways around this problem are fairly weak, and amount to, “don’t write components” ..."

This has basically been my experience with Elm. But don't say that Elm is boilerplate heavy to any elm-acolytes, they will stick their fingers in their ears and go "nananananana"
> 20-year-old [ProTraf] President Paras Jha, from Fanwood, NJ
All it takes for the tide to turn, is one generation of children to grow with this as the norm.

This is why I work with parents ;)
In short, ask the question "when is practice X useful?" instead of "is practice X a good idea?"

Shorter version: Cost/benefit.
> All I meant to do was point out that exhaustiveness checks are not without their tradeoffs.

And all I meant to do was point out that lack of exhaustiveness checks is not without its tradeoffs. :)
what script on the source code on the website identify this solution?
At scales like Instagram/FB, 10% is a big improvement.