skysight-inc/HackerNews huggingface dataset:
I once #defined strlen to return a short. This was in the days of the 16-bit to 32-bit transition on Windows, and I was running a project to eliminate spurious warnings from our code. There were several hundred places where the return value of strlen was being assigned to a short, every one of which created a warning.

I was a senior developer but it was my first commerical job--I'd been in academia previously. I ran the change by the the most senior technical people in the company, all the way up to the guy who'd written the original application as employee #1. He OK'd it because, as he said, "strlen returns as short on the Mac anyway, and since our code runs on Mac as well as Windows it's a limitation we have to respect anyways."

A few years later the company stopped supporting the Mac.

A few years after that (and well after I'd left the company) one user site started getting crashes. I heard later that it took four senior devs a week to track down the cause, and much head-scratching because strlen was documented to return an int. They eventually found my #define, along with a comment that this eliminated so-many hundred warnings in the build, and that the change had been approved by the most senior people (I wasn't totally naive).

It turned out the problem at the specific site having the issue was users putting the entire contents of files into what amounted to tool-tips. It was totally unexpected user behaviour, but they'd found a place they could cache some useful data and we let them do it, so it should have worked.

Today I'd write a script that auto-edited all the cases where the problem occured, and regression test the hell out of it, but yeah: the '90's were a different time!
For one, Microsoft. And would you argue that the NSA has seen no meaningful reduction in access to talent?
Is that not what Paul is discussing on the floor? I mean, he's discussing the consequences of building backdoors right now.

It would be wise, I believe, if a discussion here on HN about this were to be informed by what the actual policy makers are saying/thinking.
The site says "transfer money abroad". If for some reason they only want the more difficult kind of transfer, it would help to make that clear.

I'm confused by you asking why when the answer is both obvious and explicitly stated in parent comments. Sending someone money in a different country, but they happen to use the same currency.
These 'Abused Emojis' Can Help Kids Tell Someone They're Being Hurt
To those who argue this submission isn't relevant for a tech audience: the Senators in this hearing are discussing backdoors and encryption right now, which is pretty relevant actually, and not something we often see on the Senate floor.
Thanks for the reply, I'm sorry for the off-topic discussion, it's just that I witnessed several times how a thread is doing very well (like 50 points in 10 minutes), is in the first places on the FP, then in a minute it's on the bottom of the FP, in another minute it's on the third page. So I though it must be the flaggings. Is HN's ranking algorithm public?
The CIA and FBI do have recruitment programs for Mormon graduates, as they value the language skills and their abstinence from alcohol, drugs etc. And while they may be over-represented proportionally, they don't run the show of course. Most of the sources I have seen take the few hard numbers available and do a lot of speculation on the top.
I suspect the same applies to frontend dev. A lot of people just don't want to touch JavaScript.
Question: Do you mean msysgit, or something else? I almost never use windows but this would be nice for those rare occasions. Thanks in advance.
For programming practice, I've used typing.io (it was announced on HN a few years ago [1]). I'm especially error-prone on the right-pinky keys, which are critical when coding (enter, semi-colon, forward- and back-slash). Typing.io tends to work more of these keys in the code keys.

[1] https://news.ycombinator.com/item?id=4419030
It's Rand Paul & Ron Wyden who are talking right now.
No, being a citizen of a democratic country gives me the RIGHT to talk shit.
Thanks a bunch, it's fairly easy to find configs for HTTP servers (and SSL labs won't check non 443 ports), but I also run a dovecot server, and this made it easy to check; I had no clue SSLv3 was enabled by default, for example.

Sadly my current phone is stuck on SSLv3 so until I replace it I have no mail on my phone anymore.
Agreed. I think there's no clearer example of C giving you an advantage than integer division by a constant. Even on architectures where it's supported (x86), the divide instruction is really slow. The standard approach is to use the Hacker's Delight technique to convert the division into a fixed-point multiplication and shift. All production-quality compilers will do this for you by generating the magic number, but if you're doing it yourself in assembler you'd have to look up the magic number and shift. Lots of assembly language programmers won't even bother doing this and will just write "idiv" in x86 (or "bl __divsi3" on ARM), which slows down their programs.
Right, that's what I thought. Is there value in giving the job queue its own database then, or are they taking advantage of the fact that the jobs modifications can be included in transactions that involve other tables?
SublimeREPL exists as well and it does a great job for many languages.
Do people really drive differently depending on the insurance environment? I don't care what kind of insurance I have, I don't want my neck broken.
Even if we were to assume the CFAA is a reasonable and just law that should be applied in this case, it would still apply to those who use the code in a way that was against WhatsApp's permission, not for the one who provided the code. You might as well send legal threats to github for hosting the code.
Too bad this article didn't get picked up on HN. It's really good.

