skysight-inc/HackerNews huggingface dataset:
Funny you mention Olivetti, I recently learned they were huge in those days. Very fine design and 'better world' goals, very similar to Apple today.

trivia: it seems Olivetti was forced out of the Personal Computer business by bad financial games from http://en.wikipedia.org/wiki/Carlo_De_Benedetti cutting funds at a bad time.
Show HN: A real-time back end for AngularJS
Is there any public analysis of copyright/IP threat models for distributed manufacturing, both on equipment and content?
Fast-forward 5 years into using Git, I learned that git add and git commit is all you need to know to get started. I learned everything else, on the job and by need.

- git push when I needed to take work to Github

- git checkout when I needed to move between branches

- git merge when I needed to merge someone else work into master

- git cherry-pick I needed this to take commits from a non-fork to my project

- git bissect Debugging a bug introduced between releases

I also learned to use Github tools, SourceTree, the Command-Line and Bitbucket. If you want to learn git, just make a commit. Everything else will be mastered down the road.
I think your attitude is completely reasonable, and I'm with you on your skepticism. However I am pleasantly surprised that, for once, a software fad lines up with what is actually technically superior. Linus knows how to design software correctly.
Probably a controversial opinion to post here (not in that I think it is unique, but rather that I think there will be a divide in people who agree strongly and those who disagree strongly), but I view the JavaScript framework/library situation as a damning indictment of how terrible the language is. A constant churn of attempts to build a solid foundation upon a bed of leaky sand, each ultimately failing because no matter how well they were engineered you can't get past the whole sand problem... and maybe the whole sand problem will solve itself by other means, but only at a very geological rate due to all of the committee politics surrounding browsers these days.

IOW, JavaScript is going to be great next year. Just like it was going to have been each year for the past 10 years or so.
What's the point of a professor?
Any particular reason why Yesod isn't a good fit there? Is the team large enough where it makes more sense for you to roll your own and not deal with making it super generic?
SJWs Attack Open Source Software
Thanks for the correction! I wondered about that when I was writing it but didn't have time to go double-check.
aui-hn [at] amazon dot com
Solar bike path – the smart way
> Can snoop on cpu host memory via DMA

don't linux kernels use IOMMU mappings to protect most of the physical memory from arbitrary device access?
You know, I'd generally agree with the caveat that it is "currently" the most efficient. However, you also have to understand the behemoth that is the state. Fighting it is inherently very difficult by virtue of it not allowing competition. It's simply illegal to compete with them on their own turf (of which they have taken all).

And to top it all off, it is deeply ingrained into our culture at this point. So much so that children, from a young age, are told the rules and made sure to spread them to theirs. Simple logic get's thrown out the window by usually smart/intelligent people when you discuss the ethics of the state with them.
As someone who has had to fight to get tests which later turned out to be critical, I can't help but wonder we're seeing more articles like this one just as the government, having assumed much more control of the health care system, is desperate to find places where costs can be reduced.
When will people start releasing ES6 editions of things? Seems so old school when you can simply write

`class Foo extends Bar {}`
Yes, the API is ready and will soon be available at https://github.com/ascribe0
I worked on a 68K emulator that supported heap tagging, so you could:

- detect multiple frees of the same memory, even when pointers had been returned by subsequent allocation calls (e.g., alloc => A, free(A), alloc => A', free(A) would trap, where A and A' have the same program-observable values)

- trap reads and writes to free'd memory, even if the memory had been subsequently re-allocated

