skysight-inc/HackerNews huggingface dataset:
Not surprisingly, most screenshots don't present a lot of data, which is where things usually get problematic. Programmers often get criticized for their fruit salad GUIs, but usually that's the result of having to present plenty of options and data.

Sure, the first thing you'll hear to that issue is "Do you really need to have that many options/paths/data?". And granted, quite often this is applicable, although not always in the same way (hiding rarely used options vs. eliminating them, i.e. "advanced options" vs. "only one friggin mouse button").

But often enough, presenting lots of data and hierarchies is the whole point of an app, especially when it gets more about enterprise systems than "what pancakes do my friends like" web 2.0 frippery. And that's where the ideas coming from ad design and typography kinda fail.

Which is why people like Tufte are so respected, as they go beyond this. If I recall correctly, in the initial review of the iPhone Tufte recommended against even the minimal margins of the photo gallery, removing white space for a better experience. And yes, knowing the rules before you break them might be a part of that...

If you don't do this as your full-time job, I'd very much recommend going for "usable" instead of "gorgeous". The latter is very much a 80/20 deal, where you spend insane amounts of time, asking co-workers and A/B tests just to get that final ratio or pixel size right. Whereas most of your customers still have Nappa Valley as a background picture behind their copy of IE9...

I don't really miss under construction signs and rotating skulls, but I do have the slight feeling that a lot of what designers are doing will be like early 20th century typography in a few years, where even some of its major proponents aren't quite sure about it anymore...
Chasing an EPROTOTYPE Through Rust, Sendto, and the OS X Kernel with C-Reduce
> I just knew some people would respond by saying we shouldn't blame the tools

Usually, I'm saying the same thing when it comes to misapplications of science or technology. However, when the "tools" are making our decisions for us, I think we can safely blame the tools themselves. At least in the sense that the tools might need to be re-engineered.
Anyone living on planets orbiting those stars would not see many other stars at all, right?
It contributes to their failure because third world advertising rates are quite low.
Getting Started with WebRTC Data Channels
There is pthreads, PCNTL on posix systems, and Semaphores. The Implementation is pretty basic, but it works. The main issue are no native framework bindings other than the very old PHP-GTK... (edit, just read about wxPHP and QT...whoops)

Honestly, I still have a soft spot for PHP, mainly because its so easy to develop small things quickly. I'd love to see it move into other applications, much like JavaScript has...but the world is against the language, so I dont see that happening.
The other thing you can't properly get using a map is precedence. By building an array you can go through it in order so that middleware is run in the order it was defined in the code.

That way, if you have any route definitions that match early on, especially if they allow execution to continue ( by calling next() ), they will run before any following code does.

This allows your code to be very expressive and intuitive when reading it, as things have a defined order.

I imagine the recursion is also done so that you can use a route object anywhere in that ordered stack and it will apply all its own handlers, in the order they were defined in the code.
I think Debian's supported parallel script execution and dependency resolution on top of sysvinit for a while anyway. It's not a true dependency-based init because the dependencies are resolved at configuration time rather than runtime, but whether that matters depends on what you're doing.
I shouldn't have tried to be funny on HN* . For this I apologize.

Can I get a rebuttal to my points along with the downvotes, though?

Is someone disputing that CPU intensive tasks should be moved off the webserver?

Have you personally had experiences where your honest-to-$deity webserver bottleneck was the CPU? I'd be incredibly surprised. In most cases I'd guess you're underprovisioned and/or badly architected.

* This is where we come to somberly discuss interesting things.
There's a difference between learning computation (how to make a computer help you solve problems), and all the bullshit you have to do to build software (especially for other people). The former involves timeless concepts. The latter is full of fads and arguments over tools, broken dependencies and configuration nightmares. The author hasn't actually learned that, yet — he just started working with people who standardized their tool chain for some semblance of simplicity.
>Would we be talking about reversing or coping with it?