Map is a wonderful thing, and one of the neatest features of Elixir is the |> operator which means "take the output of the last function and put it in as the first parameter of the next" So you can write things like:

Enum.map(first_list, first_function)
|> Enum.map(second_function) # This map runs over the output of the first.

I hope there's a way to do something like this in swift... cause it makes programming fun. It's basically Enum.map(Enum.Map(first_list, first_function), second_Function).
> But they happen in most counties

If you meant "countries": no. No other country jails that many people, either compared to its population, or in absolute numbers. Not now, not ever.

The US is not "the land of the free", it's "the land of the jailed".

"Give me your tired, your poor, Your huddled masses yearning to breathe free"... and I will promplty put those bums in my private prisons where I'll watch them be raped to death.

That should be the quote on the so-called Statue of "Liberty".

We should ask for that statue back.
Yeah, I sure hate when a vocal majority can override a clear majority. That's as bad as a filibuster. Oh wait...
I dont think meesterdude was implying DodgerCMS shouldn't exist. And I think the question of if it could support GH Pages is not a bad one, in fact I would rather host for free on GH than Amazon as well.
>He has a strong libertarian ideology bent and is mostly consistent about it and is mostly consistent about it.

Except when it comes to:
A woman's right to choose
Gay Marriage
Legalizing Recreational Drugs
US Foreign Policy

He is a politician and as he is being groomed for making a run for presidency he is backpeddling. Which is consistent with every president in modern US history.
My account was permanently frozen a few weeks ago with no (valid) explanation. I have $2k sitting in their that I cannot retrieve for 180 days.

I also bought an iPhone on Ebay using PayPal weeks before. It turned out to be stolen (i.e. it was killed) and returned it back to the seller immediately. The seller issued me a refund via PayPal using an e-check that not surprisingly bounced. Took me hours on the phone over a few weeks, being transferred back and forth between PayPal and eBay (both parties told me to take it up with the other), in order for PayPal to finally open a ticket to dispute the transaction and force a refund to me.

Never again.
Thanks. I had it in paragraphs originally, but copied & pasted it back in from the back button after accidentally deleting it and the formatting didn't copy over.
While I am an enterprise user of memSQL now, I still have a machine running the beta version 1.0 from years back. It is still stable and still fast as hell.
Newbie here. What's the problem with Helvetica Neue?
I definitely agree with this. I had "learned C" but not really (programmed small things in it). Then about a year later I ended up taking a course that involved a lot of reverse engineering and analysis of ELFs.

Later on I went back to C since I knew I had never really done a lot with it and everything was a breeze. I understood what was going on, loved it, and on top of that was able to easily knock out loads of exploitation stack-smashing puzzles I found on the internet.

I already knew how to program pretty well but didn't really know system programming and C. I can imagine the value of, instead of writing hello world, learning assembly first and writing programs that end with some exit status instead. It would probably be way more boring, but way more informative in the long run.
I feel the potential for an internet movement to just fork the forked repos just to send WhatsApp a big middle finger.
I wouldn't look at it so cynically. The man might be in the Republican Party, but like his father, he is a man of personal ideals, not one to tow the party line.
It seems fairly clear that Simon isn't wildly motivated to stay on top of the ball here, and that's OK. Despite how many people seem to feel, he doesn't owe us anything. He released the software; we can take it, we can not take it.
The "Dragon Book" is pretty solid and a widely accepted resource:
http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniqu...
As an European an unscheduled blackout is unheard of. We had the first loss of power( a few hours ) this year in a span of ten years due to maintenance.
This is an incredible read. Too bad it's about to fall off and near be discovered.
I was thinking about the same thing yesterday! Glad to know it already exists.

My own Emacs feels... inadequate right know. But I guess something like this could be done for it too.
I'm guessing the OP is the Aradhya mentioned in the article.

1. Aradhya could've filed for H1-B for this year through his own company, since the deadline has passed for this, this is now irrelevant.
2. One option is to apply for O-1A visa awarded to individuals of extraordinary ability.

The US immigration system is definitely broken, but in this specific case, the change of status is not a sudden occurrence and Aradhya would've been aware that the policy change isn't happening in time and should've been prepared for it.
While every OS ships with a browser, I think the OP was asking "do you have to install windows 10" in order to get the new MSFT Browser.

IIRC, those examples you listed, you don't need to install the latest OS X to get the latest version of Safari (though you need to have a recently supported OS).
"but will run on commodity hardware"

We run memSQL 4.0 on 18 machine cluster, all commodity hardware. It is awesome.
We used to teach little children to use OpenScad years ago along with programming(I volunteered for that). Kids learn fast.

