skysight-inc/HackerNews huggingface dataset:
California approves first US energy efficiency standards for computers
Russian Students Create Programming Language to Help 'Streetwise' Peers Graduate
Market share is irrelevant if you have to run at a loss to obtain it. I can steal all of Netflix and Hulu's market share if you give me a few billion quarterly and don't require that I'm ever profitable, care to invest in me? I'll have an excellent brand as well, everyone loves free TV.

The price is pretty low now, if you are confidant in your assement why not buy?
It's a feature! IIRC, if a business has a certain volume, they can make an agreement with certain card companies to have the subscription "forward" to the new card.
http://www.pyret.org/pyret-code/

> One of the enduring lessons from the Racket project is that no full-blown, general-purpose programming language is particularly appropriate for introductory education. By the time a language grows to be useful for building large-scale systems, it tends to have accumulated too many warts, odd corners, and complex features, all of which trip up students. The journal paper for DrScheme (the old name for DrRacket) explains this in some detail.

In that respect, the closest fellow travelers of us Pyreteers are the Racketeers (see how that works?). In fact, the first version of Pyret was merely a #lang in Racket. Nevertheless, Pyret represents a departure from Racket (for now and for the near future, at least) for several reasons:
Almost all exceptions cannot be recovered from gracefully. Those that can, are generally recovered/retried from within your own code not the libraries code.

An unhandled exception should always be a catastrophic error -- exceptions are exactly for situations where the code is in an unexpected situation. If you keep running, the application is now running in that unpredictable state. You just want to bury your head in the sand at a library boundary but I don't see why that's desirable.

