skysight-inc/HackerNews huggingface dataset:
Whether some is readable is always going to be subject to who's reading it. That's simply how readable/non-readable work. Now you can learn to read new languages (human or machine), but I suspect someone who knows a romance language will find other romance languages for more readable than Chinese. Romance languages share words, alphabets, and many syntactic features. You can draw from an existing body of knowledge and patterns when learning a new romance language. There's a lot less to draw from if you're learning Chinese.

The same applies to programming languages. The fact is most programmers learn popular languages. Languages that deviate from popular languages tend to become less readable.

So the answer is no. If you are accustomed to a syntax, it naturally follows you are most likely going to languages that adopt those syntactic features will initially be more "readable" because things only become readable when you learn how to read them.
I always that the best argument, that every assembly programmer knows, that starting at i=0 allow i to be used as an offset from the base address of an array. I bet that's why K&R choose this for C (unlike Wirth for Pascal which allowed any index range for arrays).
I'd recommend using the tutorials rather than just typing stuff and seeing what happens. The language and concepts are the same, but there are some big differences at the framework and platform level.

The xUnit tutorial is here: https://www.microsoft.com/net/tutorials/csharp/getting-start...

Those tutorials are pretty intro level, but they do cover some of the issues you ran into.

Also, I'd recommend checking out the new Visual Studio 2017 RC with updated .NET Core tools and support for the csproj based projects: https://blogs.msdn.microsoft.com/dotnet/2016/12/12/updating-...
CGNAT prevents users from hosting personal services - its a PitA.
A Note from Chris O’Neill about Evernote’s Privacy Policy
I've only seen naturals start with zero in Calculus 101 books. Any "introduction to real analysis for third-year undergrads" will do 1, at least in my experience.
May I ask how you came to this calculation? I have a relative in my family that regularly touts they are burning 3,000 calories on an elliptical for an hours worth of use.

It'd be nice to have an outlandish comparison to put towards their claim.
VR Video Study Finds Netflix, Hulu Preferred Over 360 Apps and More
What if the index has some meaning to my calculations? What if I'm indexing parallel arrays? These both happen all the time in my python scripts.
This needs to be higher. So many people in these comments claiming that X, Y, Z are "more readable" or "friendlier to beginners" and providing no argument or evidence other than the implication that it's what they are used to because of their personal background.
>A lot of people on here are complaining about big pharma, but my generics cost like 2-3 bucks a month. I don't think GSK and Pfzier are exactly making bank off my mental conditions...

Not that I disagree with most of your post, but this statement is a bit disingenuous. The fact that there are cheap generics is because Big Pharma already made their money pushing those drugs for 20 years. They might not at this point have a huge profit motive to push these drugs, but the damage is already done. SSRIs are now the standard treatment, and Big Pharma is one of the main reasons that's the case. Given the questionable efficacy of SSRIs, I think it's only right to question the role of Big Pharma in setting our standard practices in medicine/psychiatry.
Seems like a great functional scripting language with above-retard type system. This is really cool, no sarcasm.

Just please don't label it as "educational" or "academic" or industry devs will avoid it out of pure macho-ism :)

And find a way to marry it to a popular ecosystem, maybe a transpiler to js (for nodejs ecosystem) or python or go. 'Cause it really looks like a language I'd enjoy writing production code in if I could just `require` some of my favorite libs and hit the ground running!
Okta has some more info and a lot of blog posts on it.

https://www.okta.com/Businesses-At-Work/2016-03/
No. They don't really accomplish the same goals, and SharePoint Online is still a going concern.

That said, just as Skype and Skype for Business are very different beasts under the hood, One Drive and One Drive for Business are also quite different, the latter being shoehorned on top of SharePoint.
Office has been around for over 25 years. Most businesses use it, and 365 is included. So isn't the surprise that G Suite (silly name) shows up anywhere on the same scale at all, with it being a third as old?
Indeed.

