skysight-inc/HackerNews huggingface dataset:
Yeah, I would also love a "CoffeeScript for C". Honestly, I think C is a rather overrated language--it's liked not because it's good but because it's the best at what it does. And best is only a relative measure!

The most promising thing I've seen is CIL[1][2]. This is not a language per se, but it follows the same idea as CoffeeScript: simplify and get rid of stupid edge cases and odd syntax. The difference is that CIL is designed as an intermediate language (hence the name); it's a target for a DSL, compiler or code generator more than a language proper.

[1]: http://www.cs.berkeley.edu/~necula/cil/index.html
[2]: http://kerneis.github.com/cil/

For embedded programming, I think a DSL embedded in Haskell or OCaml outputting C through CIL can give you all the benefits of C without many of the problems. More importantly, it gives you a power to abstract that C sorely lacks, as well as a nice type system.

There are some existing DSLs in this vein (that is, generating C rather than using CIL necessarily). One example I came across recently is atom[3], but I haven't used it (or any other language like that). It's certainly something to keep in mind.

[3]: http://hackage.haskell.org/package/atom/

Of course, all these DSL-based approaches are a larger departure from C than CoffeeScript is from JavaScript, but I think that a good thing.
The first part is always making the list of features you want to have, these are the ones you value most and don't want to compromise on. You should write them down maybe hang them on your wall to remind yourself. Go through the list and try to find out if no features conflict with each other. That a language exists that has both features is usually a good sign.

After that comes designing a grammar. How do you want to express the features? This is a fun part. I start by selecting a small program I think should be easy to implement in my language, for example a coffee machine, a small web application, a mathematical algorithm (like fibonacci). Find some you think should be written in your language, and then just do it. Be very careful in that everything you want to express is actually expressed in an unambiguous way.

When you think you got the idea of your language down, now you write it down formally. This is where it gets a little complex so I'm not going to fully explain it (you can mail me when you're at that point @tinco.nl) but the basic idea is that you learn EBNF, and pick a lexer/parser generator (there's multiple in every language, even javascript).

Depending on what features your language has this can be very hard, Ruby for example can only be parsed and lexed at the same time so it requires much hand tweaking.

Depending on the particulars of the language it doesn't really matter in which language the compiler is written, pick one as highlevel as you can. Compilation speed is only important once you have a reference implementation.

Then a rather difficult step, the code generator. It takes your AST and turns it into executable code. For CoffeeScript this means turning it into Javascript. For C# it means turning it into CLR bytecode, for C it means turning it into x86 machine code.

I recommend that as a target language you pick a language that is as close to your desired feature set as possible without conflicting with any of your features. A conflict here means either a lot of work to implement, or incurring a too big performance loss. Pick a low level one like LLVM or CLR bytecode if you need good performance.

And then you're done. Now you have a reference implementation you can focus on making it run fast (by selecting a lower level target language / implementing optimizations) and on making a standard library.
As I said, it means that code would be written to Linux specifically. What works on linux, what is fast on linux, etc., would be what people write to.

So if someone invented a new kernel that is better than linux, it would have two problems: The usual problem of getting adoption and interest in a new project, but also the problem of all existing code being designed with linux in mind.

Whereas today, people generally try to write code that runs well not just on linux but also on other kernels. Not because they have lofty ideals necessarily, but because there are other kernels.

If we had only linux, that wouldn't be the case.

This is the basic question of standards. Open source is great - as I said above, I have been a huge supporter for a very long time - but standards are an orthogonal issue to open source, and just as important. Writing to standards instead of the bugs/idiosyncrasies of a single implementation is the only thing that makes it easy for new implementations to show up. And standards are dead when there is a single implementation.
There are corporate exceptions. For example, Google seems to be working on a few big problems, such as the self-driving car and Google Glass.

I'm not entirely sure I would classify Google Glass as a "big problem." Self-driving cars can address driver safety, fuel efficiency and route efficiency, among other things and therefore certainly rank up there. Google Glass, although I like the concept and very well might even purchase a unit when they become widely available, seems to address the same areas already covered by smart phones, just with a new interface. I think there are huge strides that can be made in the area of pervasive computing, but I'm not sure Google Glass is what will propel that.

(I would love to be proved wrong though.)
"congress shall make no law abridging freedom of speech unless that speech helps people download the avengers" ?
Oh, sorry, I reloaded the page and played the game again to the end this time :) Thank you for the fun!
But there are other data points. Stanford's rise to prominence in the 1960's (people forget that for quite some time it was a tiny college with no notoriety at all) was driven by almost exactly this kind of thing: they came into a huge endowment and embarked on an affirmative program to recruit top-tier talent in a big list of fields. And it worked.