Now we teach them FreeCAD, and python scripting for the advanced ones.

I have no idea what the author is talking about, designing a 3d editor is not trivial, most kids don't need very advanced 3D editing either. They will just ask the one who is good at it, or download it from the Internet from already made models.

There is a need for 3D curves in the Open source world. This will be worked on over time.
if you're looking for public transportation options, this is probably the best bet. getting from NYC airports to penn station (where the Vermonter leaves from) depends on whether you fly into JFK/LGA or EWR (Newark, NJ). for JFK/LGA it's easiest to just take a cab to penn station (it's a flat rate of around 50 dollars i think, but be careful because some cabs are known to try and sucker people). if you fly into EWR you can just take the train from the airport right to penn station (NJ Transit) for much less. just be sure to build in extra time since google maps is notoriously optimistic with NYC transportation (imo)
There seems to be a lot of experience behind this presentation. But I wonder, how does all this G-testing compare to Thompson sampling? (Which was not mentioned at all in the presentation.) For example, is there any drawback with adapting the A/B probabilities on-the-fly, instead of having a hard decision point?
Self-incrimination does not apply in civil cases. This is actually a pretty standard warning against spoilation of evidence in a potential civil case -- if a party doesn't convey such a warning, then, in the event of ensuing litigation, the court is likely to find that they did not trigger a duty to preserve evidence on the part of the defendant.

If a defendant is so warned and destroys evidence, then the trial court may impose sanctions such as an adverse inference instruction (essentially, instructions to the jury that any evidence not produced by a side should be inferred to be damaging to that side's case). So any lawyer who stayed awake during civil procedure is going to make sure that they keep that option alive in the event they decide to sue.
I know it's illegal, but it'd be eye opening to worm these machines, then have them inject a banner sometimes, to alert the user. I suppose that's an ethics question overall. I know many exploits that can and are being used for financial gain. [1] The vendors respond very poorly (lying or getting angry at me). Companies and customers are at risk. But no one cares. Unless a major incident occurred...

1: One expensive (8 digit) system that was targeted at multi tenant setups used Java for the UI. Annoying but OK. But, how did the Java app determine your login privileges? Oh, easy! The app would download the root credentials for the system, use them to login to MySQL over the Internet, then "SELECT Permissions from user where...".

I met the developers and their response was " yes that's a known issue in the current version ". Ignoring that many users were stuck on that version for a long time. For bonus points, this system logged the root credentials to debug log, in the user's home directory. I'll let you guess if their updated version was vulnerable as all hell, too.

Edit: This was a major VoIP switch vendor (NexTone, now killed/bought by Genband IIRC), so exploits were easily turned into money. (Just route traffic on someone else's trunk for a bit.) Though I've dealt with other VoIP providers, ones that keep much more info (full end user info, CALEA module available) that had SQL injection-> root takeover on the login page. That puts end users at risk, too. Their response? " Our programmers are top notch C/C++ guys, they just aren't perfectly familiar with PHP... "
I understand what you are saying about "Putty seeks to perform a security-critical function." and therefore it should take these things into account (in a perfect world). I don't speak for all developers, obviously, but I'd wager a guess that most developers don't code (for OS at least) to "corner the market" or essentially become and run a mini-corporation (Twitter, Blog, Github, HTTPS, Code Signing, Website w/ Landing page, etc). They do it to scratch their own itch or to help someone else scratch theirs. Once they finish they upload it to github or some code-hosting platform as way to share the work they've done and contribute back into the community. TBH we are lucky they do even that. To ask them to provide and maintain extra processes just seems a little wrong. I get that code-signing and HTTPS ARE important and probably needed for a tool like this but I think the question we should be asking is "How can we help get to that point?" and not "Why hasn't the developer done this already?!?!". The fact that the developer continues to update/bug fix this program is amazing (as recently as "2015-02-28") and I worry about driving off a developer/contributor just because they didn't do a few things that probably don't interest them at all.

I say all of that less towards you and more generally in the context of this thread as you did point out "I am all for helping developers jump through the hoops they need to jump through, if they are willing".
There's a provision in the TPP (which is this 'unrelated trade bill' you speak of) that allows for extension of 215 of the USA PATRIOT Act. It's not a filibuster; but it's definitely related to the TPP.
But just looking at it as a way to just mock an API ignores the possibilities. The idea is that by having a formal definition of an API, not only can you consider and develop the API interface in isolation from your implementation, but you can use the same language to generate documentation, client SDKs, and server-side routing and request/response validation.

That final aspect is the thrust of swagger-node (https://www.npmjs.com/swagger) where we can take a Swagger document and use it as the basis of a dynamic (ie. not code-gen) Node.js API server. In the future, we'll also move beyond validation and routing to utilize extensions to declaratively provide other API services that are necessary but tangential to the business logic.
It uses a lot of uncommon words (and at least some proper nouns - small cities and such), but I have yet to see something that's not a word. Also, it gets better once you get through calibrating a few letters. There just aren't that many common words that use only the 5 letters it starts out with.
> (2) upvotes can't be the only factor determining HN's front page; that would make it consist of controversy, gossip, and fashion all day long

That seems like an awfully low expectation of the average HN reader IQ.
Well it _is_ Rand Paul on the floor, how else would you like to phrase it?

I've got no political interest in this either way, since I'm not American. So consider it an outsiders view when I say that I think it's not unreasonable to mention the person who's taking the action.
S-expressions are not obvious "just by looking" either. Don't forget you had to learn what they were and how they worked. You know that `(a b c)` is a list of three elements, that the first element can be extracted with the `car` function, and the rest with `cdr`, and so on. You also know that `(a b)` is shorthand for `(a . (b . nil))`, which helps a lot in knowing how to manipulate it. The fact that you are already familiar with Lisp taints your perception.

Not to mention Lisps, especially the new ones, throw obviousness out the window with merry abandon. Let's look at Clojure. You think it's obvious how to operate on Clojure? Here: `(let [a 1, b 2] (+ a b))`. What is that? I've mostly coded in Scheme, I don't know what square brackets are supposed to do. Vectors? How do I manipulate them and what are they doing in my let? And what does the comma do? Oh, nothing? Then why is it there? And if the comma means nothing are you telling me that if I want to list the names that are being defined by this form, I need to extract the even-indexed elements of a vector? Sure I can do that, but don't tell me you care about ease of manipulation.

Anyway, sorry for the rant ;)

I think the point I really want to make here is that sure, s-expressions are quite simple, but if I can explain how s-expressions work in a minute, and how my expressions work in five minutes, this isn't really a matter of ease of manipulation, this is a matter of laziness. If a language's source-to-AST rules can be fully explained in one or two paragraphs or a small table, and can be easily remembered, then that's all that matters. I think that `a b: c` <=> `a(b, c)` is trivial enough that it does not have any meaningful impact on ease of manipulation.
Google Fixes AdMob Bug Affecting Windows Phone Apps’ Ad Revenue for Weeks
How can you make a meaningful argument either way without access to NSA's actual hiring data?
Rebol is another homoiconic language that has infix operators:

>> 1 + 2 * 3
== 9

The Rebol interpreter see this as:

>> multiply add 1 2 3
== 9

Functions in Rebol have fixed arity, both add and multiple take two arguments. You can express the above with parens if you want to make it clearer:

>> multiply (add 1 2) 3
== 9

Rebols infix operators have no precedence they just work left to right (like Smalltalk). Use parens where needed!

>> 1 + (2 * 3)
== 7
And http://openjscad.org/ is a nice way to try it out without messing around with installing anything.
You're so right it hurts to read your comments ;-)
What's really behind the SV Angel shakeup?
Since it isn't actually a filibuster, he has to yield the floor by 1PM Eastern tomorrow according to Senate procedure.
Command logging has worked this way since VoltDB 2.0. Sync mode needs hardware that can support more frequent fsyncs, such as disk controller with BBWC (does the job and inexpensive), or a server-class SSD, and should be configured to write the command log and snapshots to separate spindles. Async mode is the default setting so that out of the box VoltDB will perform as expected in the cloud, on a VM, or on a laptop.
Null Object for Lists
Okay, I can see that I suppose. My thought was mostly that, if each individual is expected to be running the extension then they are pretty likely they are in a situation where everyone has some easily accessible form of communicating with each other. At least, in all of the businesses I've been in setting up some sort of meeting chat or IRC channel is pretty standard, trivial at the least.

That being said, having a way to do this on the fly could be pretty convenient now that I think about it more.
The problem I have with just about every payment processor out there is something that Bitcoin does well with from a protocol perspective. Right now you can copy a credit card with a mag reader in seconds, compromising some website that accepts credit cards means no limits to how much you can spend with other merchants, even having your credit card number stored in an RFID tag that can be read from a few feet away inconspicuously!

The status quo might mean that money can be clawed back after it's sent but identity fraud (or using someone else's credentials) should not be a problem in 2015, we've had SIM cards that can provide a secure method for identifying a physical device since the 90s. Why can't any payment processor come up with a decent alternative to having a magic number that you have to give out all the time that can be used to authorize arbitrary transactions? Maybe eventually every citizen will get a smart card of some kind and we can just use that.