Frankly, I find Dijkstra's writing horribly grating and irritating. The majority of his articles seem to be just him insulting things he doesn't like, another thing I find grating (for one thing, I can't think of anything he does like off the top of my head). He also seems to have a habit of passing his opinions off as fact.

But he is really smart, and often right, so while I can be annoyed by him, I can't actually ignore what he says, because it does matter.
Maybe from a tech perspective, but the SharePoint "brand" is still heavily used in O365 enterprise for the same file-syncing stuff that OneDrive does in consumer-services.

Which brings up another O365 nit, MS has these direct consumer services and O365 services all on different account silos such that when I log into O365 I have to go through a decision tree that answers two levels of questions about which _account_ my company email address is referring to: MS Personal vs Organization Issued vs Organization but Personally Created (not sure how the last category exists)
Thanks, we updated the link from https://www.hodinkee.com/articles/how-a-bankrupt-rust-belt-w....
It can't and neither can ORM.

ORM does the reverse, it tries to map objects into relational data, the problem is that those are two incompatible way of storing data, you can do this for some objects but it doesn't apply for all cases.

Since relational algebra was proposed by Cobb, it took over all databases because it was proven that it's most efficient way to store data we know.

ORM might be useful for some cases, but it will generally limit you with what you can do with data.

IMO I think what's really missing is to have have another query language that is integrated with your programming language (so you don't have to write it as a string, and can benefit from language features such as auto completion, type checking etc).

I kind of wish QUEL[1] would win instead of SQL, since that language seems to be easier to be integrated.

