skysight-inc/HackerNews huggingface dataset:
Reminder: You can already deduct volunteer-related expenses from your federal taxes, so long as you volunteer for a qualified organization:

https://www.irs.gov/pub/irs-pdf/p526.pdf

See Table 1 and Table 2 in the above publication.

I think this is just extending this to NY state taxes, limiting to OSS development, and capping it at $200. All of which is a bit odd, but I guess it's a foot in the door and symbolically recgognizes OSS.
I have been checking this site out lately and using it to download PDFs to read on my phone later. I really like it! The options to see most popular papers and to search by field is really nice.

Thank you Andrej for putting this together and maintaining it.
'item.add_to(cart)' seems to work fine from a gramatical point of view. It's only when we think in terms of ownership "The cart should own the item" that we choose the right order, no?
In other words, like GNU HURD. That design is very very hard to make correct and fast.

Correctness suffers because the UNIX API has all sorts of interactions between different parts. This includes atomicity. It's a bear to get this right with IPC.

Performance suffers because you are unable to effectively share data structures. This too relates to the interactions between different parts of the UNIX API.

Look, there is a reason GNU HURD is slow and suffers from incompatibility. It's a cute thought experiment, dominating academia around 1990, but it's not actually fast or maintainable. Experience has proven this.
As mentioned elsewhere, interfaces really a form of inheritance. They just generally have no implementation code in them.

I also very much understand the thrashing about that occurs when trying to abstract and inherit and compose my classes while making progress on a new idea. I think I early on solved it by just ignore trying to do everything The Right Way and write code that works to the solution. Then as the code evolved I could easily see where code was duplicated and begin grasping where things should be sharing code in some way. It greatly improved my efficiency AND made my code cleaner in the long run.
In the way we work at Pivotal, feature stories "earn" velocity, but bugs do not. So if attention is not paid to code quality, velocity will eventually trend downwards.

This is intentional, as it gives you a feedback loop on quality and helps to improve predictions of actual feature progress.

From there you can invert to points/cost per engineer/week.

Of interest, our average points per engineer per week on Cloud Foundry has remained largely steady over time and scale. I'm wary of that metric because it breaks a fundamental concept of measuring velocity (that points are only meaningful inside a single project).
cart.add(item) is also grammatical and less conceptually complex than any sort of "add_to" construct.
Which mirrors, as far as I understand, the current state of affairs at US universities.

In many countries degrees are state sponsored and you don't need to debt yourself for life just to get a CS degree.
I'm not sure that's true. I think that Go has much stronger inheritance mechanisms than, say, C# or Java, albeit also more foot-gun friendly.

type Doer interface {
DoIt()
}

type Foo struct {}

type Bar struct { Foo }

func (*Foo) DoIt () {
fmt.Println("Just do it!")
}

func Incite (d Doer) {
d.DoIt()
}

func main () {
b := &Bar{}
Incite(b)
}

One can transparently invoke Foo's DoIt on instances of Bar or, if Bar had its own DoIt defined, it would override that.

Foot-gun wise, of course, if you convert a Bar to a Foo and pass it to something, you no longer get Bar's version of DoIt.

However, anywhere that accepts a Doer accepts a Bar without decomposing it into a Foo, so Incite will invoke Bar's DoIt and, if Bar didn't define a DoIt method, it would still implement Doer via composition of Foo.

One might argue that this is composition not inheritance, but although it's implemented as composition internally, from the outside it appears that Bar isa Doer, even though it doesn't implement DoIt.

Usually, composition would require either forwarding methods which disguise the fact that composition is happening, or for external code to actually access the components directly. Go allows something that looks very much like inheritance.