Obviously details matter. A university in Riyadh is going to be disadvantaged vs. one in Palo Alto, but the idea that professors can be encouraged to move by big paychecks shouldn't be controversial.
Just a suggestion, but perhaps you should put one of the videos from that YouTube channel on the homepage? It would perhaps made a better statement about what your technology can do because you'll be able to "see it in action" without having to find the link to your YouTube channel.

EDIT: Your YouTube link on your homepage under "On the Web" points to your Twitter account!
Facebook has every right to promote paid posts, and Google has every right to promote paid links despite not exercising it. And we as users have every right to decide whether we find the Facebook feed and Google search results relevant and useful based on that. When Facebook's policy starts effecting the quality of their services for users and companies, people will stop using it, just as if Google's search results lowered in quality people would switch to something else.
> Power is still in the hands of those who have bought it.

As former Presidents Steve Forbes, Nelson Rockefeller, Ross Perot, Donald Trump, John (Heinz) Kerry, and Mitt Romney clearly demonstrate, money is all that matters in politics.
I agree. But then the great thing about Linux is we don't have to use the layman distribution.

If someone wants to put the time and effort into making something that is great for my grandparents but awful for me then more power to them.

Meanwhile the rest of us can stick to the distros that are suited to our needs. I think this state of affairs is much better than any one operating system ruling. So long as we have binary compatibility among the Linuxen then I'm happy.
Point taken. I should have paid more attention, I did not realize this was being passed off as something like that.
Do you have a link to this assumption? I would really like to know.
Or you use the exposure compensation setting.

But yes, the metering software in a camera does not know how the scene "should" look like. It can only assume that you want a "properly" exposed photo - such that both under- and overexposure is minimized. If you want something else, you'll have to tell the camera what you want.
What kind of problems do people in the midwest have? Midwest problems sound legit.
On top of what others have said, let's not forget thermal noise - I can't find it right now but I remember a beercooler-as-SLR-cooler hack someone used to near-freeze his camera, making his long exposure astronomy pictures much less noisy. Also, I've heard that because of this it can be better to shoot a lot of medium-exposure pictures in burst mode and additional-blend them afterwards than having the sensor capture for, say, ten minutes non-stop.

So, since the heatigng up in turn depends largely on current running through the sensor: how does that scale with larger/smaller pixels?
Should move to Portland.

The dream of the 90s is still alive in Portland.
Perhaps there are still too many "small problem" jobs that are profitable to solve so the capital is not out looking for the 'big' ones.

Of course the imprecision of 'big' and 'small' in defining problems is also an issue. You can have 'big' problems which exist not because of the science, but because of the structure. Today we were reminded that its a 'big' problem to build a house in South Florida that won't be eaten by a sink hole. Earlier we were reminded about building on eroding beaches. But those are actually "easy" in the sense that you could push piles into bedrock, 75' below the house. But we don't.

Bill Gates has made it a priority to solve some 'big' problems, sanitation, malaria, to name a couple. Other foundations have similar goals. So they are out there but as the other has seen working on them when they aren't self funded is hard to achieve.
Sorry I did a define on usurping and ended up being pedantic because I don't believe its true.

I understand all the concerns about how it will impact the global community; But isn't it generally seen that competition is good, and who's resources is it spreading or fragmenting?

* A distribution who tries to cater to everyone?
* Other companies employees who now need to understand and support technology it doesn't want to use?
* "Linux" users in double quotes because they want to be able to administrate all their different boxes with different distro's using the same old tools of 20 years ago?
* FOSS coders who spend their free time fixing bugs and adding features to projects they like and use?

Call me ignorent and please point out why. But I don't see any of the above as resource issues. The only problem is the "Linux" users and I feel if they start to see themselves as distro's users instead of a name given to a Kernel and Foundation, that problem will sort it self out.

By your account it seems like it already started and Ubuntu might be able to bring in a second or third option.

By the looks of it the greater community wanted Ubuntu to rather spend time in bending tools to do what it needs to do, to benefit the community. Without realising Ubuntu is a product of a company that has goals and can not always take the long road of community inputs, but at least it tries do be open as much as it can.

Which gets criticized a lot because it is a leader in a "linux" environment it mostly created from scratch.
I totally understand this perspective. FWIW, we're trying to be as open as we can about those "gotchas". You might be interested in our:

- Known limitations (http://foundationdb.com/documentation/beta1/known-limitation...)

- Anti-features (http://foundationdb.com/white-papers/anti-features/)

- Performance considerations (http://foundationdb.com/documentation/beta1/developer-guide....)

Talk to you in a few years :)
NYU has been been buying its way up the reputation ladder for the past 15 years.
Every time someone complains about tech businesses not taking on the big problems, I'm reminded of the early days of computer graphics when there were all sorts of complicated algorithms to figure out which parts of a complex arrangement of polygons would be visible on the screen. http://en.wikipedia.org/wiki/Visibility_problem It turned out that the best way is generally the comparatively crude z-buffer. (I'm not super educated on this, this was just a story my prof told me).

The point is that the big technical problems that need the most research muscle aren't necessarily that important, and you can't really know what the future needs ahead of time.
Awesome. I've been waiting a long time for camera makers to do something like this after they got tired of increasing megapixels. Really going to open up new worlds of creativity for nighttime and low-light indoor shooting. Even better - make a b/w version with 3x more sensitivity and better sharpness.
Good catch. I think the best examples would be daylight pictures though.
So I think we've achieved a "win" in getting the White House to say publicly that they support this. The original petition them to either convince the Librarian to reverse the decision (which I realized at the time was kind of impossible), or to champion a bill in Congress. They aren't quite championing a bill, but the response indicates that "The Obama Administration would support a range of approaches to addressing this issue, including narrow legislative fixes."

I'd much prefer a broad fix, repealing Section 1201 of the DMCA, So that's what I'm working on next. Having the WH says that there are real problems that need to be addressed by Congress seems like a "win" - but perhaps of the milder kind. A loss would have been if they defended carrier/CTIA positions, or simply stated that the Librarian of Congress has authority and that they can't take action. Both of those were definitely a possibility.

Generally, I agree about the danger of affirming processes that don't result in real action. If the bombard-congress-campaign I'm working on at FixtheDMCA.org works, we've got the abstraction in place to let other people create similar campaigns relatively easily. Which will hopefully those freedom-loving, democratic folk get more involved in the political process, which is ultimately what we want.

I think other similar platforms, for example Causes or Change.org fall woefully short in actually affecting change legislatively. Hopefully what we're working on will be better in those regards.
The algorithm probably works by showing paid posts to the people most likely to click on them, so people who don't click much don't get many promote posts or the non-promoted ones.
To be brutally honest, the readme didn't really sell the product. But then I guess that's not the point of the readme. However none of your other documentation (blog posts, Rebin product page, etc) explained what sets this product apart either.

I think I get it's point now - though I can't pretend to be sure of that. I can see that you're trying to do something a little different from CGI (which, incidentally is available for node.js as well), I'm just not entirely sure how different you two are. I guess the proof of that may just be in using it :)

Either way, it's good to see it up on github and I'm sure plenty people will be grateful for your work.
It isn't reasonable to think that an online petition site created by a presidential administration will directly result in passed legislation without the involvement of Congress.

Publicizing the issue and getting an official favorable response from the President is not actually nothing.

I'm curious what you propose as an alternative, which will allow one individual among several hundred million to feel as if they are politically empowered even when the majority of the country completely disagrees with them, meaning that in reality they have no influence.

Or is the point that special people (you?) should be empowered more than others?
Visualizing memory leaks in Ruby
> None of this precludes a changing of the guard in the future. Just ask the gcc guys about egcs and llvm…

By all means, ask the LLVM people about all the work they had to do to overcome the single-implementation status of gcc. clang must support gcc's arguments and behavior very carefully, and still cannot build all open source projects, simply because so many open source projects - including the linux kernel btw! - have been designed with only gcc in mind.

LLVM managed to overcome that through a lot of effort. LLVM is funded by Apple, a massive multinational, one of the largest tech companies in existence and of all time. Not all new projects have that luxury. In an ideal world, you don't need those kind of resources to challenge an existing implementation.
I, at least, read "19 microns square" as "19 microns times 19 microns", that is, (19 µm)² = 361 µm².
Why is it a red flag for a browser-based javascript library to require a browser for testing?
It's neat, I can get a flow going from left to right and it manages to stay stable. Doesn't seem useful till we have torodial moshpit though.
The Many Kinds of SPOF
60 minutes had a segment on Mercy Ship, which was really interesting and gives hope there's people ready to make change in this world:

http://www.youtube.com/watch?v=JPojrMobnyI
Right, Apple Shake is no more, but a lot of its features found their way to Apple Motion (which, at $50, is a steal) [1]. Apart from Sportvision for live sports broadcasting, the tools of the trade are still Adobe After Effects, Avid Motion Graphics, and Autodesk Flame.

[1] http://www.apple.com/finalcutpro/motion/
Oral Argument on DNA Searches Provides Scary Glimpse Into the Future of Privacy
#Devlinks - A curated roundup of links for the discerning developer
It's a good thing to read, even so. Melancholy and sad, but not something I regret reading. It's not as informative (in terms of actionable advice) as the article on HN about how to (politely) not talk to investigators, but it showed the depths of how adversarial they can make it -- it's a game for them.
It would certainly be interesting to hear Feynmans opinion of a 2 page "science" paper about drunken heavy metal fans smashing their heads together :P
StartupBus NYC On the Road with Readin.gs: Book curation from thought leaders.
>Republicans and democrats collude together, and are both paid off by almost every major company in the US to vote in their favor.

