skysight-inc/HackerNews huggingface dataset:
> The Polyol is 80% petroleum and 20% CO2 based.

The 20% CO2 is great, but I'd rather see more innovation in replacing that 80% Petroleum with bioplastics. When the oil runs out we can solar up the wazoo, but if we can't find something alternative plastic sources we're going to have problems
CO2 already has value, if it's concentrated enough (stack emissions, unfortunately, aren't). There are CO2 mines in multiple western US states where the CO2 is dug up, sent through pipelines, and reinjected into oil wells. "Enhanced oil recovery", they call it, and it's big business. So big, in fact, that the supply from the McElmo dome in the SW corner of Colorado, pipelined across the entirety of New Mexico, into Texas, is oversubscribed and you can't buy any.

CO2 needs hydrogen, pure and simple, to become almost any other substance of value (I suppose lithium extraction could use the gas instead of trona, but not a big market there considering the supply). Any plastic, polymer, or vegetation needs hydrogen to exist.

So the CO2 problem is the hydrogen problem, but on steroids. You can't get reduced atmospheric CO2 with hydrogen if making that same hydrogen molecule created 2 or 3 CO2 molecules. This leaves you with plant-based approaches (photosynthesis is ridiculously inefficient, which itself is probably a good thing considering how much we like some of the greenhouse effect), or "clean" hydrogen.
Previous discussion - https://news.ycombinator.com/item?id=13126149
Not quite – most projects have internal interfaces which are relatively stable, and tests should be against those, rather than the internal implementation of those modules.

Unit tests are great, but they should still be testing at the boundary of code modules – if changing the internal implementation of that module breaks a test, it probably isn't testing at the correct level.
Yeah, that's in short Paris' problem. The last few mayor all wanted to remove all cars from Paris, but they all failed to provide alternatives and failed to meaningfully improve public transportation, especially since most of the network is overworked.

Also most of the cars clogging the roads are going from one suburb to the other and the way the road network is built makes that going through Paris is the best (sometime only) way to go from one side of Paris to the other.

Edit: Not all cars are banned, half of them, based on Vehicle registration plate (even or odd number).

> The ban bit is easy

The ban was made in response to the current pollution problem, but removing half of the cars has a pretty weak impact on air poltution.
Lawmakers Change Their Tone on AT&T and Time Warner Deal
If your goal is to test every possible scenario now or future I think you'll eventually find it's not realistic.
Super conductivity in Bismuth
The Next Frontier in AI: Unsupervised Learning [video]
New bunny award winning song
The coy PR manipulation continued with the Rossi E-Cat project. It sounds like there have been some partial replications beyond Rossi.

