skysight-inc/HackerNews huggingface dataset:
to be very clear, we do just try to recruit the best people regardless of race, gender, etc.

you have to cast a wide net to do that.
See also https://github.com/jashkenas/underscore/issues/1684
. . . More diversity within YCombinator means more diversity of thought. If you have everybody who is physically and culturally similar within a company, or in this case accelerator, then creativity suffers. Also, it's a step in improving this racial gap within the tech industry.
>An offer of $x/yr salary and $b/yr bonus is less valuable to me than $x+n/yr salary, even if n<b and the bonus is characterized as a sure thing.

In my experience taking the bonus always makes more financial sense.

"No!" you shout in horror, "you're leaving money on the table because salaries compound and bonuses don't!"

Ah, but there's the thing: 10b is surely < 10n, but 3b is almost always > 3n. So while you're getting +n a year, I'm now making $[1.10 ... 1.25]*x/yr because I worked for 2-3 years and then found a new job.

Employers switching to bonuses gives a strong incentive for employees to try to secure raises by quitting (or threatening to quit). This strikes me as ridiculously counterproductive, but hey, that's how it seems to work, so you might as well ride the wave!
Afaict it depends on the kind of transaction. For services PayPal is very buyer-friendly. The main area in which I've consistently heard of buyers unhappy that PayPal sides with the seller is with purchases of physical items. It seems like PayPal accepts any kind of proof-of-shipment as conclusive in those cases. If the seller can show a tracking code with proof of delivery, PayPal closes the dispute in favor of the seller. This ends up making it easy for sellers to ship severely subpar goods (e.g. relabeling used things as new), and even carry out outright scams like shipping an empty box full of packing peanuts, or shipping a cheap compact camera to fulfill a high-end sale.
...having a version 47.0.0 and such doesn't seem all that terrible to me...

What would the effect of that be? Since few people are silly enough to use the ">=" operator in package.json, a popular package with that many "breaking" changes is effectively going to be pinned at 46 different points. I imagine we'd start to see some of the same entitled whinging we see exhibited here, but in the opposite direction. "Why do you have so many major releases? It means I have to re-release my packages constantly."
> The native title, "Fix the versioning", contains insufficient detail to convey either the important warning-to-Underscore-users nor reflect the issues discussed.

Incidently, this is the title the mods chose. Can anyone guess how many spots the link dropped on the front page after that change?
Did the same thing not happen with 1.6? And 1.5? Who thought 1.7 would be different?
Yes, they should and they are now. I think that Y Combinator understands that by not taking these steps, they are possible excluding people who may be the best candidate for the job. Y Combinator is simply extending it's reach with the intention of including more diverse groups of people, not giving preferential treatment to those groups. They are simply opening up a bigger umbrella.
Cannot believe I'd never read it.

Fantastic bit of journalism.
Because white people get preferential treatment every god damn day. Either you acknowledge race and gender or you go through great pains to take it out of the equation.

A good friend of mine is a female french horn player. Orchestras sometimes do auditions behind a screen with the applicants names anonymous to the jury. This is to counteract the sexism that exists in classical music, particularly in the brass sections.

My understanding is that YCombinator is very hands on and demo days are done in person? The person is judged, not just the product.
It's the same system/technology used by Port-A-Cool http://portablecoolers.com/models/PAC2KCYC01.html and this is one of their promo videos https://www.youtube.com/watch?v=WoI1BDEiawY

I was searching online for cooling systems that could run on solar power and "evaporative cooling" seemed like a good candidate. I was looking for a "whole house cooling system" though but these folks come up in the search results.
Dojo is next. When is that going to happen?
Good stuff, thanks for sharing. Random comments based on a quick glance through the code if I may.

chan_t* chan_init(int capacity);

should be "size_t capacity", since negative capacity values are invalid. This also eliminated the need for the first check in the function.

chan->buffered

is duplicate in meaning to chan->queue being non-NULL.

Why chan's mutexes and pcond are malloc'ed and not included in chan's struct? They are also not freed when channel is disposed, unless I'm missing something. Mutexes are also not destroyed when buffered chan is disposed, but they are created for it.