Not exactly. There are two things that win elections: Money and votes. And money only because it can be used to buy votes.

When the major parties agree on an issue it's because that issue has a stable equilibrium: Either the parties both side with the electorate or the monied interests because the number of vote-equivalent dollars gained in changing positions is not greater than the number actual votes lost by doing so (or vice versa). So you don't see many politicians seriously advocating legalizing murder or drastically slashing the defense budget, respectively.

But all you have to do to get them to change is to make the number of votes they lose by siding with corporations on a particular issue greater than the amount of money they get by doing so. You don't even have to get the parties to split -- most of the issues they're split on are intentionally wedge issues or detail-free hogwash like "small government" or the vague notion that rich people should pay more taxes. You can actually get them both to start siding with the interests of the people on a particular issue, you just have to make more noise than what the opposing interests are paying in dollars. It has happened before. The establishment of the EPA, the breakup of AT&T, the defeat of SOPA, it's a pretty long list.

But it only happens if we make it happen. We have to make them understand that if they don't do what we want, they lose more votes than the money they're being paid can buy them back. Getting 100,000+ voters to sign a petition that brings the issue to the attention of lawmakers may not be sufficient to achieve that on its own, but it ain't a bad start.
Man.... how do I get in on this racket?
In TypeScript it works out-of-the-box, plus TypeScript compiles to idiomatic JavaScript and what you write is much closer to what you get, and the transition is much easier understandable.
Give it a directory instead of a file and it will automatically compile any .coffee files in that tree.
That's true, but the constraints and nature of the medium open up new avenues of expression. We're not likely to catch subtle facial expressions-- or, for that matter, smells and touch-- for a long time, but we'll gain incredible new powers in the mean-time.

I'm thinking gesture capture (hands and body) and words/sounds in a virtual environment. You can fluidly interpret those inputs into sights and sounds which illustrate ideas. It won't be intimate in a physical sense, but it will be extremely expressive, and that's what the office needs.
I didn't say I'm offended, just that what you said is offensive.
Yup, great if it works for you and is convenient.

My wife and I have folding bikes that we use to bike to BART (closer than any casual carpool pickup).

When we lived in SF my wife walked to work and I took a bus. So our daily commute cost was $4. Now we both bart both directions and it's roughly $14 a day. $300 more expensive than before, but still less than our monthly rent was when you add it to our mortgage.
I don't really understand how the background css url() one is any different than using a tracking pixel, don't all client block background along with normal images?
The morning surf commute is killer. Also, they probably fear Monsanto more than most of us do.
Kind of depends on who you ask. Many of my friends in college came from farming families, which Monsanto and similar companies have largely eradicated. Those that remain are and have been in serious trouble or unrecoverable debt (which is how farmers spend most of their lives, interestingly). So in the rural midwest, the problems are far bigger.

Aside from that, in the cities... there are homeless here, and there are poor here, and there's unemployment here. It's pretty much the same as anywhere else; it's just smaller, which for some of us is nice. The cities still have the same stuff, they're just not as big, and urban sprawl isn't quite as bad as it is in some other places.

Or maybe you were making a joke and I missed it. Simple northern folk, we are... ;)
This argument is getting old. What was the first, the egg or the chicken? Was the first C implementation passed down on stones drawn from the void of the Universe? At some point bootstrapping was needed for the implementation to be self hosted. That goes for every supported platform.
I actually do share your fear. That's the reason I run Debian. I really hope this does not destroy Ubuntu as a Linux distribution (which I believe is the standard you and the poster I answered was referring to), as long as it remain based on Debian I believe there's little to fear.
Continuous integration usually run JavaScript tests in browserless-environments.
LLVM is still fighting GCCisms. (They even had to implement a subset of GCC RTL to compile the inline asm!) The sheer amount of effort they had to go through in order to compile, say, Linux, is incredible.

Besides, by your argument, LLVM should never have been started, because they should have contributed to GCC. Yet I'm very glad they did, because LLVM is much more hackable and this flexibility has enabled many new projects, like Emscripten and llvmpipe.
It sounds like the emails were mostly HTML mail that fetched external images. HTML mail is a terrible thing that should be stopped, and HTML mail that fetches anything external is a security problem. It's nice to know that these Fab people were thinking about their customers, but the bigger picture here is that HTML mail was being abused to violate those same customers' privacy. It may have been for a good reason, but it was still a bad thing to do and legitimizing the practice will make it easier to carry out attacks via email.

The solution to inbox clutter is filtering. If users are too lazy to make filters, then the problem is with the effort required to make filters.
Skynet Won't be that Bad
School of Haskell Goes Public