I think the answer is an absolutely unequivocal "reversing it". Regardless of the underlying cause, I don't think that anyone would argue that the potential effects of global warming are anything less than catastrophic. In that light, it only makes sense to talk about adjusting to climate change when you've decided that preventing it in the first place is an entirely impossible task.
Yes you're right. At the same time, you probably have some other 32bit apps that forced those libs to load, e.g. Dropbox, which is still 32bit and starts with the system.
Beautiful. I've been trying to pick up C# simply due to Xamarin, and this definitely looks like it will make me feel more at home. Has anyone had success with 6.0 on Xamarin? (Is it even out yet? I saw announcements, but they looked like previews).
Are there any scientific studies showing that your method works? No anecdotal evince, thanks.
Yea, I've noticed that on my 1920x1200 monitors, not having my browser maximized (heresy!) won't get me the "native" resolution anymore, but some scaled down version. It's weird having a huge friggin' screen and getting a hamburger menu...
Mass surveillance is almost worthless without computers to monitor all of the video/audio feeds. You would need to have like a million people listening to the feeds and even then you wouldn't be able to monitor like 99% of the data.
Ask HN: Ok to summer intern for a company with no intention of going full time?
Pretty straight forward question. My situation: graduating and I'd like to work full time at a pretty stable job at a big(ish) company. However, I don't want to start immediately (Aug-Sept timeframe) and would love to potentially intern at a startup and just get a feel and understanding for the startup culture and life.

On a related note, any potential YC Summer 2015 companies/other startups looking for interns? :)
And that overwhelming evidence is? And which of the 50 odd reasons put forward, do you favour to explain the hiatus.

Apparently nobody takes Feynman seriously in his unequivocal statement that if the theory does not agree with experiment, the theory is wrong.
Hi HN,
I'm one of the guys who wrote the ZigBee Light Link firmware for this wireless ballast. If you have any questions feel free to ask.
Do Other Animals Make Music, or Just Sounds?
It's great to see they're implementing feedback from the community, union types are one of the longest awaited TypeScript features. It's crucial to support them - not to mention the timing: just a day after Facebook flow is released featuring typed JS and union types.
I'm not sure I agree. I browsed to tech news and got 3 of the same stories from different web sites. The diversity of web sites is great, but recognizing that you are repeating the same story 3 or 4 times is important as well.
Is a colder Earth better, or is it 20th century Earth the perfect temperature?
Cool stuff. Isn't there still a problem with Option, where when a method takes Option<T> as a parameter, invocations can pass null for that Option<T>? So there's still the possibility of null exceptions.
I agree with you so much.

Learning without casting a wide net may means you end up with the kind of tunnel vision that used to lead poor souls to 'learn Dreamweaver', or 'learn Crystal Reports', or ... ASP.NET controls, or something.

This guy ended up with a sense of the tech landscape, and knowledge that will serve him well. In one year!

Honestly, if people copied him and just avoided editor/keyboard silliness, they'd do well.
In his lecture called "Heretical Thoughts About Science and Society"[1], Freeman Dyson[2] states: "the problem of carbon dioxide in the atmosphere is a problem of land management, not a problem of meteorology".

This is based on a calculus of the yearly increase in thickness averaged over one half of the land area of the planet, if all the carbon we're emitting by burning fossil fuel were turned into biomass by photosynthesis.

This yearly increase is one hundredth of an inch, and illustrates the "very favorable rate of exchange between carbon in the atmosphere and carbon in the soil".

1. https://www.youtube.com/watch?v=8xFLjUt2leM

2. https://en.wikipedia.org/wiki/Freeman_dyson
If our evidence was so rock solid we'd probably also have a better quantitative understanding of the extent to which we can alter the climate, and I'd expect energies to be divided about equally between adaptation and mitigation (eg by deliberately increasing cloud cover). Adaptation is so complex and expensive (since many cities are located on flood plains or in coastal regions for economic reasons) that delaying the full impact in order to implement adaptive measures would probably be economically justifiable.
Purchased! Consider it another vote for BeerAdvocate :)
Why not send an email to them with a contract that nullifies the previous contract? I would love to hear a judge try to justify why one contract is enforceable for just receiving and email and another is not.
The Oral History of the Poop Emoji
Programming is full of bang-your-head-against-the-wall moments, getting good at working through them with unfamiliar tech is an important skill.