(Edit)

Also, my biggest nitpick would be that chan_t structure should really not be in chan.h header since it's meant to be transparent to the app and the API operates exclusively with pointers to chan_t. Then, if it is made private (read - internal to the implementation), then you can divorce buffered and unbuffered channels into two separate structs, allocate required one and then multiplex between them in calls that treat buffered and unbuffered channels differently. I.e.

struct chan_t
{
// Shared properties
pthread_mutex_t m_mu;
pthread_cond_t m_cond;
int closed;

// Type
int buffered;
};

struct chan_unbuffered_t
{
struct chan_t base;

pthread_mutex_t r_mu;
pthread_mutex_t w_mu;
int readers;
blocking_pipe_t* pipe;
};

...

or better yet, just include a handful of function pointers into chan_t for each of the API methods that need more than the shared part of chan_t struct, initialize them on allocation and put type-specific code in these functions. It will make for a more compact, concise and localized code.

(Edit 2)

Here's what I mean with function pointers - https://gist.github.com/anonymous/5f97d8db71776b188820 - basically poor man's inheritance and virtual methods :)
Yup. I'm the contributor who wrote that pull for the release. You can see the original here https://github.com/jashkenas/underscore/pull/1799
Something about this headline feels wrong.
Benchmarking Programming Languages with Project Euler
Kamcord (YC S12) Is Looking for an iOS App Engineer
Kamcord has raised over $10M in seed + Series A funding and is growing like crazy! We’re building a social network centered around gameplay videos for the world’s 1 billion mobile gamers. Growing the community in our iOS app is at the crux of our company’s vision.

We are only a few months into our iOS app development and have tons of both foundational and crazy ideas to work on. We’re built on a really solid foundation though:

Our app’s first major launch was featured by Apple in the Entertainment category for five consecutive weeks.

We were the first in the world to build mobile gameplay recording technology for iOS and Android. Our recording tech is embedded in hundreds of mobile games and players are using Kamcord to upload 1 hour of video content every minute - that’s 1% of YouTube’s upload volume!

RESPONSIBILITIES

Own significant portions of the product from conception to App Store submission.
Work with the product, design, and growth “team” (1 person each :D) to plan and prioritize future app features.
WHAT WE'RE LOOKING FOR

Driven team player who doesn’t need hand-holding to get things done. We love folks that own things 110%.
Deep understanding of Objective-C and iOS programming best practices.
Comfort with multithreaded code. You eat race conditions for breakfast.
“Close enough” doesn’t cut it at Kamcord. We want people who obsess over user experience and pixel perfection.

BONUS POINTS

Shipped quality apps to the iOS App Store.
Solid working knowledge of testing frameworks and build systems for iOS apps.
Experience designing robust client-server APIs.
You want to dominate at everything from company ping-pong battles to board game nights.

WHY YOU SHOULD JOIN US

We’ve kept our hiring bar really high - you will work with the best.
Our app engineering team is just 3 engineers - you’ll get the opportunity to take on a lot of responsibility and grow a ton!
You’ll continue to build a community that produces heart-warming videos like http://www.kamcord.com/v/8IMDuw1vd6p and genuinely makes people happier.
We still have so much to do from adding basic features like notifications to designing an iPad app from scratch - you’ll be joining at the ground level.
We’re very supportive of people that want to start their own company in the future.
BSDs do change stuff too. OpenBSD recently replaced sendmail with OpenSMTPD, and apache with nginx. FreeBSD 10 has some big changes[1], depending on what you're doing with it.

Still, in general I agree. I run OpenBSD as my main desktop system because it works and mostly stays out of my way.

[1] http://www.freebsd.org/releases/10.0R/announce.html
Yes, but due to the nature of dependencies, it becomes crazy to use in practice. Imagine I write "leetapp", and it depends on "underscore-semver 170.0.0", "tablething 1.0.0", and "otherstuff 2.1.3". Except tablething also uses underscore, so it too depends on "underscore-semver 170.0.0". Now Underscore puts out a new version. I cannot update my app to use 180.0.0 until tablething's devs also do so, or else our dependencies will not be resolvable. This isn't too bad if I only have one dep, but what if I have 20 dependencies that all, somewhere in their dependencies, need underscore-semver?