- do strong bounds checking (can't read or write heap block B with an offset of a pointer to A, even if you computed a valid address in B)

- trap reads of uninitialized memory (you did mean to zero that buffer you allocated, right?), clear down to "that read of 32 bits included 8 bits that weren't initialized, did you mean that?"

It wasn't perfect (you could do pointer arithmetic and smuggling operations that foiled the tagging), but we found some nice bugs with it.

You can approach this with MMU games, but tagging all your values is more powerful.
Great job. For me personally, it's very helpful to have an end-to-end tutorial, where all aspects of an (example) app are discussed. I don't have a CS-background nor many years of coding experience, so a tutorial written by somebody who does have the proper experience and knowledge and puts it all together is extremely valuable to me. That's why I'd happily pay a fee for tutorials like this.

At the moment I'm working on building an app in Node.js with Express and sadly, there are not many tutorials of this quality.
That's how I got my first job out of college. Actually when I walked into the interview room, they had my program on a projector, the code loaded into an IDE, and asked me to explain everything. Then they loaded their apps on to the projectors and basically did the inverse for me. A very nice interview. The final portion was their most junior developer who told me just to ask whatever questions I wanted that would help me decide whether I wanted to work there.
I like very much that the API is more "standard" (reflux, imo, has some strange patterns) -- also, due to the ability to instantiate every aspect of the pipeline, you get isomorphism for free, and testing is much, much simpler.

Also, can't hurt that the library was designed and implemented in ES6, which is what I've begun moving our architecture towards!
I would say that Flummox is a slightly more verbose Reflux, written in a way that is somewhat more future proof and adaptable to change.
"Yeap, celery is really when i started to feel the pain of using python rather than a more enterprise-ready language&framework"

Say what?

The suckiness of celery doesn't come from its use of python. I'd be interested to know how you consider python not to be "enterprise ready".
Designing an Abstract Development Server
Yesod provides a ton of functionality related to the larger problem of building a website with Haskell, but we're only using Haskell for JSON services.

All those extra bells and whistles are wasted on us. :)
I'm sorry to be one of the people risking derailing the actual discussion. But there is a traditional plague in this world of using nearly meaningless filenames for academic papers. In this case, the filename is the concatenation of the authors' last names!

I very often have dozens of pdfs in my download directory whose names provide very little clue as to what they are. Authors of papers: it is perfectly OK to use meaningful filenames, I promise!
"But they are not totally driverless. A human driver still sits behind the wheel, ready to take over in case of a lane change or unexpected hazard."

Autonomous with a requirement for a human driver doesn't sound like real progress. Title might be a little misleading.
Organic Electronics Deliver Pain-Canceling Molecules
Here's a class about this subject (looks pretty barebones, though): https://github.com/mattwaite/JOUR491-Storybots