http://www.wired.co.uk/article/cold-fusion-energy-advances-2...
I submit that testing a bunch of trivial things isn't actually going to make it easier to catch bugs. I recommend this article: http://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste....
This solar has a carbon footprint argument is absurd. If you used this logic we would never have renewable energy because it creates a chicken and egg problem. It would only make sense if the amount of energy used to produce solar panels exceeded the amount of energy it produced over it's lifetime, which is not the case.
Are you suggesting a Mcdick's "cook" position cannot be automated?
When the circumstances allow it ('cause there are some limitations on where it can be used), this pattern is HUGE. We've got a few places in our system that do this, and the optimization achieved an improvement of a couple orders of magnitude.
Also: how long do you maintain it.

Even if I'm alone in my team, When I refactor code after say 10 or 15 years I could just as well have been another person. I don't remember. I don't have the same skill set.

And the thing is: when you first write the code you usually don't know how many years you will maintain it. That might be a reason to postpone some test writing a while initially (if the code is scrapped in 2 months what whas the point of effort for maintainability?)

However there are upfront benefits with writing at least some tests for everything, in that it (usually) helps design a less coupled system.
>>The least useful tests are the ones for cases you know not to invoke, because they are obvious.

Maybe you know not to invoke them because you wrote those features, but what about the rest of the team? Or the poor schmuck who takes over your codebase after you leave?

Test cases help future-proof your code against the unknowns and the unexpected. I think of them as guard rails on a path. When the path is on straight terrain, they aren't necessary. When it is crossing the side of a cliff though, you're glad they're there.
> There are plenty of tricks you can not write on pure monads

This made me curious, could you list some?
I hope they keep iterating on the UI.

* can't initiate a review from any tab
* can't quickly give an official approval
* have to decide whether comments are in a review or not

I'd like to comment on the commit and commit messages directly (eg, "Please rebase out the WIP comments here")

There's lots of friction when looking anywhere ELSE in the code during a code review. I'd like to be able to make a comment on eg, a line of code that needed to be changed in a file not in the review.
How It's Made: A Continuous Delivery Pipeline
Interesting, what browser and OS are you using?
So you're endorsing Feudalism?
> I'm pretty sure maintainability is implied in his statement.

I don't know this guy, so I can't speak for him in particular. But, in general, I wouldn't be surprised if the opposite was true: too many so-called software developers give "shipping" too much importance, leaving none for any other aspect of the job. Shipping is a feature, not the feature.
How the Next President Can Influence Climate Change
Thanks for the feedback! Yeah it's definitely jarring at first to see just a single tree.

There are indicators above each comment to show which index you're on right now, and "prev"/"next" buttons to give you a better sense of other trees on either side of the comment. It's harder to show more because of space limitations, though I will continue to iterate!
IHMO, thats inaccurate. Here the generalization, is tester can only do 'user-end' point of (black-box)testing. There are jobs which requires tester to do 'white box'. This involves knowledge as well as doing repetitive works.

What I found was, most developers unwilling to do some basic testing for their modules.
Even if you find bugs with logs & reproducible steps, they push their dev task to tester again like " can you perform 'git bisect' to find out the patch caused this bug"? or "Can you run 'tcpdump' from your reproducible steps?".etc.

worstcase is sometimes, software 'design flaws' (for example: arithmetic operation software missing division operations) are blamed on testing team for find it later.
The Last Line Effect Explained [pdf]
yes but if you follow that too strongly you end up having to rework tests _every_ time you change something which is absurd.

You should be testing input/output and results as opposed to testing how the internal gubbins works. That's the line we have to carefully tread when making a test. The test shouldn't force the item to behave in directly the way it expects; more that the I/O is correct.
Isn't that because they appear to have "Issues" and "Chapters" that are all published at different times - so in this case the parent page has the date.
how about not wasting your time, and trusting your team to actually START something.

no no no... all you idiots want to do is stop everything.

you're all idiots.
One tweet momentarily wiped off approximately $1B off a company's stock value
Compositing as a concept has always been an abusive hack sold by way of excessive eyecandy.

Its basically the DEs way of endrunning the X11 efforts because CADT.
If someone posted that question on SO now it would be insta-downvoted and then removed for being vague.
> With that being said, and to your point, I would not be surprised if these systems were often over engineered when a sql query could get the job done.

RedShift takes SQL queries.
I've referenced this stack post a few times too.
I feel like it might be easy to take this out of context.
Similarly to how Austin banned single use plastic bags. When I visit other cities, I notice them everywhere, stuck in fences, trees and bushes, along roads, under overpasses, etc...
How would you use nuclear as a co2 source? That doesn't make any sense.
The server has limited resources of 32GB RAM, so sorry if you're not getting in. The good news is that you can install it on your own hardware, it's all open source: https://github.com/termbox/termbox
Titanfall 2 won't launch on a Pentium CPU, but runs fine if you use a ExtremeInjector and a special dll that is floating around.
Why do we need @Injectable() in Angular?
Pebble went from being worth $740M to less than $40M
Maybe I don't get you, but i don't think so, PostgreSQL is not a columnar database.

If i got this patch right, each partitioned table will have the same data structure and store whole rows (it's even more restrictive than previous inheritance mechanism that allowed extending by adding additional columns).

Column or expression should only define in which table an inserted row is supposed to be stored. A single row will never been torn apart. Still it look like a foundation that facilitate sharding BigData(Set) between multiple servers when used in conjunction with foreign data. However a lot of performance improvements will still be needed to compete against solid NoSQL projects (in which you really have a BigData use case).

But looking a bit forward, developing performances improvements on top of an ACID compliant distributed database seems less difficult than to develop a NoSQL project for it to become ACID.
Tests are code and code is a liability.

The DirectX12 api is non-trivial code; their testing has little in common with TDD.
As a follow-up question, did you (or could you have) develop that lisp interpreter on the purest TDD approach of:

- Write a few tests that fail

- Write code until your tests stop failing

- Repeat until the program is done?

In my experience, problems that require writing the tests first normally require writing all the tests first. If you start solving only a subset of them, you will have to rewrite most of the code once you start looking for the other tests.
The TSA gives the perception of security to the masses, it doesn't actually provide it. Ideally what you want is for people to be secure and feel it. Thus far we've only managed to do one or the other.
> Do you really need to write a test for that single expression setter?

I doubt anyone does that. Having weird requirements like "all public methods should have at least one test" is insane. For many code bases that would be an order of magnitude more tests than a requirement of "100% test coverage"
Why Did Blockbuster Fail? They Didn't Care About Customer Feedback
At least half, or more, of that "crap" also gets done in Windows. Only diff is that is is masked by binary-distributed third party drivers.

The rest is because the udev/systemd devs are in a bikeshedding war with the kernel devs because the latter ruffled the formers feathers at some point.
Turning CO2 from a coal plant into useful material seems like an oxymoron. The reason that we produce CO2 in the first place is that we get so much energy from turning it into CO2. Going the other way will cost about as much (probably more) energy than we got from burning the original fuel.

That is not to say that bad policy can't cause such practice.
Sara Seager and the search for habitable exoplanets
We just did a round, very simple: both of the founders sit down with each and every employee individually and ask a couple of questions:

- what was the thing you did last year you have been most proud of
- what is the thing you did last year you have been the least proud off
- what did we do as a company that you think was great
- what did we do as a company that you think was bad

We got great feedback and engagement on these sessions.

Now obviously this wont work if you have a decently sized head count but in our case it worked just fine over the course of a week or so.
> yes but if you follow that too strongly you end up having to rework tests _every_ time you change something which is absurd.

it depends how brittle your tests are. You can write tests that make sure internal stuff works at a unit level without them being so brittle

to your point testing I/O or behavior is the way to accomplish this, but it can still be done at the level of internal functions/methods
Actually I forgot that I played with nagios vs graphite - if anyone knows of other backends similar to those that would be appreciated.
You don't even need to bother with 32-bit x86. Nobody has 32-bit x86.
Trivial. Just put everything in BigQuery. Use looker for visualization. Job done.

Any single other component you may try to add will increase the complexity factorially. Better stick to the basics ;)
It implies it yes. Which is the point. Google Self-Driving Cars are not practical and will not work in consumer hands. The entire system is based on a dead-end solution that cannot scale to nationwide use, much less global. They are not even on the same level as a Tesla or Comma.ai technology. Roads need to be excessively and precisely imaged with incredibly more detailed mapping technology that Google Maps/Street View normally uses before they can work, and any time anything changes on that road it needs to be re-done.

Google Self-Driving Cars are a really well-designed marketing scam. And "implying" they are making progress by reorganizing the company is the best way they know to keep themselves in the news.
New Orleans Becomes New Model for Airbnb to Work with Cities
sure http://www.hardcoregaming101.net/freescape/freescape.htm

nothing like a rose tinted glasses and fanboizm when it comes to membering those fluid 60fps full color FPS Spectrum games.
That's if we don't convert into other materials?
The discussion was around what the right level of testing is.

> I get paid for [code that works and is maintainable], not [more tests than are strictly necessary to achieve that goal]
What a way to go.
Probably want to disable the tmux keybinding for detach
And that's a fantastic observation.

When you get out a bit of the IT world, you'll find that people who demand software want to receive something: software. They bought an app, they want the app. Simple as that.

If you are good enough to have your code working without tests, good. If you don't need documentation, good. If you paint your walls with use cases, good. All that doesn't matter, if you deliver the app you were hired for.

And if your app doesn't work... well, everything you've done doesn't matter either. Because you were hired to deliver an app.

Of course tests are good, documentation is good, self-documenting code is good. But only for the IT. For non-IT people who's contracting you (you can be your company, too), he just want the app. The software. Working.
Taking a Look at 5 Startups at AWS Re:Invent 2016
Also pdf can contain clear text. No need for ocr...
Growth hack approach in development
To me, this is the most important part of the text (p2, bottom):

"The ways in which one can divide up the original problem dep end directly on the ways in which one can glue solutions together Therefore to increase ones ability to mo dularise a problem conceptually one must provide new kinds of glue in the programming language."

Functional programming is great because it provides two (new) kinds of glue: function composition and lazy evaluation.

Even if you accept that (I certainly do for function composition, less enthusiastic about lazy evaluation), I would say that it only provides two new kinds of glue.

We need lots of kinds of glue, in other words, lots of architectural connectors. And that means linguistic means of defining and varying architectural connectors. http://objective.st
Just being the devil's advocate....

> With the manual approach you'd have to retest everything to have any real confidence.

This kind of implies that software development before "~tdd" was a complete disorganized gong show of quality especially where refactoring, but in fact that was not the case. There are ways of coding that are more conducive to quality than others.

> With the automated approach you just run a command.

Once you've written all that code, yes.

> if I didn't expect to have to ever change code, I wouldn't bother with it.

Usually you don't, in which case the extra effort on testing is wasted, usually.
It can be feasible if we suddenly end up with an enormous abundance of energy right? Like fusion power levels of abundance.
only if it would be ClojureScript... :)
The LinkedIn people report that it's not that simple.