Of course, from a professional perspective, you want to minimize how often that happens, but there will be plenty of blind stumbling as your work takes you into less-traveled territory.
Well, do consider that I just copied/pasted some words I had already written before! :)

But to live up to your comment, I will take the time give my opinion about your specific case.
You have a vision, apparently a passion, a successfull kickstarter campaign and, more important, proved traction. So you should be able to attract top talent. So, don't settle for anything less than the person who can build all you envision and share your passion for the business.

You communicate very well your success (in your "about us"), but for the CTO I think you might need to communicate your vision to what the CTO will have to accomplish as well (I imagine you are not hiring a CTO just to handle the website and the shop - as they are both looking great without a CTO, but aiming for more ambitious tech-related paths).

If you happen to find someone very good ready for full-time job, in a position that wouldn't make much sense to ask him/her to work part-time, still keep it temporary and starting with small projects. He/she will have to earn his position as CTO, no matter how shiny his portfolio might be.
Give him a 2-week project, than another, then a 1-month project, always paying him market rate and respecting his time. But don't make the decision to hire the CTO before that test.

And take your time to find the right promess. A good way to simultaneously "keep looking" and "waiting for the right person" is to hire contractors, with a lower bar, for things you need built in the short term. Don't promise any CTO position, just regular freelance job for what you need build. Test one, then another, no expectations, no hurry. There is another thread in HN from whoishiring that is "Who wants to be hired?". I would say is a good place to look. The last one: https://news.ycombinator.com/item?id=8542898

good luck

EDIT: Ah! And I loved your product. If you ever need some help with online/inbound marketing (and more specifically if you want to test the brazilian makret for your product), I might help. Sure, starting with some small marketing projects as a freelance to see if we are a good match! ;)
Nice, it's awesome that you've been able to do so well with your Amazon product! What kind of things do you do/have you done to market it? Or did you rely on an "if-you-build-it-they-will-come" strategy?
Based on the inference, we can imagine a case where Flow would flag certain boundaries as 'unsafe', allowing a transform to inject dynamic type safety checks using the same type information Flow has available.

For instance, you could imagine a function calling into some unknown api, where we would need to constrain the type of the variable to the expected one to avoid `any` being applied to it. While the library files do provide typing of external dependencies, this doesn't protect you from bugs in those libraries!
The same applies to api's that are explicitly typed as `any`, but which should return a certain type.

Having Flow add a dynamic assertion on the type here would allow the rest of the program to remain type safe, knowing that a violation is guaranteed to halt execution.

While dynamic strong typing is also used at Facebook, we're not quite ready to launch this as an extension to Flow.
Cache is the new RAM
What's It Like to Devote Your Career to Chasing a Comet?
Ah, I did miss that, but it does still work. Run the following code below, you'll see multiple groups match.

"/foo/bar/3".match(/((^\/foo\/bar\/.*)|(^\/foo\/bar\/(\d+)$)|(^\/baz))/) =>

Additionally, parsing out the number of capture groups in a regexp is simple, just looked for unescaped paren groups. You can do it once at route definition.
The express router array is pretty easy to abuse, it's true. For example, as something you probably shouldn't ever do:

https://www.exratione.com/2013/03/nodejs-abusing-express-3-t...

I guess the Netflix situation is one of those that doesn't occur in most common usage; certainly dynamically updating the routes in live processes versus just redeploying the process containers hadn't occurred to me as a way to go.
Most routes are prefix matches, so a trie (or one of its variants) would work well.
From the article:

> Option<T> works in a very similar way to Nullable<T> except it works with all types rather than just value types. It's a struct and therefore can't be null.
Let’s Encrypt–A Certificate Authority to Provide Free SSL Certificates
An open producthunt clone on Reddit
Announcing General Availability of PyCharm 4
I would agree that the interpretation being used here by the government (and others) is indeed waling a fine line. I see it as mainly a historical thing: guaranteeing at least <i>personal</i> liberty in a system that uses taxes was a huge improvement over what came before it. We should, of course, try to improve the situation even further in the future.

I jsut think the tax issue is somewhat less important than aquite a few of the other threats to freedom that currently exist. (the prison labor mentioned above being a good example. There are other concewrns, too, of course.
In all of the examples the algorithms were not the issue, it was how they were implemented. Completely misleading headline.
Because the learning process for medicine is completely different. 8-year olds armed with QBasic can make a computer do cool things. No 8-year old can study or even try out doing anything interesting in medicine by any meaningful approximation. Hell, even chemistry sets are pretty much off-limits.
> Well, if Microsoft could, and did, port IE and Office to UNIX, why would the free and open software people have a problem in allowing more user choice?

No, why? If they port it and even if they provide it closed source binary only, I'd still believe that an open source browser and office packet are fundamentally more in societies interest, but they're certainly entitled to build and distribute IE and Office for linux/unix/catOS and I'm not entitled to tell them to stop. Given the license of pretty much all linux distributions I think nobody would be. Just as microsoft allows the distribution of OpenOffice and Firefox for Windows. They don't have to like it.

>> No, actually you can't. You're not entitled to unless you specifically sought a license that permits it

> Please take a look at 17 U.S. Code § 117.

I'm not going to discuss american law with you, but please note that this paragraph puts severe restrictions on redistribution of copies, while the GPL does not. I'm not a law scholar, much less an american law scholar but I don't think this means what you think it does.
Ok you add a new route but how do you reference what code should be executed when that route is hit?
I think it's possible to have preferences without resorting to ad hominem. Sometimes it seems that just having a preference is enough to associate you with the assholes. The truth is, every group of every thing has assholes, or groups of people that perceive assholes. Every group has people that have preference, and people that don't. Every group has people that have opinions, and may voice those opinions with certainty when they actually have no certainty, and are aware of this, but don't know how to communicate it without creating logical paradoxes.

The people elements of communication are not easy to parse correctly. You can never truly know how other people think, you can only assume based on experience collected a priori, which may be all together constructed on a false premise that intialized the pattern of thought construction.

I wish I had known the things I know now, 15 years ago. But I don't. That's part of living. We learn and grow because of our experiences. It can't be learned in any other way.

Personally, I just ignore assholes, or if I choose to engage, I learn to play their own game. Then I typically stop judging them.
Live: World's Largest Plane Departs Toronto Pearson
I love your book, I got it when you it was up for free. That being said, I mostly consult the webpage version. Thanks so much for creating this. I feel guilty now.
cap-and-trade will not fix the problem with up and coming economies. cap-and-trade is not a market solution, it just taxes the market.

you either figure out a equivalent or better cost way - or we have to deal with war or climate engineering. I would prefer we get something that works before we get into "the kill my neighbor to preserve what I have" mentality.

(given the voting, nope not going to respond further on this issue - no point in "debate" if silencing is the response)
re2 is described here: http://swtch.com/~rsc/regexp/regexp3.html
China is throwing research and money at everything. They are still opening new coal plants, I think the rate is one per week.
See here: day0001.tumblr.com/profoundlysickcompany

plenty of stories from current and former employees - it's sad that nothing has been done despite these articles and the undercover investigation. Amazon needs to change, not continue to deflect and avoid the issues.
This sounds right. The guy I was talking to seemed to think conditions were good. A lot of debate in certain countries carries an undertone that teachers are lazy, which can't be useful for retention.
What's the upside for the manufacturer in linking to you?
I know I'm being a cocky asshole, but, are their engineers that good?

> It’s unclear why Express.js chose not to use a constant time data structure like a map to store its handlers.

Well, it was blindingly clear to me and the top commenter in this thread.

I'm not judgmental that it was unclear to the author of this article, after all, I'm unclear on things that should've been stupidly obvious to me all the time. I am totally judgmental that no one on the team proofread the blogpost before publishing it and was like "uh, dude, what would the keys in the map be, regexes?"
Cool! would be nice if I could select a photo I have already taken from inside the app. http://www.sipsnapp.com/ has this feature and I use it.
The problem is that crash-course developers are too satisfied with just making something work and most online tutorials are focused on language syntax.
If you're learning to code, great for you... but I'd be scared to be part of your team, maintaining your code.
No, even after buying them up, they now become part of the sovereign wealth, and the sovereign still cares about its bottom line.

Or look at the middle east, where a lot of oil companies are already nationalized, and see how much they are worrying about CO2 emissions.
Fight Secret Copyright Deals: A Global TPP Teach-In
I remember my German teacher struggling to get the class to remember Schwarzwälder Kirschtorte (admittedly two words). So she taught us Vierwaldstätterseedampfschiffgesellschaftskapitänsmützensternlein instead. After that Schwarzwälder Kirschtorte was easy.
Unfortunately the standard Java map/reduce interface will win out because the IPC is more efficient.
But then doing ETL that way becomes clumsy and painfully slow.
The idea is the use rapid tools to do the same job.
Streaming is then one step higher across the happiness factor because you just use

Unix pipes to test your solution (and you can keep piping other tools as well as pipe Crunch processors over and over again)
There are lines of research that are clearly much more dangerous than others. This isn't a black and white situation.

Nuclear fission, genetic engineering of viruses, identifying a gay gene/gay fetuses, advanced AI approximating human intelligence. These are very dangerous or ethically questionable avenues of research.

You don't have infinite time on this earth. TRhere are paths of research that have a high change of making the world worse. Why would you want to look back on your contribution when you are older and be like "well I totally fucked the world up for everyone"
> I think the right way forward for software is to focus on reducing incident impact and mean time to recovery.

So in this case, guarantee you have a strong means of evaluating performance and maybe even include it by default just to be sure.
When you add more topics, I would pay for API access to get an hourly list of popular stories in each topic. If this is ever added please let me know :-)
That's kind of what compilers are for. One of their jobs is static analysis. They have the graphs needed for hoisting. Libraries don't.