This is the reason that semver and ranges of dependency management became useful in the first place, because I can say that leetapp needs underscore-realsemver (1.6.0-1.6.n), and tablething can say it needs version (1.6.3-1.6.n) and so forth. This works with sane semver because we can use the parts of the version string to agree on the major API while allowing bugfixes and other improvements to happen without every project needing to bump version numbers.
Where are you getting the idea that preferential treatment is being given? Y Combinator is opening it's umbrella to include more diverse walks of life, not giving any group preferential treatment.
Finally, sure took long enough. I'm really hoping they have improved and fixed the previous bugs.
Black male here, aged 18-25, Computer Science and Design student in my final semester of University. The roadblocks from a racial perspective is lack of resources and education, there is a fair amount of poverty within black America. Did you have access to a computer growing up? Maybe you had one or two in your house? Then you may have been able to learn more about programming from a younger age, or maybe you had a computer lab in your school...On the other hand, maybe you are also assumed to be inadequate by society because of your skintone, you are automatically stereotyped to be unintelligent or a subpar developer. Those are the roadblocks we have to face, whether it stems from society or socioeconomic status, we have to work twice as hard to prove ourselves in America.
"Public shaming" of someone who's been as productive and generous with his open-source work as Ashkenas is never appropriate.

Respectfully disagree on the particulars, sure, but don't imply that someone who's given you a gift now owes you extra work, when their own design sense – the same thing that created the shared bounty – guides them otherwise.

People should also consider that authors of popular projects are inundated with support requests and demands for their time, and have to set some boundaries on their efforts, which may appear callous to outsiders. If his boundary here is not wanting to embrace Semantic Versioning, respect it, and fork/migrate/workaround rather than whine/shame/guilt.
Nice read Sam, thanks for the writeup.

Thought I'd let you know you have an error in your json - section.name (http://i.imgur.com/CoHol0f.png)

;]
http://en.wikipedia.org/wiki/GLONASS#Promoting_commercial_us...

> To improve development of the user segment, on August 11, 2010, Sergei Ivanov announced a plan to introduce a 25% import duty on all GPS-capable devices, including mobile phones, unless they are compatible with GLONASS. As well, the government is planning to force all car manufacturers in Russia to make cars with GLONASS starting from 2011. This will affect all car makers, including foreign brands like Ford and Toyota, which have car assembly facilities in Russia.[15]
I have recently built this domain name generator. Any feedback or comments would be appreciated.
I don't have good answers for you, but discrimination isn't always done intentionally. Maybe more often than not it's ignorance or simply institutional. I am also a white male. It took a long time for me to figure out my own biases and honestly I am still learning about them. I recommend this movie:

http://www.imdb.com/title/tt0484384/ (The Color of Fear)

There are pieces of it on YouTube apparently:

https://www.youtube.com/watch?v=2nmhAJYxFT4

I once decided to investigate racism more. In addition to reading academic materials I also tried reading magazines intended for black women and found a section on how not to scare your white boss with your hair. There was all kinds of stuff like that, and it was both shocking and depressing. I just had no idea.
Thanks for the kind words.

is there any particular reason you switched from GitHub to Bitbucket in your tutorial?

