skysight-inc/HackerNews huggingface dataset:
Oh, I'm just talking about how things work at the moment with tracking etc (source: I built a system which does this sort of thing on a decent scale).

Maybe we'll get to cyberpunk distopia you describe later tho :}

That 'what if', btw, is actual reality these days if you replace 'corporation' with 'government'.

While any given provider might get huge, the distributed nature of this thing we made really means the only folks who can realistically obtain the sort of 'total' power which such a monopoly would create are the state actors; and they're already doing this. We all watch the news, right?

It seems like we're talking about different things, or maybe I'm just not really getting your point. The problems we have are not this theoretical push towards massively powerful orgs (which is a thing, sure) -- but the govts which are inside all of these guys.

Either way, we're too late to do much about it I guess.

I'll be over there with the tinfoil hat and no social media accounts :P
I wanted to partition a table by the foreign key, as the table receives a few hundred rows per foreign key per hour (it is a timeseries db).

So I figured partitioning the table by foreign key would group all data together in a way that allows for faster access (typical access pattern would be select * where foreign_key = x). However, as the number of keys in the foreign table is unbounded and can be quite large, I wanted to partition the data to a limited number of tables, with

mod(foreign_key, number_of_partions)

If I understood correctly, check constraints can't operate on a calculated value
How about basic seats that don't suck, with space for a normal size adult. Quit treating passengers like cattle. The solution would seem rather low-tech.
I Love Markdown
I wrote Mr. Robot off the moment i watched the first preview. Psycologically troubled, hooded protagonist that blackmails a guy about a pedo exchange running out of the back room of a restaurant. No matter how accurate the computing may be, that just got too ham fisted for my tastes.

As for Hackers the movie, i wonder if one best treat it similar to Streets of Fire[1]. a fable that happens to be set to New York.

[1]https://en.wikipedia.org/wiki/Streets_of_Fire
From the receiving end (long history of "ops" work), I've seen that a lot of the code itself tends to come out really well and the developers who write the code are a lot happier.

That said, many of the feature requests from the ops' side end up taking an extremely long time to produce, if ever. Very basic requests that would save the team dozens of hours per week go on and on longer than they should. In these sorts of shops, the ops side ends up pretty miserable and builds up a lot of frustration for the development team, which drives the two groups apart.

More recently, my team's been asked the ops team is being asked to write tests for ops' prod bugfix automation. Categorically speaking, we're not developers, so it tends to take us longer to write tests than the devs who write them daily. Issues pile up and span across months, rather than days. The reasoning behind the tests is understandable since it helps build assurance that our scripts won't break the world. Though, the ops team is battle hardened enough to know that if we break it, we have to fix it - it's in our best interest to write code that's reliable as possible. I don't think any of us would be in our roles if we didn't understand it. Frustrating stuff.
You have to:

1. Have an overall idea of what your software will do before writing the first line of code.

2. Challenge and change any touched assumption from #1 during development when you refine that idea.

3. Test that the program satisfies your refined idea after it's written.

4. Create some assurance you'll keep #3 correct while you write any further code later.

However you fulfill those needs, if you got them all, you are good.
FYI: This has a name clash with a fairly popular TUI library: https://github.com/nsf/termbox
It is an option to use process co2 like cement.

But you end up with a similar problem: You disincentivize carbon reductions in cement production.

If we ever want to get serious about climate change then cement has to reduce its environmental impact. This is a hard problem (I am actually right now researching for an article about the topic), but all models with serious carbon reductions assume that on the medium term co2 emissions have to go down ~95%. As there are other things were carbon reduction is really hard cement can't use up all the remaining 5%.

There are and were some startups trying to create greener cement, but all that went nowhere. The one that made most headlines - Novacem - went bankrupt and no longer exists.
We write tests to be able to change it in the future with certain degree of confidence that we don't break anything and - if so - what exactly

You don't want tests for that - you want a type system and a static analyzer.
I am sorry, but did noone spell check this? is the author's o key broken? Its a really short article, and while my spelling is pretty bad, a missing o is pretty obvious imho.

interesting article though
The upcoming version: Coq 8.6rc1
I think the backwards compatibility problem wasn't that it lacked backwards compatibility, but rather that the proposition was to pay more to run your existing binaries slower. I recall Pentium Pro having a similar problem with 16-bit code.
Came in here to say this is a normal thing for all businesses to do and then:

> The untold story of Apple and its taxes wends its way from Cork, Ireland, to New York and then Reno, Nevada. But according to tax experts interviewed by Bloomberg News, the maker of iPhones is hardly unique. Many of the biggest U.S. multinationals have seized on the same exemption, which lets them avoid or delay repatriation taxes by buying Treasuries with their overseas cash.

So the author is openly acknowledging that Apple is only in the headline because clicks.