Overall, doesn't look like there's much out there beyond (relatively) simplistic Twitter bots (e.g. https://github.com/xdamman/ReplayLastGoal or http://niemanlab.github.io/openfuego/).
The promise in 1985 was Smalltalk; the reality was Java. Your argument rests on an industry bait-and-switch.
It's at the bottom of the article, but I think it's worth noting that Jon Peterson does some impressive work for role playing game historical documentation. His book Playing at the World is a labor of love, giving not only a detailed history of the early days of wargames and tabletop rpgs, but a history of the science fiction and fantasy genres, a history of games in general, and how those lead to the creation of modern rpgs. He then wraps things up with a chapter on how tabletop gaming influenced the star of the video game industry.

The scope is huge, the book is giant, and he published it under his own imprint so that no one could tell him to cut things. I found the section on Kriegsspiel particularly interesting. Highly recommended if you're an enthusiast for the subject, otherwise you'd probably get very frustrated.
Humans are yet to master building cities on land let alone a floating one. Dealing with the logistic and infrastructure of a floating city will most likely make it too costly.

For small nations countries in need of land like Singapore sucking out sand from the ocean and refilling it will still probably be cheaper safer and more valuable due to the low maintanance filled land requires relative to a floating one.
They built a custom CPU on an FPGA that is memory-safe for widely used C undefined behavior. They still need "fat pointers"; this doesn't let them run existing executables, or anything close to them. It's neat that they were able to do this. It's painful that they had to.

The "container"/"offsetof" problem is strange. If you only have a pointer to a member of a struct, you don't really know the type of the containing struct. You don't even know if there is a containing struct. "offsetof" implies an unchecked cast, violating type checking. Why is that used anywhere, let alone in the Linux kernel? (In decades of C/C++ programming, I never wanted to do that.)

This is why I really hope Rust can replace C. (As I write occasionally, "Rust guys, please don't screw it up".) Rust is complicated, but it's simpler than the semantics of C undefined behavior. That may be the answer to use on C programmers who think Rust is too complicated. All those little issues in C, such as "can you dereference the element one past the end of the array" and "after dereferencing, what happens if you then test for a null pointer" require a good understanding of the machine model and how an optimizing compiler works.
When I started investigating isomporphic strategies with Reflux I stumbled upon this thread (https://github.com/spoike/refluxjs/issues/144) which made me realize that if I didn't switch quick I would have some terrible technical debt on my hands in the coming months. I started looking for alternatives and found Flummox, which is lightweight, isomorphic, and written for the future via ES6-7 features like async await and classes. (Once you start using ES6 classes with ES7 classProperties turned on via Babel -> stage 0 you'll never want to go back to the old way of writing things.)
MSN Messenger made idiotic amounts of money with custom emoji packs. I don't know if it was significant - like, was MSNIM ever cash flow positive? Doubt it.
good answer, that's the kind of thing I was wondering about.

I figured since HN was mainly "hackers" (builders, tinkerers, doers) that this would be a good forum for this type of open ended question.

I was primarily interested in if the answers would be centered around self-preservation, rebuilding of society, rebuilding of technology, or preservation of the arts and philosophy.

Second, I was interested in real, pragmatic solutions that people were implementing.

For example, since the paper book is becoming less and less important in our daily transfer of information, then less and less is being written on paper about knowledge in building, agriculture, and technology. If "google it" becomes impossible for the common citizen, what would they do for information?

I know in my own personal life, I am reasonably accomplished in the academic area, and working professionally as a software engineer. However, I have not bothered to commit to memory the breadth of information required to sustain myself and my family if we were suddenly thrown into a "dark ages" situation.
I've also seen very simple object systems built purely using closures in Lisp. I can't remember where I've seen it, but it usually involves the bank account example. Since no other Lisp features were involved,until you start glossing over with macros, this could be replicated in JS. It'd look strange but it's certainly possible, e.g:

var savings = account(200);

savings('deposit')(200);
console.log(savings('amount')); // should print 400

savings('withdraw')(200);
console.log(savings('amount')); // should print 200

If you can build an OO system in terms of lambdas and closures, does it mean the two are incompatible? I don't think so.
I still don't understand these "too many frameworks" articles. Is there some power out there that I don't know about that is forcing devs to use the latest framework?

We're still allowed to use what we want, no matter how new or old it is, right?
Could a University of Toronto Student Get into Harvard?
That's taking a pretty kind view of the Fed's adherence to the Constitutional limits on its power. If it were important enough to the Federal government, Congress could use the club of taxation and federal grants to force the states to toe the line. See for example the peculiar uniformity in laws related to the drinking age, drivers' licenses, etc.; see also the questionable legality of the Affordable Care Act.
Sure. It's pretty straightforward. Dawkins is making an argument against intelligent design. He does so by setting up an artificial argument:
1) The eye is "backwards"; light has to pass through the wiring
2) any engineer dislikes disarray; why would they design a photoreceptor where the light has to pass through the wiring
3) therefore, it's unlikely that eyes were "designed", for if they were, they would be much nicer and more tidy.

