skysight-inc/HackerNews huggingface dataset:
> If an organization wishes to have an equal gender representation in its faculty, wouldn't a short term hiring preference be a reasonable thing to do?

No. That's discrimination against males.

> Sexism (in this conversation meaning male preferential treatment) is still quite an issue in academia.

Yes. It's now swung the other way!
More specifically, they're competing to produce the fastest code for software that follows the C specification to the letter. That's not necessarily the same as producing the fastest code that actually achieves the intended goal.

For example, if I recall correctly the popular Opus codec overflows signed integers when decoding invalid data, and so long as this can be guaranteed to produce some (possibly implementation-specific) result this is perfectly safe. However, this is technically undefined behaviour - a particularly malevolent optimising C compiler could decide to give the sender of the data arbitrary code execution, because it's allowed to do whatever it likes. This might even make the code run faster, but it'd make decoding Opus correctly and safely slower because the decoder would have to do a bunch of gratuitous overflow checks on operations it could otherwise just let overflow. Fortunately, gcc hasn't reached that level of advanced malevolence yet.
> you won't see OpenBSD developers running OS X

Sure they do. I personally know a few who use OS X, and I even saw someone using Windows!

Whether the scope of this phenomena differs between FreeBSD and OpenBSD, I can't say. Speaking for myself, I run OpenBSD as a desktop on ThinkPads and I am very happy with it. In fact, I am so happy with OpenBSD, I will even tolerate poorer battery life on laptops to use it and to avoid Linux.

But I still use OS X on my primary machine.
Yeah, I'd go so far as to argue that if you need security, you probably shouldn't be writing C.
Show HN: SPEAQUS, LinkedIn Marketplace for Speakers
The fiber QSFP modules are the same ones used for Ethernet, ergo, 40gbit Ethernet and 56gbit Infiniband are going to have the same issue with QSFP modules being expensive.
Search engine for programmers
I'm sorry, would you care to elaborate? It's black text on white background. Very good contrast. Pretty big font. What was wrong exactly? Did we read the same page?
Are you running 24 drives for capacity reasons or speed? I can't think of many RAID controllers that could push that many SSD's at full speed, so it must be for capacity. Have you thought of using fewer, higher capacity drives instead?
> A paean to the aluminum industry

That's unduly dismissive of an article that is primarily about design. On HN it's better to make substantive comments than dismissive ones.

You have a good point about the polymer lining, but it would be better to make it informative instead of polarizing. There's no reason we can't all learn about flanges, rivets, polymer linings and health effects.
Get a used T- or X-series Lenovo Thinkpad with Intel graphics from Staples or Ebay or thinkpaddepot.com or outlet.lenovo.com. I have a T420s and an X220i that run Ubuntu, Slackware and OpenBSD. I'm unsure how well Nvidia chipsets are supported by Ubuntu, and I know they're not supported at all by OpenBSD.

One caveat: some OpenBSD firmware isn't included in the standard installation media, so one needs either to do the install while connected to the net via Ethernet, or download the firmware from firmware.openbsd.org onto media and run fw_update after installation.
It might also make sense for a university's administration to prefer women -- for the same position, women currently make, on average, 10-20% less than their male counterparts. That adds up. Surely, you'd consider the wage differential as part of your hiring decision?
You could always write one. I recommend the work of John Regehr as a starting reference: http://blog.regehr.org/
In theory, a company is run by the board and the CEO reports to the board. But most boards seem to be disconnected from day-to-day operations. Perhaps the both the board and CEO could be replaced with a "high council" or triumvirate, maybe including employees in rotating terms.
The primary skill required to be a good auto mechanic is the same one required to be a good software developer: the ability to logically diagnose and solve a problem. The only difference is the tools you use to fix the problem.
It doesn't even have to have anything to do with the state. Votes in school classes? On a corporate board? In games? A working secure anonymous voting system could be useful everywhere.