* https://engineering.linkedin.com/blog/2016/08/don_t-let-linu...
The best calorie tracker app I found during my research is FatSecret[1]. It's completely free, and has great UI/UX in my opinion. The calorie database is pretty comprehensive, and it's quite easy to add your own entry. There is also a web version[2] in case you want to update your progress on desktop.

Good luck!

[1]: https://play.google.com/store/apps/details?id=com.fatsecret....

[2]: https://www.fatsecret.com/
Just say NO to Paxos overhead: replacing consensus with network ordering [pdf]
And it's not just about linked lists vs arrays, but also about the actual call stack.

FP code tends to be heavy on recursive algorithms, which means you need mutually tail recursive functions. And laziness. Somebody mentioned the State monad and the IO type. Well, these are lazy abstractions with a memory-safe bind/flatMap operation that makes them tick.

Well, the problem with these abstractions is that they'll require building a data structure that cannot be an array. And in the case of languages like Scala or Clojure that don't have real tail recursion because of the JVM, you need to manage your own trampoline as well. We now have the Free monad, which is awesome, except that it is very heap unfriendly.

Actually for FP you need persistent data structures everywhere, not just lists, like maps, hashes, vectors and all known implementations are some sort of trees. And this is an active area of research, but building cache friendly trees is a hard problem.
Does it really have to be 777?