(see The Blind Watchmaker, "This means that the light, instead of being granted an unrestricted passage to the photocells, has to pass through a forest of connecting wires, presumably suffering at least some attenuation and distortion (actually probably not much but, still, it is the principle of the thing that would offend any tidy-minded engineer)".

In short, Dawkins argument is weak- it appeals to design tidiness, not to any real facts or logic about how evolution works. But as this modelling (oh, and I see they did some experimental work as well) shows, it's just as likely that the mammalian eye configuration isn't as bad as he said.

The arguments against intelligent design should be based on reality. Dawkins is probably right about this sort of thing (that there is no ID), but he's typically right for the wrong reason (specious logic).

(Dawkins then further argues against parallel evolution, although we're now finding out it's also quite common. he's wrong about a lot of things).

I should further argue that finding the eye in this configuration "backwards" according to some, is really just applying human aesthetics about how things should be engineered, where biology is a combination of happenstance and optimization. I suspect, as we tease out the biophysics of the eye further, we will find many more examples of how Dawkins' simple logic (which isn't really logic, but more based on aesthetics and intuition) doesn't really explain things.
Why not write in ES6 and transpile downwards to ES5? You're just fighting the direction of the wind otherwise. ES6 feels much, much nicer to work with in nearly all ways.
Hey folks, author here. Happy to answer any questions.

Shameless plug: we're hiring. If writing Haskell to improve education seems like a good idea, check out the role at http://functionaljobs.com/jobs/8823-haskell-web-engineer-at-...
> and that’s one reason we should routinely test rape kits

I don't get it, what else are are rape tests for if not testing? Why does this even need to be stated?
Solving programming challenges: Live video
"Is there some power out there that I don't know about that is forcing devs to use the latest framework?"

Yes, It's called the Internet. People read articles about how X is the best. thing. evar. And this is perpetuated through many blog posts and, well, a lot of developers actually believe it.
1. Sources for all packages in debian.

2. Source for freebsd, openbsd, linux.

3. Intel and AMD manuals.
JavaScript libraries are a bit like office politics for front-end web developers -- basically something that feels like work and "advances your career", while in truth it's just a way to avoid doing the real work with actual customers.
Completely agree, and I say this having written mostly JavaScript professionally for the last several years. It's sad to think of the millions of engineer-hours spent trying to make JS usable for today's applications.

IOW, JavaScript is going to be great next year. Just like it was going to have been each year for the past 10 years or so.

ES6 might actually be ok, in the sense of "about as good as Python 2.3".
Take a look at Git from the inside out [1]

[1]: https://codewords.recurse.com/issues/two/git-from-the-inside...
Does automated factory equipment with a human overseeing its operation and correcting error cases sound like real progress over what came before? If so, why doesn't it sound like progress when we have an automated truck with a human overseeing its operation and correcting error cases?
The other thing I asked him about was BBQ stall.

He had done some nice work providing evidence against the "it's just fat melting" theory (he prefers the idea there is water vapor around the meat, absorbing the heat). I suggested that one could wrap the butt in aluminum foil, which would eliminate the evaporation and cause much more of the low heat to stay within the body of the meat.

That would presumably affect the bark, which is why he suggested the deep fry, although I don't think that's really the same as a slow bark.
Wait until the developer learns they need to support unicode.
The Rogue Data Scientist
That's more of a Hobson's choice than a negotiation since you are not negotiating in good faith if your game plan is to leave if you don't get what you want. The objective is for both sides to start with what they want and make concessions if necessary to achieve what both sides feel is (the F-word), fair.
Now you're being old school. It's called ES2015 now! ;)

(edit: app I was using chopped my comment...)
If trucks become completely autonomous what will prevent someone from standing in front of one causing it to stop and then robbing it?

Unlike with human drivers that may not stop if they believe they are in danger of getting carjacked I assume an autonomous system will be required to avoid hitting a human at all cost.
> Have you felt this, and how to achieve your goals or master something without giving up?

Personally I have functional goals when I'm interested in an activity. Learn C++? Okay, how do I write a program that will draw a box to the screen? Now how do I shade it? How do I do that with less overhead....