This may be a problem with the existing compiler, if the Rust implementation is mostly a front-end to LLVM. I'd hate to see "unsafe" code baked into the language standard, though. C++ tried to fix the mess underneath with template libraries. That didn't end well.

"Giving programmers low-level tools when they need them" as an excuse for abandoning language safety is a recipe for bad code. There's a long, long history of that not working. "Unsafe" code should be very, very rare, used for dealing with device registers and such.

This sounds like designing buffer overflows into Rust.
Clearly if Chrome had needed the memory, this would have been implemented long ago.
Could this be a solution to the Fermi Paradox?
Right. Almost all the stars we see in the night sky are within 1,000 light years. You could guess this from the fact that the Milky Way disk is about ~1,000 light years thick and ~100,000 light years in diameter. If we could easily see stars further than the thickness, then we'd see a lot more stars along the Galactic disk. But instead, the only sign of the disk is the diffuse glow of very distant, undifferentiated stars where the Milky Way gets it's name.

Presumably stars outside of galaxies are at much lower density, so they wouldn't see hardly any points of light in the sky. If most such stars are still within the Galactic groups, then they would probably just see faint smudges of other galaxies like the very dim Magellanic Clouds we can see. (Note that these are still pretty big, though, in terms of angular size. Several moons wide.) On the other hand, planets around lone stars in voids away from Galaxy clusters would presumably have nothing visible to the naked eye from their surface.

(Someone please correct me if I'm wrong. I'm not an astronomer.)