A well designed program (that isn't written in Java) should only have a handful of catch statements.
Ohh, nice, I get it now. Thanks a lot!
The venerable master Qc Na was walking with his student, Anton. Hoping to prompt the master into a discussion, Anton said "Master, I have heard that objects are a very good thing - is this true?" Qc Na looked pityingly at his student and replied, "Foolish pupil - objects are merely a poor man's closures."
Chastised, Anton took his leave from his master and returned to his cell, intent on studying closures. He carefully read the entire "Lambda: The Ultimate..." series of papers and its cousins, and implemented a small Scheme interpreter with a closure-based object system. He learned much, and looked forward to informing his master of his progress.
On his next walk with Qc Na, Anton attempted to impress his master by saying "Master, I have diligently studied the matter, and now understand that objects are truly a poor man's closures." Qc Na responded by hitting Anton with his stick, saying "When will you learn? Closures are a poor man's object." At that moment, Anton became enlightened.

I regard rusts structs + traits as an object system. But I understand why they chose to not mention objects at all - they don't want to conjure up images of Java boiler plate and heavy mutation, which is sadly what it means to most people now.
DNA Vaccines: Next Defense Against Zika, Other Invaders
Is this whole comment train 'bike shedding'? Like tabs/spaces, brace indent levels and all the others, these arguments and explanations about why one way is better is like watching people run around a tree.
Yes. In fact, the way he used hyphenation at the end of a line made me go back and look at each letter to make sure it wasn't a font. They are very consistent, but not exact clones. Makes me wonder if there are ways to make fonts that use multiple versions of a letter to make them appear to be more hand written. I bet you could program one of these to do it: https://www.youtube.com/watch?v=ce35RAMMQug
Yea, I agree.

I'm also amazed at how much suckage people are willing to put up with in O365, but still consider it a better choice than Google Docs for the company.

Sharepoint is complete crap, and the off Sharepoint file syncer client is absurdly flaky, but there is a huge tolerance for that kind of thing.

Or at least, it's not the biggest factor when considering making year+ commitments to one office suite or another.

Price, familiarity and feature-richness are definitely in MS favor.
> Iterators have largely replaced the explicit specification of integer ranges in loop control.

I'd agree with that for lots of domains. If you're dealing with indices often you're probably working at the wrong level of abstraction. Indices are just error prone in general even if you count from zero.
FCC Chairman Tom Wheeler to Resign
IPv6 needed to happen a decade ago. We have exhausted the IPv4 space. I feel IPv6 suffered from huge usability issues, although it can be worked around with good provisioning systems that automatically setup DNS entries.

We're going to get to the point where spinning up a VPS with an IPv4 address is going to get increasingly more and more expensive, unless we make some huge strides in moving to IPv6.
If the goal is to teach functional programming with testing and signatures, is the awkward syntax (that isn't really very close to C#, Java, or Python) better than a set of macros on top of typed Racket?

It seems like it'd be easy to define a typedracket-derived #lang where you had to write:

(define (sum a b) : [-> Integer Integer Integer]
(where (= (sum 0 1) 1)
(= (sum 2 2) 4))
(+ a b))

And make the type signature and where clause non-optional with at least a single test.
Instagram has doubled its monthly active user base in two years
Sounds like the bank is just incompetent.

Many years ago, I deposited a check from my business account to my personal account, where both accounts were held with the same bank, and somehow, they messed up where the check was for something like $1500, but they only deposited $500 into my personal account and deducted $500 from my business account. Called them up, and they deposited the missing $1000 into my personal account but didn't take the funds from my business account, effectively giving me $1000 for free.

Tried calling them several times and explaining what had happened, though the customer service folks were useless. Seemed like no-one really cared about resolving the issue.

Eventually, after something like 9-10 months, someone realized and one morning, my business account was suddenly debited for $1000.
Dijkstra is of course brilliant and I recognize much of his tone is tongue in cheek and irreverant but sometimes I find his writing so nasty, pompous and arrogant that it becomes irritating; claiming, after a series of opinions about what he personally finds "nice" or "natural" that there is a "most sensible" way of doing things and that everyone else is being ridiculous. A tamer one of his offenses but still unpleasant.

I agree on the numbering but many people don't. He doesn't mention how nicely it works with the modulo operator, which is I think the most compelling reason. But having L[2] be the third index in an array is horribly counterintuitive and leads to countless mistakes. CS students when they begin do not like it, it is not natural. It is beaten into them by scary red error messages and instructors over months and years until they finally accept it.
Once a story is flagged, it can’t be made into an ad and promoted, either.

After a single flag from a single user?
It sounds like therapy is learning to run, and medication is a good pair of running shoes.
But that's no fun. ;-)

Seriously, fun is obvious for function to anyone. (also, defun in some other languages fits the bill) In contrast, def doesn't explain what is defined. (See Groovy where it is a real problem or JavaScript where you can use var for everything.)
I think I'll wait a few days when everyone forgets about this, so I can actually see the effects of my pings .. if it's still up.
There's a whole lot of work that goes into the high level abstractions you take for granted. The people making those abstractions care about this, even if you don't.
The Current State of Adaptive Design
I responded to a similar comment in another thread from a pedagogic perspective, I hope this answer gives some perspective on how we approach this point:

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

Also, Pyret can be used to make things – Pyret's compiler is written in Pyret!

As the language matures, the experience of writing small Pyret programs that grow into real applications will only get more authentic.
I have no idea how anyone can claim clojure is revolutionary or call it "the mighty clojure" with a straight face. I can only assume this post was written in jest.
The SAR feature is more than just positioning, I believe it involves the beacon transmitting to the satellite and the satellite relaying to a ground station. So it is another feature of the constellation.

A bit more here: http://www.navipedia.net/index.php/Galileo_Search_and_Rescue... .
> That won't be enough to get Trump another four years if he doesn't deliver during the first four.

Not to be confronting but Obama got elected twice. Did he delivered the first time?
A paid Pinboard account will store backups of the pages you bookmark, so that might be a solution.
I'm not sure how (- a - 1) would work, unless you've named something "-"?
Looks like this scrapes results from Google directly [0]. Doesn't Google detect and IP block Searx instances? I'm fairly sure it's against their ToS.

[0] https://github.com/asciimoo/searx/blob/master/searx/engines/...
He got acquitted of fraud. That doesn't mean he's still not liable for the $2M unless the bankruptcy court relieves that liability.
Hi, thanks. Primarily I wondered about actual mixing of ADTs and objects, which is limited even in OCaml, see e.g.:

http://caml.inria.fr/pub/ml-archives/caml-list/2003/06/bed28...

But does Pyret always translate an ADT to a class hierarchy behind the scenes? This example sure looks like it does:

data Animal:
| elephant(name, weight)
| tiger(name, stripes)
| horse(name, races-won)
...
end

fun animal-name(a :: Animal):
a.name
end
My $10/mo shared host is already spinning with ycomb+linkedin traffic. I shall upgrade...
Florida court says iPhone passcode must be revealed
First, I don't think that Schneier is ignoring the pains/problems of the minority. He said, "That alternative narrative [a Clinton win] would stress business as usual, and continue to obscure the deep social problems in our society. Those problems won't go away on their own, and in this alternative future they would continue to fester under the surface, getting steadily worse." I don't think he was referring only to racism, sexism, and/or anti-liberal sentiment. I think (but cannot prove) that he was referring to real problems (many of them economic in origin) that have devastated large swathes of the country.

Second: Complaining about Hillary winning the popular vote is like complaining that a football team lost even though they had the most yards of offense. The rules say that's not how the game is scored. Saying that the rules should have given victory to the other team is after-the-fact sour grapes.
Very cool! I was considering getting into pixel art as well as ASCII art, and this looks like a great resource!

Is there a book or something anywhere that tells you how to print different color characters/backgrounds to the terminal or to the screen? I know how to do this in CSS on a webpage, but not on a terminal.

Also, is there a way to see all of the characters in a specific font? The only thing that shows for me when I try to preview a font in Windows is "The quick brown fox jumps over the lazy dog. 1234567890" which is great for writing, but not so great for art.
> Programming beginners want to draw nice pictures on their computer, not struggle with understanding and implementing some recursive function.

One of the links under "set sail":
https://code.pyret.org/editor#share=0B32bNEogmncOMTg5T2plV19...
> Iterators have largely replaced the explicit specification of integer ranges in loop control.

Yes, explicit indices are less common than they used to be due to iterator support in languages. However they are far from being obsolete. I've been recently going through a lot of code dealing with numerical calculations and there you see hardly any iterator use.

Also, MATLAB code, which uses 1-based indices, is an absolute pain to deal with compared to Python/numpy, for example.
Not for long, if this catches on. There was a free C plugin, now you have to pay for CLion.
Aren't you assuming the implied change of power mentioned in the parent comment will come at the hands of a rational actor/state? That seems fraught with hindsight, no?
> Remind you of any Presidents-elect?

I kind of agree with you, but that's unnecessary and unfair. There's no evidence the kid's racist, sexually assaulted women, or worked with the Russians to undermine American democracy.
I agree, but even Uncle Bob advocated TDD not as a religion of itself, but as a means to achieve the underlying goal - test your code.

In one of his articles he mentioned that there are very few cases where he deems it acceptable to not write unit tests immediately, but one such scenario is where you develop your code interactively using a REPL. Of course it's still better to then create the unit tests for regression testing, refactoring etc.

But the point is that the most important thing is simply that the code is tested somehow. Basically what agentultra said above.
He was acquitted because they charged him criminally instead of in civil court. He should have had collections go after him while he deals with wage garnishments, not jail time.
Here's my take, as someone diagnosed with OCD/Anxiety.

Life can get to a point where it's miserable with OCD. It is exactly like a frog in water that's slowly boiling, that you don't recognize things are getting as bad as they are until one day you just kind of feel REALLY shitty and recognize something is wrong.

Medication can really help get over that hump in treatment, and honestly has made it possible for me to accept the problems for what they are. This allows me to move into a "better" place in my own head and be more open and ready for therapy, which I believe gives the far more valuable tools to overcome problems.

I have seen a few different doctors in my life, and NEVER has one of them only recommended medication. In fact most have said exactly the above, that medicine should be an enabler to make other therapy more helpful. Maybe I've just gotten lucky with good doctors, but I kind of think this is a common suggestion.

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...
I have thought about that 10 more minutes and fortunately I get the same result as you: one can say of everything that "this is bullshit and the intention is bad". You dad got a new car? This is bullshit and the intention is bad. So my post achieve nothing good indeed.

So now, I have a question. I've noticed some people use a clever communication and social trick I call "word dropping". "word dropping" consists of forming sentences only in the intention to say or write a set of words because doing so can have an effect on some people. (Example of word set: de-risk, small market, big market, MVP, hire, key role, business plan, etc.) It is exactly like a text written with random words, it means absolutely nothing, but the trick is to do that with a limit set of words which when put together quasi-randomly provide a feeling of sense. One can see the disastrous consequences such a thing can have if people start believing into it. It's super powerful because word dropping cost nothing to produce and cost a lot to dismiss with proper arguments. This only hurts terribly.

I've found some people use plenty of social intelligence hacks like that, which works, hurts and decrease productivity. How do you protect someone from that? For example, say someone use word dropping to hurt me, what can I do? I guess I should read a book about that...
Halve staff?
The projet started as a learning one. I made some independent and experimental component from time to time, and then glued them together, rewriting some parts, ...

Why this kind of project ? Because I used Active Record (Rails), Entity Framework, played with Django ORM, ... and regretted that nothing similar exist in Go world. Instead of complaining I choose to do something, not building a full ORM by myself, but at least build something allowing me to have a better comprehension of the constraints (except of the classic "no generic").

I didn't choose to build another Go library thinking I'll build something better than others. I learned, and I got a library ;)
That's probably completely wrong. The patent landscape has changed dramatically in the past 5 years.
The likelihood they could extract significant sums of money from these patents drops every day.
Other side of the coin: I have a friend who went to a psychiatrist and was given an Adderall prescription. A couple years later he was hopelessly addicted, taking over 90 mg at a time. He may well have had ADHD but the drug ended up being worse than the condition. Amphetamine is not something to take lightly.
No you don't, it isn't an internal data type like Y2K. You just go from (20)99 to (2)100 to (2)101 ...
Is square a function or object/data structure result of operation?

Welcome to the Real World. Please make different entities look different.
Please don't post rage rhetoric to HN. Even if your underlying point is right, setting it on fire is bad for the neighborhood.
Shhh! That's on the horizon!

One of the frustrations of using Racket—which is macros all-the-way-down—is debugging. When you see an error message or use a stepper-debugger, you want it to be in terms of the code you wrote; not in terms of the code generated by some complicated macro which was glued together by a sleep-deprived graduate student.

One of the graduate students here in the PLT group at Brown, justinpombrio, is working on resugaring—taking a sequence of evaluation steps in terms of a post-macro-expansed program, and presenting them back to the user in terms of the surface-syntax of the language. (More on this at his website, http://justinpombrio.net/) We're just starting to prod at implementing Pyret's existing syntactic sugar in this manner, which will be a first step to a proper macro system.
Joe Fitzgerald Rodriguez, reporting for the San Francisco Examiner:

The cab pulls up to a red light on Third Street in South of Market, by the San Francisco Museum of Modern Art. A pack of cars flies through a yellow light, and one even drives through the first moment of a red light.

About three seconds after the light turned red, an Uber self-driving car can apparently be seen traveling through the red light at moderate speed as a pedestrian walks across the intersection on the right side of the intersection.

In its blog Wednesday, Uber wrote it launched self-driving vehicles in California without self-testing permits from the DMV because it has drivers in the vehicles. “We have looked at this issue carefully and we don’t believe we do (need permits),” Uber wrote.

Earlier Wednesday, a social media report spotted another self-driving vehicle running a red light near the Marina District.
This isn't a good comparison. Google specifically bought Motorolla to use their patent portfolio as a cudgel to keep all the other Android OEMs in line.
> ...Americans’ mental health has, according to some measures, deteriorated.

I wonder if these "measures" tried to account for the fact that the idea of "mental health" is something that we as a society have only recently tried to destigmatize and normalize. Seems to me that even just a decade or two ago many mental health issues were something you brushed under the rug or something that "other people" had to deal with but "never me". Could it just be the case that many more people are finally coming forward with issues that they had all along?
Depends how you use it. For buffering realtime data if latency is of chief concern then by all means, discard the old stuff. If the desired behavior is to block when the queue is full, then you need to check for an overlap.
People mess up the other way as well, thinking "a-b" is a valid identifier in Python.
actually much nicer (and shorter) with a real s-expression:

(println
(if (== (+ x y) 8)
"we add up"
"wat"))
We detached this subthread from https://news.ycombinator.com/item?id=13185671 and marked it off-topic.
I've had some experiences where it really helped. My supervisor uses a teaching stack based VM for his compilers class - it is slow as all hell but very simple, easy to get running, and it gives very good debugging info. Similarly, I can see the value in a simplified graphics API that let's you focus on the basic theory, or a simplified language with Hoare logic for writing loop invariants in an algorithms class.
Are PL geeks still arguing about this?
> We’ll use the reports from our community, along with other signals, to send stories to these organizations. If the fact checking organizations identify a story as fake, it will get flagged as disputed and there will be a link to the corresponding article explaining why. Stories that have been disputed may also appear lower in News Feed. It will still be possible to share these stories, but you will see a warning that the story has been disputed as you share. Once a story is flagged, it can’t be made into an ad and promoted, either.

So, "flagged" means "determined to be fake by a fact checking organization contracted by Facebook that disputes the article".
> In my case, I've found I write more readable, easier to understand code when I use tests to drive out my design.

In my case, I've found the opposite—when I use tests to drive my design, I end up with lots of tiny moving parts; each one individually is understandable, but the design as a whole is not, and figuring out how to do anything different is an exercise in frustration. I end up jumping between 2 or 3 files, trying to figure out where anything happens, because it's all been unit tested into perfect isolated pieces.
How dare you suggest non-programmers can't understand fun! XD (I'm only teasing of course.)
Money that you borrow isn't income because you have to pay it back later. Now, if the loan gets forgiven, then he would owe taxes on it.
Material Components from Google Design
OK: opinion time. Some folks in this thread don't understand how pedagogy works.

When these people talk about easy-to-learn, they don't mean what a lot of people in this thread mean. Def / fun is such an easy thing that it's a non-issue. Anyone can learn programming language syntax pretty quickly.

It's the semantics that's hard. When you first start learning, the things that actually trip you up and that you can't just look up in a cheatsheet in two seconds are things like: Unexpected behavior, bad error messages, hidden rules, hidden complexity, complicated control flow, code that doesn't do much but must be there anyway, arcane things that you must do to make the compiler happy.

In that way, you don't have to assume that beginners are stupid. A lot of these things happen because languages are badly designed, or because they evolve to have too much cruft over time in an effort to be general purpose and catch up with the times. For learning, this just gets in the way. With better tools, learners can tackle much more complex concepts much quicker. Once those take place, you can introduce the arcane weirdness of other programming languages, and it makes a lot more sense.
ok, so now the obvious question becomes, who fact checks the fact checkers?

i don't blame facebook, but the people that have been asking for this i guess are about to get what they deserve: more consolidation of the power of persuasion of the masses into the hands of facebook. want to instantly discredit a story? just UPDATE stories SET disputed = t WHERE ID = ?