Businesses taking advantage of a broken tax system is no fault of the businesses, it's the fault of the system. Instead of criticizing companies for taking advantage of the loopholes, fix the damn loopholes.
On timing, I like our approach: initially 9 months after joining, then yearly after. A year after joining for your first salary review is too long.

Our strongest tool for performance "reviews" are 1:1s. Weekly/bi-weekly with your direct manager, typically monthly (or more) with your business unit's engineering lead, and about bi-monthly with the head of engineering, though newer engineers have 1:1s with me more often at first [0].

Some of this is covered in our manager's faq [1], specifically about performance reviews, score cards, ranking, etc, and why we think it's utlimately harmful, as it benefits the insitution more than the unique employee.

[0] This is tough to do as engineering groups scale, but critically important.

[1] https://blog.esharesinc.com/a-managers-faq-35858a229f84#.tqb...
one day...one day :)
Expect was great when I had to automate ssh'ing into a bunch of different machines with generated passphrases. Not the best for security, but the machines were in a private network and key auth was not used at the time. Saved a lot of typing!
How to fix joint problem
> I realized that statically-typed languages can really have the potential to be as or more productive than dynamically typed languages paired with a good enough IDE.

Indeed, and C# isn't even a particularly safe typed language. It still has pervasive null, for instance. When you get into F#/OCaml/Haskell/Rust-type languages, it's a real eye opener.

> Want to read/write pretty-arbitrary JSON? Good luck

Not sure I see the problem. Just deserialize JSON into a JsonValue which provides dictionary semantics like JavaScript.
>Core2Duo-like performance

so you expect someone brand new to start at iphone 6 level of performance? ....
I 100% agree. If I can use paramiko/fabric or something similar, I prefer it way more than expect.

If you have a slave device over RS232, expect is probably your only option. But if that remote item is running sshd, you are way better off without expect.
I think 'arbitrary' was actually the key word. I agree that serializing/deserializing structs is pretty painless, the issue is when you're not sure what you're getting.

In golang recently I had to take some json (that I only knew part of the structure of), and modify just that small subpart of it without touching the rest. It was a really painful thing to develop, and the code ended up very messy.

There were a few golang libs for reading arbitrary json, but none supported writing to it that I could find.
This.

The real question is, "Can CO2 be given more value by using it to make plastics than the value of the energy used to power the process?"

This is a much harder problem. A good start might be a thermodynamic analysis.

Ethylene monomers have an enthalpy of formation from pure CO2 and H2O of 12.9 kWh/kg, plus losses due to process inefficiency. It's only 7.3 kWh/kg if you have a "free" source of hydrogen to provide the remaining energy, but typically industrial hydrogen comes from fossil fuels.

Industrial electricity prices in the US and China are around 10c(=0.66 Yuan)/kWh, so that much electricity goes for about $1.30. But ethylene prices are only around $1.07/kg,[1] so from this admittedly simplistic analysis it would seem the answer is no, it's not worth it. This is before considering the extra energy required to concentrate CO2 from dilute form in the atmosphere or an exhaust flue.

Someone else on this thread said it best -- the tree wins the technology contest. Self replicating, solar powered, soil building, carbon sequestering, water/air cleaning, etc. Oh yeah, and trees are literally[2] what makes it rain.

[1] http://asia.nikkei.com/Markets/Commodities/Ethylene-prices-u...

[2] By transpiring coastal rainfall, trees "kick it back up" and transport water to the inner parts of the continent like an irrigation system. Hence why deforestation leads to desertification. http://www.nature.com/nature/journal/v496/n7445/abs/nature11...
I've had a very similar experience.

It's worth it's weight in gold when you can flesh out edge cases and logic issues before going all-in on an architecture, and being able to refactor without fear is a great bonus, but it's not always applicable.