My own sketch kind of "cheats" a little - I'm using Secure Multiparty Computation to achieve a cryptographically protected opaque VM distributed against mutually distrusting entities. This makes practically everything else easy - vote input data can be anything, and you can have any imaginable type of vote trivially. Per-choice scoring? Choice rankning? Switching is easy too.

https://roamingaroundatrandom.wordpress.com/2014/06/16/an-mp...

Still only a blueprint, but technically possible. I'm going to look into how this particular scheme works and see what they're doing different that could be reused, if anything is applicable.

Edit: reading it now. Turns out their approach is remarkably similar to mine on a high level! But their cryptographic constructions differ and is definitely more advanced.
Git Large File Storage v1.0
Proselint: A linter for prose
"Nearly half" is a subjective concept so different people can give different answers if you ask them wich value "nearly half" has. I also think that it strongly depends on the absolute number we are talking about, not only percentage.
JavaScript Packaging: Browserify, Steal, Webpack, Bower, Volo, EnderJS, and more
Literally deleting all your files at that. It's the part of the language that says your compiler is completely justified in allowing you to write that buffer overflow vulnerability that can trample executable memory, which is then used by a malicious attacker to do literally whatever they want, including deleting all your files. Or worse.
Yes, and it's not just usual ignorance, but they seem to be proud about their ignorance in a way that makes them behave irrationally and become offensive. For example how people downvote me in this thread, right now, although I got this treatment in many other venues, and in real life as well.

And of course the "argument" that language changes doesn't hold water. They are not merely using different words, they are de-facto eliminating the word that describes a "theory". People who actually make scientific hypothesis and scientific theories use the word correctly, it's the ignorants who can't use it, and who quite often will utter phrases like "X is just a theory!", like somehow that should lessen X.
Why I’m Ending my GitHub Streak after 844 Days
PIG Isn't GNU
Htc in One Gif
What GCC is doing subverts the purpose of writing in C, which is to get close to the machine and instruct its processor to do certain things. Optimizations are useful when they allow the compiler to better express our intent, but lately, we've seen compilers more and more often ignore our plain, stated intent, then back it up with a reference to a specification that wasn't intended to allow this subversion.
Presumably they mean discrimination against women, which has been the predominant form of sexism.

It's not even clear this is firmly sexism, it could be effects from 20 years ago trickling up to today. Our current educational pipeline is long and involves literally thousands of people making their own decisions about how to teach you.
> [Logging:] I can’t be the only one who thinks this area is lacking its Stripe equivalent.

Can I ask you to expand on this a little? There are a bunch of cloud log management solutions, and I'm not sure what makes any of them Stripe equivalent or not.
You are correct. If the transport is secure, then the protocol doesn't matter. I just think that a central controller model could use a protocol which is more suited to keeping the code on the mobile device as simple as possible. If you just want to send MQTT commands to nodes without a central controller, then what you propose makes sense.
https://news.ycombinator.com/item?id=10443716
Why would RE/CODE think that people who live in RVs and vans have "little or no sex?" I bet they get a lot! They can sneak out for a nooner.
So that's a lack of EQ... So much so that it's a lack of common decency. Yes, it's a big deal, yes it's exciting but when in mixed company you need to talk about other things if it's indeed secret stuff.
Great post, and aligns with many of the practices we're following now. Also links to two other great posts from Segment and Joe Beda, and taken together the three are quite valuable.

On the subject of kubernetes and heterogeneous environments, kubernetes itself may allow a mix of instance types (node types) in a cluster, but as implemented in GKE for example it does not. I believe ECS has similar constraints. Our response has been to think in terms of separate clusters for services, edge routing, persistence, etc.
As Colin says towards the end, it seems like a combination of "all registers are callee saved" would help (combined __noinline__) but I agree you'd still have to find a way to make sure you could reliably zero out the xmm registers following the AESni runs. I would hope that an extreme dose of volatile with mm_load_ps and maybe some OR'ing into the result will defeat gcc and clangs ability to optimize away the clearing, but that's precisely what Colin is complaining about: you can't really express your demand in C and be certain it sticks.
> This is a case of following the letter of the law (in this case the C standard) while disregarding its spirit: all the undefined behaviour was so that C compilers could accomodate for odd architectures while remaining close to the metal, not so that compiler programmers could go out of their way to turn their compiler into a mine field.