I give myself six months for tasks like that, often it takes considerably less time. Sometimes a matter of days or weeks. Very occasionally I run into a 'To make an apple pie, first create the universe.' style problem and it takes significantly longer in those cases. But at least then I've got a basis to compare how hard the problem is to, and can cache out the steps that need to be taken. Worst comes to the worst I get to the end of the six months and assign new schedules based on how large the problem stack has grown.

If you think of it like a constraint for a problem: You're starting off and your constraint is 'Best in the world' and that's a very narrow target to hit. But if you start the other side of things, 'my constraint is to draw a circle' , 'now it's to shade it' 'Now it's to give the circle a nose' ... then it's a lot harder to fail, especially if you're generous with your time in those sorts of activities.

You're starting off with constraints that are at the edge of your current skills that way, rather than constraints that are... not feasible to reach that quickly.

Even then, I would warn against a desire to be the best in the world: There are seven billion people in the world. If you define your success along some particular line as being the best, you are comparing yourself to someone who got all the genetic breaks, started when they were a kid, and finds the subject rewarding enough to work on it more or less continuously.

Chances are really bad that you're the best in the world at anything. Like 7 billion to 1 against. Even worse, the sacrifices demanded of people who are truly the best in the world in terms of some particular activity often seem to leave time for anything resembling a life. And for what? The returns on being the best in the world are rarely in line with the effort it takes to be so, or at least so it seems.

^_^

tl/dr: Small steps, consistently applied.
I think you're right, with n maybe using the shaft of the stick on the bell of the closed hat.
For anyone not familiar with the story, Daily Kos has a pretty good summary. http://www.dailykos.com/story/2014/09/18/1330554/-Galt-s-Gul...

TL;DR: Ponzi scheme, involving environmentally protected land, no water rights, wage theft, lawsuits.
BassCSS is very different from Bootstrap or any other CSS framework. It's more like "classed inline styles", so you build your element styling like 'border border-blue blue bg-white p1 m1' (blue border, blue text on white background, 1 unit padding, 1 unit margin) e.g. you mix-and-match different CSS classes to style your elements.

So, I was thinking using React + BassCSS, and build the class string in my React components. Not sure if it makes sense, but at least it would probably be a bit more manageable and faster to develop than inline styles. Inline styles could be added on top of that of course.
You don't cite a source for your claim that serial rapists are rare, and the available data tends to contradict it: https://yesmeansyesblog.wordpress.com/2009/11/24/predator-re...

From that link, which discusses psychologist David Lisak's studies of rapists: "The last time I discussed Lisak’s work, I focused on the proportion of the population are the serial predators: a limited group within the population who are recidivist rapists, and who account for the overwhelming majority of rapes, and for a large portion of the child abuse and molestation and the intimate partner violence."

Do you have studies to cite that back up the opposite claim? It's perfectly possible the reality is unclear, but everything I've read about the issue supports the idea that the majority of rapes are commited by significantly than 10% of the male population.

This suggests a view in which rape is seen as a "predator/citizen" problem rather than a "men/women" problem, given that male rapists are about as rare as false rape reports (FBI data suggests that 8% of all rape reports are false, and Lisak and other's work suggests that about 8% of men are rapists, with as few as 4% accounting for 75-80% of rapes).

As well as having the potential to open up new ways of addressing rape (and maybe identifying serial rapists early) this change in perspective would allow a more equal focus on male victims, whose numbers are not well-known (male under-reporting rates are almost completely unstudied and plausibly higher than women's).
Since I also wrote a toy VM where the toolchain supports linking of different code files (albeit the runtime doesn't implement CALL / RET) I decided to make a blog post about this specific topic.

https://netspring.wordpress.com/2015/05/10/toy-virtual-machi...
Working as a foreigner in SA... There is a big shortage of good developers here, trust me. And many companies are willing to help out with getting a Visa. Might not be as fancy and "*.io"-domained as the US/EU jobs, but they're there and willing to hire anyone that is good.