Unless the majority of the tests are "external" (i.e. testing an API by calling it's endpoints and testing the return), a major refactor is going to require updated tests, and it's all too common that I see people take the "easy" way out and fix the tests to conform to the way it's working after the refactor rather than the way it should work.
Pick one solution among:

- alooma.io (SaaS queing and transformation pipeline that saves to S3)

- segment.io (Saas analytics platform that can save to S3)

- snowplowanalytics (clusterfuck open source self hosted analytics pipeline)
But only tests will tell you you are calculating something correctly.
How the number zero was ‘discovered’
Same here. Chromium: "Version 53.0.2785.143 built on Debian stretch/sid, running on Debian stretch/sid (64-bit)"
Significantly?
>> What I find interesting is that when confronted with that idea, many physcists just get stuck at the original claims and don't understand that there is likely a novel phenomenon of some sort, deserving of study.

I found the physicist reaction "it can't be nuclear, it has to be chemistry" a bit disturbing. The cell was said to contain all of 4 elements, and none of the physicists were offering an explanation for what chemical reaction the two chemists were missing.
But thats anathema to agile, yo. /s
Just say "thank you for your input" and move on.
PS I also wrote autopexpect, which is based on another underrated tool (autoexpect)

https://github.com/ianmiell/autopexpect

http://expect.sourceforge.net/example/autoexpect.man.html
It takes balls to turn down a high nine figure number. I don't understand the thought process behind turning down something that essentially gives you a 50% probability that you'll be a billionaire.
In large code bases it can be really hard to keep everything in your head, and that's when a little tab complete can really come in handy. Just forgetting specific method names when you know there's one you want to use can be very handy.
Yoga is a Layout engine, not a UI or graphics engine. It's output is basically just the size and position of those objects put into it. So you'd need a bridge to use it for existing UI systems or build a new UI system on top of it (just like what React Native did).
I don't find dynamically-typed languages productive at all once the program gets past about 400 lines and/or you figure out what you need to do.

The break-and-follow-the-errors approach is very powerful. It's usually not hard to find the exact break that will show you all the things you need to change, and then just work through them. My record is 5 days without buildable code, working in C++; once I'd worked through all of the errors, the program worked, and without any non-obvious problems.

I miss this a lot when working in a dynamically typed language.

(Thing by Jonathan Blow that touches on this: https://web.archive.org/web/20140929232443/http://lerp.org/n...)
Want to Optimize Your Routine and Free Up a Lot of Time? Here Are 29 Killer Tips
I work for a company that doesn't do performance reviews. Thus, there is little incentive to perform well as nobody will even notice. Everyone just works hard enough to keep their jobs.
Here's another great resource on the options: http://stackoverflow.com/questions/4048151/what-are-the-opti...

Yeah, O(n^2) could hurt. I guess you have to have some idea of what average and max depths are to figure out how many rows you're talking about. But the other advantages are pretty compelling.
Probably not, but I haven't really bothered to look into that, it should really be using HTTP instead.
Ask HN: Can those good at writing be good at programming?
I've seen those good at writing get better at it after getting into programming. Also, I've seen some learn or begin to write sufficiently well after they've been programmers for a while.
How to Manage Others' Expectation of Your Time
I remember once my code worked on the first try. I found it difficult to believe.
I suspected as much, thanks for confirming! F# is definitely the plan for this weekend, then :)
Did this comment really deserve a downvote? Upvoting accordingly!
Article about the way we gonna launch mobile apps in a few of years via chatbots
Yes. Less latch contention for nodes of a single btree index, for instance.
This seems like a pretty clear breakdown of HN's "original title" policy. The title here only makes sense in the context of a game-specific Steam forum, and provides no real information out of context.
> when the C programmer has written the first working version, the FP programmer has tried 5 different solutions.

... none of which are necessarily faster than the other 4 solutions. It's not just the architecture of your code that influences performance, it's also – sometimes even more so – the underlying details of your implementation, like arrays vs. pointer-based data structures; Athas' comment describes this pretty well.

As a consequence, this statement:

> it is always a property of the architecture or system, not of the programming language

is wrong, simply because your programming language will heavily influence a lot of your productivity vs. performance tradeoffs.
You cannot have Treasuries sold only to US entities. A strong currency needs to be purchased by plenty of foreign govts/entities. This is how China or any other country parks their some of their money in US Dollars.
It is a bit disingenuous to single out Apple for something that is a normal practice in financial markets.
The point here seems to be that Apple is a bit in the cross hairs in order to have its stocks pushed down a bit.
> Python is very poorly suited to working with data.

This does not seem to be true, based on widespread industry and scientific use of Python generating, managing, and analyzing data.

Perhaps you meant in some specific way, like "Python does not enforce objects' data schema" or some such?
Does someone have a better scanned version of this? The format is not great on this, but it looks really interesting.
this is essentially the argument for functional tests over unit tests and while I generally agree, I think a mixture of the two is important.

Unit tests should be used for extremely small and isolated mission critical objects while functional tests should generally cover the entirety of the I/O chain. That's how I do it at least and it works extremely well for a fraction of the cost!
Ahhh I was unaware of this distinction. I make something very "naan-like" with unbleached bread flour and sourdough yeasts that is apparently less "traditional" than I had thought?
And yet programmers wants to be held in the same regard as engineers.

https://www.youtube.com/watch?v=0WMWUP5ZHSY
Facebook Investors Criticize Marc Andreessen for Conflict of Interest
YES!!! However my projects so far have not had anything to do with it yet, and will never be.
In terms of web languages, Elm is perfect for this purpose. It's a statically typed, pure functional programming language. It's impossible for functions to generate side effects. Side effects must captured by the type system as external "Commands". Also, the type system is inspired by Haskell but far more basic. To hardcore functional programmers this is a negative, but Elm is really easy to teach to JavaScript programmers as a result.
Because it was never worth $740M to begin with. The Pebble is garbage and the company never really cared about the device or the folks that Kickstarted it.

Even as a big Apple fan as I am the Apple Watch also had nothing to do with the failure of Kickstarter. Even low end Android watches made better devices.
They call it urban tumbleweed.

And where people care about keeping their town clean, tax money gets spent on removing the tumbleweed[1]. Which is why these bag bans are a general good thing.

Source: http://1bagatatime.com/learn/plastic-bag-clean-costs/
Why I switched from Vim to Emacs
HOliday 2016
Both transgenders and Muslims are allowed to show their identity in society, which are the times where they can get discriminated against. Nudists can't, and are thus indistinguishable from non-nudists in situations where influence and money exist.

If transgender people were not allowed to wear clothing of their choice, or act outside their born gender, no discrimination could happen (in the context of power). Same with Muslims. Identification is required for the form of discrimination you are talking about, and that which is illegal is not done in the open.

But here I would say that the definition being presented here do clash with reality. Making the act of doing identifiable faith, transgender, or other self-identity illegal in order to protect those groups from discrimination is not exactly how society in general view discrimination. The closest we get is the argument behind uniforms, where the idea is to hide peoples social group identity and strengthen the new social group. While partial effective, I have also heard that humans are quite good at identifying social groups even when hidden. It would imply that nudists are not so blessed from discrimination as you describe, and as a minor note I also recall quite a few movies where a nudist family is found out inside a gated community.

> You don't have a car because I am currently still holding on to it.

In that example society will provide cars to anyone that needs it. I have a car, and you have one.

The stated moral question was if society should fix material situations for everyone rather than exclusively those that are in a material situation because of past discrimination.

I will also remind that in this made up example, the suggestion solution was to treat everyone equal from this point on. Any existing discrimination are to be stopped, be those positive or negative.

> if men were actually made significantly less powerful than women in society ... As this is currently far from reality

A fact I disagree with, especially in local context but also on a global scale. Money and work positions are useful proxies for power, but they are an imperfect representation and devalues all other form of influence that exist. For example, living 10 more years in average is a quite power property, and extends influence of the social group.

The race situation is more clear in the local context of US, but less so on a wider scale. Money is again used here as a proxy, but comparing money in one nation to money in a other nation is imperfect. Mots nations are not ruled by the richest person in that nation. Its also very questionable to compare a poor farmer influence in one nation with a poor farmer influence in an other. Influence at international politics tend to be limited to a small number of people.
9 New Features in Ruby 2.4
This article does little (if any at all) to explain "How Pebble went from being worth $740M to less than $40M". It just lists a timeline of product launched and valuations.
I quite enjoyed Arrival. If all of Chiang's stories could get adaptations of similar quality I would be quite happy.
That just increases the verification costs: order ten chips, verify five randomly chosen ones. If all five are clean, the other five are probably also clean. Modify numbers for the desired cost/risk trade-off.
tldr: It was never worth $740M to begin with.
Hey, this looks really good - I'll give a shot at using this in MOAI! Thanks for that!
Automated Assistants Will Soon Make a Bid for Your Finances
Expect is great for persuading things, particularly poorly written Java monoliths that use text interactive installers, to play nicely with ansible. On more than one occasion it has been tasked with handling one.

You run autoexpect first to record what you want it to do on a dry run, then tidy up the generated expect script, then plug it into ansible as a raw task.

Granted this shouldn't be a problem in 2016 but some vendors are idiots. But thanks to expect my life is a little more comfortable :)
I thought one could consider Arduino a "big open source project" we've been working on open hardware for 11 years and we have millions of users. The big question is : Does open hardware really matter to people? The Raspberry Pi keeps getting mentioned next to Arduino but it's not open hardware but this doesn't seem to matter. The original group of OSHW enthusiasts has been diluted in the larger maker/hobbyist market which is very price sensitive and buys the cheapest HW regardless of who makes it or if they are upstanding citizens of the open source world.
I agree with your assessment that the primary reason we write unit tests is to be able to quickly make changes in the future without fear of breaking something: You do some extra work today so that you can save a tiny bit of work (and worry) tomorrow, and over time that accumulated future benefit outweighs the penalty paid today.

However, many in the industry forget that this is the underlying reasoning, as seen just two days ago here on this site. Read through the top-rated comments on this post:
https://news.ycombinator.com/item?id=13119138

They describe an emergency situation where a single "3" needed to be changed to "4" ASAP or people would lose their jobs, and everyone's applauding the gatekeepers who insisted on significant refactoring and the creation of additional tests before the change could be approved.

I agree with those who say those improvements should maybe have been demanded immediately after the fire was out, but those who would have delayed the firefighting out of blind allegiance to the rules seemed, to me, to have forgotten that the rules are there to serve the programmers (particularly, their ability to quickly ship working code), and not the other way around.

A rule that's failing to do that should be changed or ignored.