Computers don't have spirits; they work as you tell them to work, to the letter, and if you're remaining close to the metal, your language will indicate that fact. Optimizing undefined behaviors doesn't make C a minefield; low-level programming for different architectures just is inherently a minefield. C was a minefield before these optimizations were added.

Rust is extremely impressive because they've found so many ways to do high-level programming while maintaining low-level performance. But they can only do that because they have the benefit of the 4 decades of programming language research that have occurred since the basics of C were designed.
+1 -- great post.
Don't install npm packages globally
Forget google. Can you do this in domain names?
If I'm in a software development role, and the software doesn't work, well the buck stops with me. I may need to shut down a box and spin up a larger one, but ensuring that hardware is adequate is what the developer is for. If I have given an EC2 instance more load than it is ready for, that's on me.

With this mental model, of course it's false praise, just like it would be false praise for me to give credit to my hardware.

Now I don't buy this model. But this is the logical implication of it - success is the flip side of failure.
Why Magic Leap Needs a Dose of Reality to Succeed
Well sure it is. There are many possible responses as well, depending on personality and incentives.

There is no universal definition of an asshole, and no one is safe from being an asshole in someone's eyes, so moving right past it is definitely a valid, useful strategy.
That's an entirely different argument. On the whole, the wage gap is a myth[0]. If there's a particular situation where someone is willing to do the same work for less pay, then the university should absolutely hire them.

They should hire all women, and become the most cost-effective university. The same goes for businesses. Imagine an increase in profits of around 10-20%. An all-women company would be staggeringly profitable.

That doesn't happen. Because? The wage gap is a myth.

---

[0] Example, http://www.wsj.com/articles/the-wage-gap-myth-that-wont-die-...
> if the hardware is compatible, you'll never go back to linux. seriously.

I can confirm. I found OpenBSD around 2005, after many years on Linux. I only use Linux when I need KVM on my laptop (on server I just run SmartOS for KVM). I'm really looking forward into OpenBSD entering the virtualisation space.
It would be great if I can step on my iPhone every morning, and MyFitnessPal would record my weight.
> What GCC is doing subverts the purpose of writing in C, which is to get close to the machine and instruct its processor to do certain things.

That's not the purpose of writing in C. It's a goal you might be able to achieve with C, but I'm not sure why that's your goal, and it's certainly not the goal of everyone who writes C. I think more people who write C do so with the coal of producing programs that run fast or with a minimal memory fingerprint.
Also, we want to offload as much tedium as possible to secondary processors so the CPU is fully dedicated to our workloads.
Well done. The haters will come in and pick apart each commit and why it wasn't worthy - but you've already won by that point.
I seem to remember Snowden docs indicating that the NSA had HDD firmware hacks in their toolkit, and that such hacks are an example of what they mean by "advanced persistent threat".
I appreciate the work here, and I'll remember this when I need it, but C++ is long past gross.

Enough already, the committee needs to be less prideful and just add complete macros/metaprogramming to the language already in C++14 and let apparently smart programmers who can disentangle variadic type templates to stop wasting brainpower and valuable time doing that and just write the compile-time transformations they want to have happen.
> If you don't want undefined behavior, don't put undefined behavior in your code.

I'd quip that this is statistically impossible for a sufficiently large codebase.

> it's a criticism of ANSI C. If you don't like it, use a better language.

This is my basic stance. However, if I'm e.g. in a situation where I have a C or C++ codebase I can't afford to rewrite from scratch, I'd like to use a "Better C" compiler, where "Better C" is a slightly less bad version of "ANSI C" - some undefined behavior removed, for example.

As shorthand, I'll generally refer to compilers for "Better C" as "Good C Compilers".