Yes, this is the subject of [Box 1.4](http://draft.railstutorial.org/book/beginning#aside-github_b...). The tl;dr is that Bitbucket is free for private repos, which for security purposes the new edition uses by default.
haha thank you :)
See [Box 1.4](http://draft.railstutorial.org/book/beginning#aside-github_b...). The tl;dr is that Bitbucket is free for private repos, which for security purposes the new edition uses by default.
> You're familiar with the expression "let the punishment fit the crime"?

I am. For the "crime" of parking your car in a spot that it gets towed, the "punishment" is (according to the article) $472. Was the "crime" less for a poor person? no. Same crime. Same punishment.

Taken to its (inverse) logical conclusion, a person that steals $100 from a poor person should do a lot more time than a person that steals $100 from a rich person. But the world isn't arranged that way either, for excellent reasons.
Looks interesting, and the pricing model is attractive.

...however support for more payment gateways would be really nice. For example, eWay's Rapid API[1] would mean I could actually use it. :)

[1]: http://www.eway.co.nz/developers/api/overview
that's massive.
The Japanese have a saying about this -- "Fix the problem, not the blame."

I can't resist adding that I've always described this quote in just this way (as do others), but it's never far from my mind that it relies on an English idiom, one in which "fix" has two meanings. It's not the same in Japanese.
That entire sequence (the song snippet, and the garter story) sounds familiar... I remember seeing it on Robert X. Cringely's "Triumph of the Nerds" on PBS (great documentary series, btw)
> If there's discrimination,

There is.

> isn't that purely the fault of the Y Combinator organisers (in this instance)

Some of the fault likely is, likely through unacknowledged bias. But discrimination comes in far more systemic forms: if you're a black child you're far more likely to attend a school with concentrated poverty than a white student. You're twice as likely to have teachers that are brand new, or have very little experience. You're less likely to be offered advanced classes. And boom, by the time you're applying for college, you're already behind the curve.

> and is this article then an admission that they've discriminated in the past?

They likely haven't actively discriminated against black applicants. But by not doing anything to further outreach, yeah, they kinda have.
A question for the "scripting language" (Python, Ruby, Javascript, etc.) developers who have used Go: How do you like it?

I work primarily in Python but have been wanting to expand my toolkit. I saw a lot of Python programmers get excited about Go so I decided to give it a shot. I spent a few weekends reading through the docs and tutorials and even managed to get some toy programs written.

There's a lot to like about Go: I adore goroutines, "go get" is very slick, and the language as a whole is really well thought out. Really, I do like Go.

That said, it always felt like I was fighting against Go's type system rather than having the type system work to my advantage. It's almost as if going from a dynamically to a statically typed language resulted in a bigger "culture shock" than I anticipated.

I'm curious if other developers coming from dynamically typed languages experienced the same thing. Especially if Go was your first taste of a statically typed language.
...dependencies that in turn depended on underscore...

Do you imagine that the maintainers of all these dependencies are going to catch any fraction of the hell that jashkenas seems to be catching for this? It's just as much their fault as it is his. Why don't they pin and test?
Sure, but the thing is, Gravity was like five orders of magnitude less dumb than anything else about space. Despite all my undying love to that show, you'll not get any smarter if you watch Star Trek instead. Gravity is probably the closest Hollywood ever got to the real deal.
I don't know what exactly is being patented. As I read it, the novel part is this:

So, what about that arbitrary shader code? In practice, the shaders used in 2D games tend to be fairly simple. ZyGL applies a series of heuristics to the shader code to try to infer its intent. It then uses these heuristics to map the draw calls through to some approximations of common shader code that we wrote in JavaScript.

I'm not aware of any prior art that is (a) a polyfill for WebGL using canvas that also (b) reconstructs triangle strips into canvas quads and (c) attempts to mimic shader effects by scanning the shader code for common techniques.
Thanks, I'm not much of a C programmer, so I appreciate the feedback. I'm not sure what you're referring to with the mutexes and pcond not being on the struct because they are. Can you clarify? You are right with the disposal though, I need to clean that stuff up :)
Is it? It quotes Altman as saying, "Going way out of our way to invite people to apply who don't fit the stereotypical start-up mold has worked really well for us."

Sounds exactly like they're just attempting to cast a wider net. Any other implications you took from that weren't from the article.
Intel Unleashes Its First 8-Core Desktop Processor
The article doesn't say what you're doing to recruit more minorities. Are you making a PR effort, or developing different business contacts, or starting a new program, or...?

Just curious. (And glad you're making the effort.)
UW takes down assignment solutions on GitHub under DMCA
It seems mostly lost to the memory hole now, but I always thought one of the most cringeworthy corporate anthems was the Sun song set to the Huey Lewis tune.

https://www.youtube.com/watch?v=Tzeu-gqMy0A
This is pretty awesome. I do a lot of Go and C and this just might come in handy. Thanks for sharing!
Sounds good to me. Just ordered a copy, along with Gabriel Weinberg's Traction book, and Profit Patterns[1].

[1]: http://www.amazon.com/Profit-Patterns-Anticipate-Strategic-R...
As a young black entrepreneur that has known about YC for years now and have followed them and their large portfolio, I think they are making a smart move toward reaching out to a community where people aren't aware of programs like YC and the opportunities they provide.
You're overlooking something. Many court judgments specify a fine or jail time. If a person can't afford the fine, he goes to jail. This discriminates against poor people, and it's unconstitutional as well -- it's unequal application of the law.

We can both find examples that support our outlooks, but the fact is that, absent unintended injustices, punishments are tuned to fit the crimes and the criminals as well.
There's really no basis for putting a stake in the ground with web front-end frameworks right now. Based on recent history, the leading frameworks today will be YUI in 2-5 years. The best you can do is chose something that has a large community TODAY, get the most mileage you can out of it, and know that in 5 years or so you'll be scrapping most of it.
Online social networks are fine on a conceptual level...beautiful even. Its the commercial interpretation that is completely screwed.

Profit driven, privacy invading, dark pattern driven kind of bullsht. Today my phone wanted me to install this (additional) facebook app to read my friend's 2 line message to me. i.e. Blocking the 2nd half of the message and giving me two options - link to useless help article and an install their app button (hiding the fact that the existing app can read the message - which btw strangely didn't trigger the usual alert). So...Dear Facebook...go * yourself. And yes FB employees reading this - I really do feel like that.
Just a heads-up, OpenBSD is actually removing nginx from the base install in favor of httpd.

http://undeadly.org/cgi?action=article&sid=20140827065755

Edit: Adding in the link to the actual commit: http://marc.info/?l=openbsd-cvs&m=140908174910713&w=2
How do these systems work if there are not enough stations to return your bike?
That's a fair point. I guess a better solution in my mind is teaching people to be more responsible with their package.json file and consumption of packages (ie reading changelogs), but that's not jashkenas' problem, nor should it be.
and here I am, staring down the barrel of Erlang. again
Paranoia about being denied any use of GPS. The US could arbitrarily shut down GPS over any territory they want, pretty much fucking up the everyday life there, given how more and more things depend on GPS signals nowdays. They did this before, and though they say they won't do this again [0], the fact remains that they can, and that's good enough reason for others to deploy a system of their own.

[0] - http://www.gps.gov/systems/gps/modernization/sa/
Brilliant! I really wish I thought of that one! Is there a way to add lists, ideally with multiple columns?
Actually, OpenBSD just replaced nginx with their own httpd.
I think it's completely fair. Windows is completely non-deterministic due to the insane amount of coupling inside it and the sheer snowball of crap that has stuck to it over the years.

In this case, they had tested DR strategy etc in place. Unfortunately when it came to doing it for real (onto the same backup hardware the DR plan was tested against), TSHTF and Windows threw an obscure COM error loading the AD catalog. That required contacting MS 1st line who didn't know what it was so had to escalate it to the AD guys. One obscure registry key change and an ACL change (related to ESE) and it was back.

All best practices followed, yet complexity, poor design and secret knowledge crept in and shot the whole process.

Stuff like that scares the shit out of me having been on the end of it way too many times now.

Many a night have I spent up at 2AM trying to work out why the hell something odd has gone on inside Windows and taken something out in production. Not once in 20 years has a proper Unix (Solaris/FreeBSD) box woken me up or shafted me for hours.
but nowhere near competitive with the credit card network, or the money transfer systems in every developed country other than the US (most of which do real-time transfers for less than pennies on the dollar). Even in the US, I guarantee that ACH will die faster than Bitcoin will get cheap
This is awesome! Except for a couple of benchmarks, Rust seems comparable to C and C++ in speed. I wonder if something could be done for those outlying benchmarks (of course).
Yes, California. Should have specified. Same state as the article though :)