chmod 777 /var/run/hyper.sock
Don Libes' Exploring Expect[1] is a devops classic (if there is such a thing). It would be nice if O'Reilly would make the text (completely) freely accessible[2], as they have done with some of their other older titles[3].

See also the Caius framework[4].

[1] http://shop.oreilly.com/product/9781565920903.do

[2] https://www.safaribooksonline.com/library/view/exploring-exp...

[3] http://www.oreilly.com/openbook/

[4] http://caiusproject.com/
I felt the same when our stats were based on simple arithmetics, "sum those revenue figures", "divide that by the total amount of users", "percentage of returning members"...

It can easily spiral into, "Pearson's Correlation" or "Give me the Linear regression of the bastard".
Why not get paid for both?
I have had good experience. Support has answered as question in a timely fashion. I moved from Linode to Dreamhost to consolidate and lower my annual costs and so far it has done so.

I am however at the moment bound to one datacenter and this is very limiting when compared to Digital Ocean. Diskspace offered in cheap and plentiful...

I use cloudflare, so the lack of other DC locations is not a big deal (although, would be appreciated).
> Why do you think that is the wrong approach?

"Because you should write code that works in the first place!" -- your boss
Still has it. You can really see how helpful this is by going to a sporting event with beer and open bleachers. You will see children running around collecting the cans just about as fast as you can drop them. It's a double win because the people drinking can be lazy and the kids get the money.
> Math went from a "get rules"-subject to a "memorize all the shortcuts"-subject