GCC is not trying to be a Good C Compiler. They've decided these things aren't their problem. Which is... fair. That's their choice. I do not for one minute pretend to understand that choice however - and it gives me yet one more reason to switch to a Good C Compiler.
I think you misunderstood the example -- the memory is cleared after use to ensure that if it's reallocated by someone else, or someone hooks up a debugger, the content can't be examined (except when the compiler removes this clearing attempt because of an optimization). Lets say that chunk of memory held a password -- you'd definitely want to clear it after use, even if you immediately free it and never plan to read it again.
You're going to get downvoted for this. The same comment from the opposite perspective wouldn't.

This community likes to think of itself as enlightened. I wonder why we find these kinds of issues so hard to face.
Ask HN: Where can I deliberately practice math online?
I am no longer in college. The highest level of math I have taken is Calc 1. I have also take Discrete Math.

I'd like to improve my math skills and exercise my mind by practicing math problems. I don't have an interest taking a full course right now. I think practicing 30 minutes a day would do me some good in the long run.
The wait is over! I just had it done for free by a research study at U of M. Check out genes for good:http://genesforgood.sph.umich.edu
Well that is probably never going to happen. And that's totally fine with me, there is not mutch to gain from that anyway. Unikernels running on hypervisors is a very cool thing, but I wouldn't call it "bare metal".
I concede - that /is/ a similar study.

It'd be nice if science reporting included a history of similar studies in their articles - especially for topics that seem to come up again and again like this.