(I'd also note that, in reality, inheritance is internally implemented as composition. What Go makes explicit is what implicitly happens in C++ or Java anyway.)
Just keep it simple and do HTTP/1.0, that's not all that complex.
Inheritance was wrongly added to the OOP paradigm by convention, not theory. Languages that tried to implement OOP used "classical" inheritance (C++, Java, Pascal, Python, PHP, etc), so it was handy to say the 2 concepts were related when they were never intended to be.

"Actually I made up the term ‘object-oriented’, and I can tell you I did not have C++ in mind." — Alan Kay

That's the pre-history.

The more recent history is that classical inheritance fought and fought to avoid multiple inheritance. Interfaces were poor substitutes that still only act as API signatures to match, rather than providing orthogonal-inheritance properties like a logging interface. Naturally, over time, composition based multiple inheritance exists in almost every classical inheritance language ... or soon will as codifying common mixin behavior just allows for better compiler optimization (https://en.wikipedia.org/wiki/Trait_(computer_programming).

The interesting question is if Classical inheritance or Prototype inheritance is superior and on what KPMs? Javascript, Lua, Erlang, and more have had a lot of programmer time spent on trying to convert the prototypical systems to classical inheritance idioms. Is this because most programmers are poor and the poor programmers reason better with a flawed system? Is it because they can't comprehend prototypical chains clearly? Is it because of the positioning/dominance of prototypical languages in their respective tech niches that they still exist?

There's lots to be said about the weaknesses of inheritance, but it's far from terrible. Programmers are lazy and so far, it's been the ideal paradigm. These blog posts/youtube videos/rants just seem pathetically misguided. Once someone can provide some real data, an opinion based on the interpretation of that data is something worth reading.
In terms of tool/system integration FreeBSD's ZFS is miles ahead of ZFSoL and this is unlikely to ever change. FreeBSD has its own userland that does not need to run anywhere else; updating it to integrate new kernel capabilities is comparatively easy.
This can simply not happen for ZFSoL in the same way, since it would split this integration over a myriad of projects and then still require a distribution to make all the right choices.

With regards to OpenBSD, I think it was at the last EuroBSDCon in Stockholm during Henning's talk when he said that "ZFS was not the solution" or something to that effect. Quite rich, I thought, coming from a platform where software-mirroring and disk encryption is an either-or decision (at least was at the time).
Democracy is usually the best, and dictators are usually bad at managing economies, but there are exceptions.

Every once in a while, people luck out and get a competent dictator with proper leadership & economic understanding to direct resources to appropriate areas for economic growth.

https://en.wikipedia.org/wiki/Park_Chung-hee

https://en.wikipedia.org/wiki/Lee_Kuan_Yew

Both brutal dictators; but widely considered to have done a fine job steering economies.
Because 1 packet every 5 minutes only comes out to about 30k packets per second, which is actually pretty small.
Would you also support Shape > Rectangle > Square?
Or are all your super classes abstract?
You will never own your data on a 3rd party platform so there was always this risk. Music industry was blind to it.

As silly as it sounds, email is still a great way to own the comms with your customers. OK it's not what it was, but at least you have control!
I'm not sure how you can seriously say that given the designers and the internal use at Google. But perhaps the universe excludes Google, they're too far ahead anyway.
The New Fetch API Explained
Exactly why I kept going back to- it's easier. By the time they get to platypus they're hopefully in the real world having picked up some of the additional knowledge required to solve it in an elegant fashion.
Cinema screens at home might actually get bigger than those at your local cinema very soon. How's that even possible I hear you ask? Well anyone who has tried a virtual cinema in VR will know what I'm talking about.

It's pretty clear to me that this is the way a lot of people will want to watch movies in the future once resolution in VR is increased. This will either by higher pixel density or a move to retina projection based technologies. Both of these things are likely to hit the market with the required resolution within the next 2-5 years.

I go to the cinema a lot, but usually only if I can see the film I want on to on Screen 1 - i.e the biggest one.

VR will negate the need for me to do that so often, though I'm still sure I'll go with friends once in a while.
> Think of it as getting a free car but you still need to pay for the gas.

The difference is that any service offering a free car would rightfully be seen with skepticism. (and in the case of game shows, you still have to pay tax on the free car!)

You can't say "free" in the marketing. No way around it. One-time low cost is fine, but not free.
Except that CloudFlare is kind of evil: http://www.crimeflare.com/
Hwang woo suk and stem cells?
My suggestion is an alternative approach to the headline proposal.
That's almost certainly a misattribution:

https://en.wikipedia.org/wiki/There%27s_a_sucker_born_every_...
I feel like frameworks like Meteor promote systematic use of websockets, and more and more developers don't even try to implement scalable stateless server code.
Both projects had clear tangible goals and a timeline to complete them by.
I think there's a better way to handle this. We remove the fee and simply ask each organization that gets a site for a donation. They will not be required to pay but we will encourage them to, larger donations could make up for those who don't pay.

Thanks for the feedback, I'm making the changes now.
GDP Doesn't Measure Happiness
It's a very biased walk-through of a bad example.

You'd do better to look at xv6. That's like v6 UNIX, minus permissions, plus SMP, running on 64-bit x86. It's very clean and modern C99.
That may be true but it's not responsive to his real point, which is that you don't need to understand computation to build a typical line-of-business application.

Companies used to build LOB apps in Microsoft Access, and nobody believed you needed a degree to use Access (plenty of business people figured it out for themselves, just like Excel). Now nobody uses Access anymore, but the web frameworks that replaced it aren't that much harder to use, and don't really involve a lot of complexity theory or parser generators.
Sometimes I feel I make more than I should. But I got there by identifying a need, proving myself for long periods of time, and convincing my employer I was completely necessary for the company. And I truly believe I am. It's all a game - It's a SALE! you are selling yourself at the highest possible price
Internet Draft: SMTP Strict Transport Security
PT Barnum - the pg of the 19th century
It's also using the word free in two different senses. Basically in the phrase "wants to be free" that's "free as in freedom, not as in beer." The meaning is that it's difficult to restrict the flow of information and you cannot reverse it. But then the author is claiming that information is free as in it doesn't cost anything. Then he's using the word information in two different ways, confusing "information economy" with data and then invoking some sort of magical osmosis by which an information economy doesn't involve money. Unpacking the chain of reasoning involved just in that single sentence, I see the following assumptions and arguments:

we have an "information economy"

information wants to be free

it doesn't cost anything to produce information

an information economy is one that doesn't cost any money to run

money is important to capitalism

without money capitalism doesn't work

since our economy doesn't require money to run, capitalism isn't working
I agree. I don't understand why community colleges can't provide something like this. It seems like an opportunity for them to be something other than a pre-4-year college.
This script is really hard to use. There are two invocations:

# chkboot

Checks for changes (once) then updates the file list. If you run chkboot again, it will erase the changes list!

$ chkboot-check

This basically just runs `cat` on a file made by chkboot.

Also, there's a long-standing bug where `chkboot -u` just doesn't work, making the mkinitcpio hook useless.

A better interface would be:

# chkboot-update

Updates hashes.

# chkboot-verify

Checks hashes and writes any failures to syslog/stderr/logfile. Return code tells you if it was successful.

Since you need root permissions to access many of the files in /boot, you really can't avoid running chkboot-verify as root.
Cameron Todd Willingham
Will you always be earning more than your peers? When it times come for a promotion or job switch, how will you research your worth?
With respect to Java, the getters and setters are automatically generated in an IDE if you want, so it's not all so bad. And if you get to a spot where your getter and setter needs to do more than spit out the value or assign it for some reason, you're really at the same amount of code.

It is definitely nice in C# not having to LOOK at all the damn getters and setter though.
Alright, sure, I guess some other sort of technology could be used.

But Koomey's law (amount of computation per amount of energy doubles about once every 1.57 years) has some hard boundaries that aren't all that far off. Landauer's principle / the Landauer bound will stop Koomey's law for irreversible computation by 2048.

And even for reversible computation there is a limit in the Margolus–Levitin theorem , which Wikipedia says (with a [citation needed] ) should run out within about 125 years, which, admittedly, is substantially more than 32 years.

But still,

the earth is finite. Exponential curves about it tend to be more like logistic?

Finitude. Scary stuff.
Disney was similar during its wartime efforts; all of its operations done in service of the military (some trivial, like ship mascots and badges; others less so like recruitment films, and yet others critical like classified training videos) at cost even though they were offered a standard premium.
That's a very good point indeed. One way or another the value of their screens will become negligible. They can force deals to keep them in business a few more years, maybe a decade, maybe more on the outside, but time and technology are definitely not on their side. They'd better have a plan B for making money.
This is a fairly long article, and if you're inclined to start skimming part way through then you should make it a point to read the last two paragraphs in full.
Hawking Gives Up (2010)
They certainly can: http://songbranch.com/?artistName=eminem&songTitle=the%20rea...
A Fast Twitter Alternative
Higher-end cinemas like Alamo Drafthouse are already adapting to this. Designated seating, tight controls on audience behaviour to create a more reliably pleasant experience, extra little perks like their great pre-movie content, plenty of showings of stuff other than current blockbusters, and much better food and beverages than the old overpriced popcorn and candy.
Weaker might have been the wrong word; it's more just different than anything else. Go struct embedding doesn't do much more than forward a method call to an inner struct:

>There's an important way in which embedding differs from subclassing. When we embed a type, the methods of that type become methods of the outer type, but when they are invoked the receiver of the method is the inner type, not the outer one. In our example, when the Read method of a bufio.ReadWriter is invoked, it has exactly the same effect as the forwarding method written out above; the receiver is the reader field of the ReadWriter, not the ReadWriter itself.

https://golang.org/doc/effective_go.html#embedding
17 billion $ spent, s/with little to show for it/which resulted in total ecological disaster in four major rivers/

During the summer these days, the state of the riverwater is humorously called "Nokjo (algal bloom) latte". See: https://www.google.com/search?q=%EB%85%B9%EC%A1%B0%EB%9D%BC%...

I'm actually happy that Park Geun-Hye is babbling about AI's. At least I can't think of any way that could do a long-lasting harm, other than burning taxypayers' $$$, but they're gonna do that anyway, so what's the difference?

Hopefully, in the next election we could find someone who could utter more than one coherent sentence at a time.
Not being an expert in start-ups (although involved in three) I would say you do not measure contribution purely by amount of work. Idea, market research, amount of risk taken, amount of capital raised / invested... Unfortunately "bricks and mortars" work is somewhere at the end of the list - you can get somebody else to do the work, which does not apply to other points.
Yes, the whole smokescreen about "All our divisions need to have a near-term profitability plan" is just completely unbelievable. For one thing, Alphabet can certainly afford a few pie-in-the-sky long shot projects, and for another, they don't seem to have a problem funding Go AIs with an even farther payoff horizon.

My guess is that the Boston Dynamics folks wanted to work on bipedal robots, and the execs back on the West Coast were worried about PR fallout.

That, and it's not that easy to sell "Don't be evil" as your company motto when you're building unstoppable steampunk automatons for the DoD.
Reverse Engineering for 3D Printing: Replicate, Replace and Improve Real Parts
This is actually pretty brilliant.
Well... No would doubt (is supposed to) DNA evidence. So if the evidence was planted, it'll be very difficult to prove otherwise.
>There's entire companies whose raison d'etre is to provide foreign IT labor at cheaper prices.

Then don't look at those companies. However for example Netflix seem they foreign employee very well.

> And they aren't held accountable for it, unlike murders; those at least are generally followed up on.

That's not true. They are often being investigated. But you're right the should be punished a lot more.

> By the way, it'd be worth spending some time sanitizing your data so that it displays correctly.

I'm already spending a lot of time doing it. The work is massive :)
It's hard to evaluate whether or not those examples make sense without some pseudocode showing how the classes are used.
clickable URL http://www.nativescriptsnacks.com/
> I'm not sure that the quotes you've put here portray a bias one way or another so much as a legal opinion (erroneous or otherwise)

John Yoo's legal opinions were used by the Bush administration to justify a system of torture up to and including permanent injury, sexual assault, and death. If he had issued these opinions in a vacuum, I would agree with you. Instead, he sought opportunities to provide legal cover for systemic human rights abuses.

The consequences of his actions seem predictable, and in my view that makes him partially morally responsible for them and it is fair to call him an advocate of them, in deed and word.

You can read about it in the CIA torture report and the DOD torture report:

https://www.amnestyusa.org/pdfs/sscistudy1.pdf

http://www.armed-services.senate.gov/imo/media/doc/Detainee-...

There are a multitude of US laws against torture, but Yoo and his intellectual cohort seem to think that the "Unitary Executive" is not bound by most laws, as long as that executive proclaims the actions are part of a war (which does not need to be declared by Congress, under Unitary Executive theory that rejects the War Powers Act).

Finally, I posted this snippet to point out that John Yoo has a history of dismissing limits to executive power to an extreme degree. Even if his theories are viewed outside of the moral consequences of his actions, I think it's important to know that his view on surveillance goes WAY, WAY beyond just warrantlessly listening to the phone calls of innocent people, all the way to, according to him, crushing the testicles of innocent people. I think this helps frame the discussion of the history of the Bush administration's abuse of civil liberties, though you are welcome to disagree.
GitHub got a new design
Why does it being WebAPI-exposed interface matter at all then? It is an extremely confusing way of phasing it. It literally doesn't matter, and even reading back if that IS what they meant then it is still a really circular way of wording it.
There are two excellent books that will answer most of your questions. The second book is harder to obtain (more expensive), as it is older. Each of the interviews are pretty detailed, down to nitty-gritty, often mundane details about the craft of programming.

http://www.amazon.com/Coders-Work-Reflections-Craft-Programm...

http://www.amazon.com/Programmers-at-Work-Susan-Lammers/dp/0...
I think this is pretty cool.

Funny how much trash people are talking.

Keep the internet fast.
The Chevy Bolt and Its Marketing Relationship to Tesla
>If your code reads do_something_to_foo(foo), then very often usually it really ought to be foo.do_something()

Personally I'd make an exception when using extension methods in C#. If you make an extension method which looks (schematically) as follows:

add_to_cart(this item, Cart cart) {
cart.add(item);
return item;
}

You can write code that looks like:

item.add_to_cart(cart)
.check_availability()
.do_something_else()
.etc()

Well, this example isn't the best, but you get the general idea.
The employee may not have to sue themselves; both the federal and many state governments have agencies that take wage and hour complaints and pursue employers on behalf of employees. "Civil" does not imply "not pursued by the government".
Compile time. False positives. Are some reasons why compilers don't do this by default.

You may also be interrested in tools like:

Clang-tidy: http://clang.llvm.org/extra/clang-tidy/

Address sanitizer: http://clang.llvm.org/docs/AddressSanitizer.html

Thread sanitizer: http://clang.llvm.org/docs/ThreadSanitizer.html

Undefined behavior sanitizer: http://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html

Cppcheck: http://cppcheck.sourceforge.net
I love this part:

The poor spendthrift vagabond says to a rich man:

"I have discovered there is enough money in the world for all of us, if it was equally divided; this must be done, and we shall all be happy together."

"But," was the response, "if everybody was like you, it would be spent in two months, and what would you do then?"

"Oh! divide again; keep dividing, of course!"
This isn't a book obviously. However, it is the tiny Lua code that became super human at Atari.

https://sites.google.com/a/deepmind.com/dqn/
https://news.ycombinator.com/item?id=11278065
I've added comments to the OP but to summarize:

OO inheritance is useful for codifying a limited set of real-world models. But to truly generalize, we need to stop pretending that it's feasible to make progress without actually investing the effort to codify state v time behavior contracts over software. Today, if anyone bothers to even try to document these behaviors, it's done inconsistently and not in a form that's readily usable by tools that help you through the maze of detail. This is a shame.

Re-usable software requires (a) strong contracts for data I/O (what we call API) and (b) state v time contracts in _machine readable form_. Conceptually, no hardware system on earth would exist if not for the fact that both (a) and (b) are formally defined. Don't take my word for it: go read up on state-of-the-art SoC design and IP blocks and ask yourself if exchanging _text files_ (IP blocks) is really any different than software. I think it's not.