There are also attempts such as LINQ[2] which appears to do good (I did not use it myself, since I don't program in .NET), but it looks great, I wish it became a standard and got integrated in other languages.

[1] https://en.wikipedia.org/wiki/QUEL_query_languages

[2] https://en.wikipedia.org/wiki/Language_Integrated_Query
That's a wonderful idea! I filed [1] to track it. I meant to do something like this, but it got lost in the shuffle prepping for the announcement. We'll publish one in a future blog post.

[1]: https://github.com/rust-community/underhanded.rs/issues/9
Is Software Development Really a Dead-End Job After 35-40?
> just UPDATE stories SET disputed = t WHERE ID = ?

It's not that easy. They need provide a link with an explanation why a certain story is disputed.

It's true that Facebook has a lot of power. But that was already the case before this update: they could manipulate what stories a user saw, which could be used to influence a large part of their user base. I don't see this as adding that much power. It's also easier to check this mechanism than feed manipulation.
What is the alternative? Right now the alternative is to add another layer of bias in between.
Are strings sets?
Even so, the fact that we have the knowledge to generate collisions in MD5 means you really shouldn't be relying on it when there are better alternatives.
What is the tooling that's missing in stable?
can you provide some stats?
SmugMug at least used to be considered a good alternative. They became less attractive after a pricing change a few years back but I haven't really looked carefully for a long time. My main requirement is that I can essentially just set up a new publishing channel from Lightroom and press "Go" (which I believe I can do with SmugMug).

But, yeah, it was popular for a time to dump on Flickr because they hadn't really moved forward. But truth be told, it pretty much does the job for me the way it is and I don't want a whole bunch of social stuff dumped on it.
well in the UK when you want to take out a loan, the bank is legally obliged to look at your ability to repay and not loan you the money if you don't appear to have the ability to repay. Home owners have collatoral, business have business plans, those are assessed by banks for ability to repay.

If this guy had actually said to the bank "hey I want to borrow $2 million, I have no income and no collatoral" do you think they would have accepted the loan?
> I can't say MS is better at everything, but overall I definitely prefer it.

My employer is trying to roll out O365 to the enterprise. Some of us have been using Google without official IT blessing (due to needing to get shit done in the absence of an official solution) for years.

The biggest pain point so far as been moving from Hangouts to Skype for chat. The UI on Skype is awful - multiple pop up's instead of one page (https://hangouts.google.com/), a native client that wants to update way too often vs a website, and for some reason every new conversation with someone starts a new window even if the person already has one open. It's a joke.
Comparably’s new tool lets companies see how they stacks up against competitors
You'd be surprised by the number of companies locked into Microsoft products.
None of workers worry about people's privacy?

None of workers worry about censorship that google does ?

Cmon, Im sure somebody would be ? Eh? Anybody ?

Haha, Big "no thanks" to google and it's services.
I wasn't saying either possibility was the cause of the Yahoo breach. Simply pointing out that there is always another way.

The NSA's MUSCULAR program for example decoded proprietary secret squirrel cross datacenter replication protocols designed by both Google and Yahoo, so that isn't much of a safe guard against state level actors.
Politifact is one of the organizations on the approved list [1], and the closest thing I can find on that list to an organization anyone not on the left is likely to regard as politically neutral is the Associated Press. So I'm not really seeing what Facebook expects this to help.

[1] http://www.poynter.org/fact-checkers-code-of-principles/
It doesn't need to be. (Why the italics?) In fact I don't give half a crap about the implementation details of how it works. All I want is to be able to drag a little diagram from a paint program into my code editor and have it there in the code and then when someone else looks at the code they see the little diagram, too. Whether it's implemented by a "binary object", or by adding an additional XML file, or by a magical monkey from heaven reaching down and placing it there, I do not care. I'm talking about a feature I want to use, not about nitty-gritty implementation details.

As for "shunning other editors", well, frankly, why are we as an industry bending over backwards to support people using editors from the 1970s? Do you think Ford still builds cars with imperial measurements just so Old Bob the mechanic can keep using the tools he bought when he went into the field in 1968? No of course not, that's stupid. But that's exactly what our industry is doing.
Prescription drugs may be necessary but only after all other therapies have been exhausted. There are many ways to treat mental issues that do not require nuking the brain with powerful pharmaceuticals. Yes they are needed, sometimes.
For much number crunching there is often no substitute for jumping around using indexes computed by sometimes elaborate rules. Although whether to add or subtract 1 in the end is the least complicated part then, but it would have been nice if Python (0), MATLAB (1), Fortran (1), C (0), Julia (1) didn't disagree on the convention as you move between them.
That's not what I meant. You didn't detach the subthread - you detached the thread and a sub-subthread but left another sub-subthread - my post - and now it has become the top-comment, replacing the former comment it was a reply to. You destroyed the thread structure and now it's an incomprehensible mess - who responded to whom? Now the original post that I replied to is available as link BELOW the reply! Why not shift the ENTIRE sub-thread instead of parts of it?
Isn't CQRS the future?
EDB Ark: DBaaS for Hybrid Cloud Deployments
Last month I went to my parents' house and cleaned out a bunch of my old crud. Which included school notebooks and books back to 1980 (at which time I had access to computers and typed all my papers). I was shocked (as was my kid) at how clear and legible my old notebooks were.

Nowadays I do write stuff but summarize it into the computer. I've tried various tools for automatic capture (e.g. livescribe) but they don't work that well. I realized that the probably would have worked great with my 35-years-ago handwriting.
Am I missing something, or is it 1/8 of Google's search traffic, according to your numbers, not 1%?
That's definitely the write document and it's handwritten.
And here is the dilemma with competing with Microsoft:

Compete with Microsoft and forever spend your time with bug fixes, parity issues, and new features the other guy implements.

... OR create enough of the part that essentially means productivity app, but then branch out into your own space and create a product that differentiates itself and creates lock-in.

Google knows that doing the latter is like a dog forever chasing fox and never winning, so it eventually called timoeut on parity and branched off into doing something new and exciting.
LUA doesn't have any of that functional baloney built into
it like Javascript. It doesn't have Objects either. Leave
that cruft to Java, Javascript, and all the other clunky
enterprise languages like them. Programming in LUA is the
way it's supposed to be, imperative.

Conclusion: LUA is hardcore and lightweight, like C.

Actually, Lua was intentionally designed to support functional programming and strong function composition. Lua supports proper tail calls and lexical closures. The former is necessary for functional programming, and the latter makes function composition easier as a practical matter, especially when you consider that...

... one of the beauties of Lua is that you can write "Lua" in either Lua or C. That is, the Lua language was designed so that the Lua C API was a first-class citizen. A Lua function written in C has full access to the power of lexical closures as well as stackful coroutines. (See the paper "Passing a Language through the Eye of a Needle" at http://queue.acm.org/detail.cfm?id=1983083) No other language benefits from such attention to detail in that regard. If you don't understand the beauty of the Lua C API, then you don't understand Lua.

Also, object oriented programming in Lua is prototype based, just like in JavaScript. But Lua is definitely hardcore and lightweight and fast, even though it's a much more sophisticated language than both JavaScript and Python in terms of language abstractions.

I think people get the idea that Lua isn't sophisticated because it's so simple--that is, it has a small repertoire of language features, and the implementation is small and comprehensible. But that's largely a product of the fact that while Lua is over 20 years old, it never committed to strong backwards compatibility.

Lua 5.3 is the product of decades of ruthlessly discarding failed experiments, and carefully introducing new experiments. And this shows if you pay close attention to the details of the language features, semantics, and API.

For example, look at Lua's stackful coroutines. Some consider call/cc (call with current continuations) the ideal abstraction, but Lua's choice of asymmetric stackful coroutines was carefully considered. The paper 2004 paper "Revisiting Coroutines" (http://www.inf.puc-rio.br/~roberto/docs/MCC15-04.pdf) by one of the Lua authors is widely cited in this area of language research and design.

Lua's lack of backwards compatibility is a stumbling block for uptake. But it's asymptotically approaching the perfect language of it's kind (dynamically typed, etc). The period between major releases seems to be growing (5+ years now), and the changes fewer. The future is bright.
Well,

What you are ultimately saying that drug X made the person's existence possible under the current circumstances and given the current options.

My anecdotal evidence is a friend who went for years working a night shift and playing RPGs during the day, wracking a massive sleep deficit and engaging in other irresponsible behavior. Antidepressants made his existence possible. Until they finally stopped working and he reached full psychological disability.

It is extremely difficult to say this means. My reflex is to give the "folk psychology" explanation that he'd pushed away the "real problem" for so long that when it "caught up to him", he couldn't deal with it. But it could just as well be the chemicals gave him a few more years.

Now if I suspect, chemicals or not, if he'd had job/leisure activity combo that satisfied him more and didn't produce sleep deficits, he would have at least lasted longer.
I wouldn't mind using something hosted if it helps me get setup quickly.

For MVPaaS, do you provide a db as well or is it just the user accounts part? And what environments do you currently support?
I'm curious what you think the problems are that unbounded indices causes? Unsigned overflow is well defined in C++, so I don't see the problem here. AFAIK, the only issue would be with requiring power of 2 sizes.
The costs to run it are too high and haven't or can't be reduced. Granted, the demographics Yahoo can target and Yahoo's share of internet advertising aren't the most appealing, they did buy Flurry and others which were doing fine monetizing small shares of ad revenue.

Also, at this point, under-investing in security never pays.
> Are you saying that 2016 has longer battery life than 2015?

Yes, that has been my reading and the review [1] confirms about 2 more hours than the 2015 15" model.

The brighter screen is relevant for battery use, because the laptop can run on even a relative dimmer setting with same brightness with perhaps even more battery life.

10.12.2 update seemed to fix problems for some people. Others were complaining not realizing high CPU of background processes. With new OS upgrade, e.g., 10.12.1 I do a clean install.

Incidentally, I think the 2015 model is an outstanding unit and a far better deal than the 2016 model and great for most people. The extra battery life and smaller, lighter is important for me.

[1] http://www.notebookcheck.net/Apple-MacBook-Pro-15-Late-2016-...
His handwriting has in fact been fontified.
https://news.ycombinator.com/item?id=13180172 (11 comments)

https://news.ycombinator.com/item?id=13179901 (5 comments)

https://news.ycombinator.com/item?id=13180776 (2 comments)

Other submissions without comments:

https://news.ycombinator.com/item?id=13184274

https://news.ycombinator.com/item?id=13184991
>when you see `-1` in code it is often a failure of the expressiveness of 0-indexed lists.

...And when you see '+1' or '(x%ArrayLen)+1' or 'x<=arrayLen', in lua or FORTRAN it is often a failure in the expressiveness of one-indexed lists.
Facebook to start putting warning labels on 'fake news'
What about a 'teaching' OS/compiler/toolchain vs. the 'real' thing? e.g., a stripped-down OS kernel with minimal clean code optimized for teaching vs. throwing someone into Linux source. or a teaching-oriented compiler vs. wading into GCC/LLVM?

Teaching languages/OSes/compilers/toolchains (if done well) lower the barrier to entry while providing a conceptual transition path to learning 'real' stuff later on the job. Plus, the 'real' thing that we may be teaching in school now may not even be relevant in 4 years in industry when students get out into the working world, and they will have to pick up new languages/toolchains/etc. constantly on the job anyways. There is definitely a good argument for authenticity, but also one for paring down extrinsic complexity to illustrate core computer science concepts. e.g., try explaining parsing using full-blown C++ as a case study -- that seems pretty daunting. But one of these teaching languages (if done well, of course) is much easier to write parsers for.
Perhaps HN isn't the best place to persistently litigate the validity, merits and implications of The Bell Curve, which is the direction that many of your arguments (this thread among them) seem to take.

Of course, The Bell Curve, and the arguments contained within are a best assumption as to what "on racial issues, the white supremacists seem to be factually correct (mostly)" is referring to.

Also, you tend to fall back on claiming to be a harbinger of unadulterated knowledge ("I choose not to couch my facts in language meant to obscure the point") while ignoring the implicit (or explicit, https://news.ycombinator.com/item?id=13170988 ) invective contained in your language. I see no loss of descriptive accuracy w.r.t. the article between "deadbeat blacks" and "African-American defaulters", yet using the latter avoids the minefield of historical connotations that the former has.
Lessons in Averaging
Absolutely not, quoting from here: https://github.com/amark/theory#notes

1. Naturally, the first element in a list cardinally corresponds to 1. Contrarily, even official documentation of JavaScript has explicit disclaimers that the "first element of an array is actually at index 0" - this is easily forgotten, especially by novices, and can lead to errors.

2. Mathematically, a closed interval is properly represented in code as for(i = 1; i <= items.length; i++), because it includes its endpoints. Offset notation instead is technically a left-closed right-open interval set, represented in code as for(i = 0; i < items.length; i++). This matters because code deals with integer intervals, because all elements have a fixed size - you can not access a fractional part of an element. Integer intervals are closed intervals, thus conclusively proving this importance.

3. Mathematically, matrix notation also starts with 1.

4. The last element in a list cardinally corresponds to the length of the list, thus allowing easy access with items.length rather than having frustrating (items.length - 1) arithmetic everywhere in your code.

5. Negative indices are symmetric with positive indices. Such that -1 and 1 respectively refer to the last and first element, and in the case where there is only one item in the list, it matches the same element. This convenience allows for simple left and right access that offset notation does not provide.

6. Non existence of an element can be represented by 0, which would conveniently code elegantly as if( !items.indexOf('z') ) return;. Rather, one must decide upon whether if( items.indexOf('z') == -1 ) return; is philosophically more meaningful than if( items.indexOf('z') < 0 ) return; with offset notation despite ignoring the asymmetry of the equation.
Capturing the Energy of Slow Motion
Indeed, and this is also consistent with C being closer to the metal than Pascal. At a hardware level, a typical implementation for array access was to have a base pointer plus an index, where the base pointer points to the start of the array, and the index is the element number. I got used to zero based arrays thanks to assembly language, long before learning C.

I don't know if this is still the case -- my understanding of microprocessor architecture is about 30 years old.
Secure the News: Automated tracking of HTTPS adoption by news websites
You do realize most of the legacy /8 owners are actively using them, right?