Better, an examine.com-style list of studies on over-argued topics that list relevant studies organized succinctly.
Study says standardized testing is overwhelming nation’s public schools
New Jersey town first in U.S. to use Uber to curb drunken driving
Is it possible for Avian to support the java.awt.Robot class? (http://docs.oracle.com/javase/6/docs/api/java/awt/Robot.html)
Would be superb in terms of cross platform automation use, currently the only other cross OS compatible solutions are to use Lazarus/Free Pascal or full blown Java VM.
Stingray: “The Biggest Threat to Cell Phone Privacy”
Columns: One Simple Trick to Avoid Scaling
I can tell you're autistic just by the way you are.
Thanks for the links!

I'll be sure to look into these.
>Computers don't have spirits

But standards committee do.

>Rust is extremely impressive because they've found so many ways to do high-level programming while maintaining low-level performance. But they can only do that because they have the benefit of the 4 decades of programming language research that have occurred since the basics of C were designed.

I doubt rust could be ported to a 8bit PIC microcontroller, or to a 6502 keeping reasonable performance characteristics or letting the programmer take advantage of the platform quirks. It's not just "4 decades of programming language research" it's also that it's intended to work only on "modern" processors.
You don't need 4 decades of programming language research to specify that e.g. signed integer overflow either returns an implementation-defined value or the program aborting. There are languages older than C that allowed the useful forms of bit-twiddling but offered much stronger safety guarantees.
A dupe of https://news.ycombinator.com/item?id=9372481.

We're thinking about building software for users to link posts like this together. It would be especially helpful where the story is the same, but the articles are different, as here.
Back when the industry tried to push a unified software patentent bill in Europe, I wrote personal (non-stock) e-mails to some members of the EP. Nearly all of them gave non-stock answers and were interested in the arguments that I provided against patents.

Many politicians are willing to listen to their voters, especially if it not a stock e-mail, carefully written, and not rude or threatening (which unfortunately seems to be the norm today).
Spyware Terminator 2015 Premium Serial Key Free Download
Google frightgeist
Nothing undue about it. Paean is not a negative word. "Reynolds Metals pioneered the contemporary method of production." Are you overeager to read something else into my comment?
Note that the bag must be extremely flexible for that to work. Otherwise the weight will be supported by the bag and the air pressure inside will be lower.

For some reason, that reminds me of the classic "measure the height of a building using a barometer" joke.
You're correct, my statement is unnecessarily argumentative.
Thank you.
"The initial plan was to make it humorous, release it on the App Store, and charge a little bit of money to download and maybe I’d make a little something off of it on the side."

Why aren't you voting for Trump again?
What you and a lot of other people are missing, cheerful in your use of other languages, is that your runtimes and native extensions usually depend on insecure C code.
I'm reminded of http://mjg59.livejournal.com/108257.html :

"POSIX says this is fine, so any application that expected this behaviour is already broken by definition. But this is rules lawyering. POSIX says that many things that are not useful are fine, but doesn't exist for the pleasure of sadistic OS implementors. POSIX exists to allow application writers to write useful applications. If you interpret POSIX in such a way that gains you some benefit but shafts a large number of application writers then people are going to be reluctant to use your code. You're no longer a general purpose filesystem - you're a filesystem that's only suitable for people who write code with the expectation that their OS developers are actively trying to fuck them over."

GCC doesn't, or at least shouldn't, exist to implement the ANSI standard. It exists to help people to write useful programs.
> More specifically, they're competing to produce the fastest code for software that follows the C specification to the letter. That's not necessarily the same as producing the fastest code that actually achieves the intended goal.

That's true, but "producing the fasted code that actually achieves the intended goal" is not a problem which can be solved by a compiler--the compiler can't read your mind.

Attempting to represent a reasonable approximation of reading your mind is the responsibility of the specification. You can definitely do better than C, but I doubt you could have done better 4 decades ago when C was designed.
There are not so many language who can directly compile and optimize to machine code though.

I'm not sure if java or C# can easily jit to have something that is close to machine code. Anyway having machine code directly (and no need for VM) is useful if you want to reduce the overhead and fully exploit your hardware.

Surely it's not for students or for casual programmers, but it has a use.
For me the worst problem with OS X and especially iOS is that neither supports WPS-PBC.

Typing a 32 char WPA passphrase sucks hard, and Linux, Android and Windows have solved the problem. Just Apple does not.
Any time you add two (signed) integers, that's potentially undefined behaviour.
Check out the Mandrill API it has scheduled emails:

https://mandrillapp.com/api/docs/messages.ruby.html#method=s...

send_at (string)

When this message should be sent as a UTC timestamp in YYYY-MM-DD HH:MM:SS format. If you specify a time in the past, the message will be sent immediately. An additional fee applies for scheduled email, and this feature is only available to accounts with a positive balance.
Validation: datetime
the slide deck linked to in the article was very informative and straightforward. The length of the PDF is to cover edge cases and scenarios of corruption, with solutions.

You seem like a TL;DR kind of guy (nothing wrong with that), so just read the slide deck. maximum 50 words a page.
MEP as far as i know are a single national constituency, there aren't districts through which they are elected.
So you can pretty much call any MEP in the EU country you live and vote for the EUP in regardless of your nationality.

The "good" thing about the EUP is that it's so powerless that there is very little lobbying which means that MEP's tend to me much more ideological and open to input from anyone rather than their donors and lobby groups.

EDIT:
Apparently the constituency segmentation can vary between country and country some use a single constituency some use sub-national segmentation that may or not be in line with local or national elections.
I wish it would at least try to do a real CORS request before giving up and forcing you to use the proxy. I have a CloudFront distribution with CORS all set up but it doesn't even try to make the request.
ANSI C didn't really do anything wrong here, though - they created a least-common-denominator spec of what you could reasonably expect from C across all platforms. Pointer arithmetic on NULL pointers had to be considered undefined (not just unspecified) in ANSI C, because on certain commercially-important proprietary systems it generated a hardware trap that caused the OS to kill your process. The problem is that the gcc developers insisted on actually making that code behave as undefined even though it didn't make sense to.

Also, I should note that a lot of code - particularly the Linux kernel - isn't actually using ANSI C anyway. They're using a superset of it with gcc extensions and they have a whole bunch of architecture-specific code too.
My first thought too love the Engineer Guy videos Bill Hammack is cool guy.