I'm sincerely sorry for you, you clearly had no luck in the choice of uni/prof. It must have been painful.
I'm not blaming all devs, but most devs :) But i guess there is wide-spread believe with Managers/bosses, testing is secondary to development.

I've seen testers, who find bugs and also fix them but they don't get credits they deserved.
If you'd like to learn more about how the Liquid Types style of refinement types works under the covers, I invite you to read Pat Rondon's thesis:

http://goto.ucsd.edu/~pmr/papers/rondon-liquid-types.pdf

The UCSD Programming Systems lab has also applied refinement types to dynamic languages[1] and systems programming languages[2]. The MIT Computer Assisted Programming Group has similarly used liquid types-based techniques for program synthesis[3], while a group at Purdue has been working on maching learning of complex refinement types[4,5] that are difficult to state or infer using the liquid types techniques.

[1] http://goto.ucsd.edu/~pvekris/docs/pldi16.pdf

[2] http://goto.ucsd.edu/~rjhala/papers/low_level_liquid_types.p...

[3] http://people.csail.mit.edu/polikarn/publications/pldi16.pdf

[4] https://www.microsoft.com/en-us/research/wp-content/uploads/...

[5] https://www.cs.purdue.edu/homes/zhu103/pubs/pldipaper.pdf
Seconded! Programming Languages is wonderful. Easily the best I've taken in Coursera (and better than Odersky's courses).
Emerging Fintech and Cashless Future of India
Revealing.
Formal appraisals are a waste of resources in a startup.

Focus on addressing issues as they come up as a team or let them go.
Newlight claims to have a new biocatalyst that is 9x more efficient than previous processes used in converting methane to plastic and that they can compete w/ petroleum based plastic on price when they scale up.

http://www.biofuelsdigest.com/bdigest/2015/07/13/one-billion...
Essentially, yes that is correct. I based it on the cross section of Deuterium at NTP.

A chemical cataylst is a bit different because it doesn't require overcoming the coloumb barrier. If a nuclear catalyst existed, it would have to lower to almost no energy or even bypass the coloumb barrier for a D-D fusion reaction to occur at NTP. Do you know of any situations were the coloumb barrier has been altered?
Last time I was in Germany, I saw a few homeless men sitting at the side of the road, asking a family who were walking to church if they could have the empty plastic bottles. All three of the children rolled their empty bottles across the street to the homeless men. They had a box with quite a few empty plastic water bottles in it.

One of many things that impressed me in Germany.
Michigan still does, mom was scolding me a few months back when I was visiting because the automated machines don't take crushed cans/bottles. Where I live I have no financial reason to recycle them, but I am incentivized to reduce the volume to decrease frequency of trips to the recycler.
That's great, but when I try to use a NFC FIDO U2F key with my Google account, it says "Security Keys are not support on your device." The same key on the same device works just fine on Github (running Chrome for Android).
S3 is ideal for multi TB working set.

That should be the de-factor standard for TB scale. In fact, don't bother comparing other products if you're TB scale, just use S3.
Sourced via 'The Morning Paper':

https://blog.acolyer.org/2016/12/08/just-say-no-to-paxos-ove...
Sounds like he'd be a team player and a great all-around guy to work with...

In reality, there's a considerable amount of respect given to people who are great at what they do, but are also humble and without the boated ego.
Daft Punk Bank
An alternative to this is http://www.fidesmo.com/ - are there any others?