skysight-inc/HackerNews huggingface dataset:
This is right - a flexible array member is denoted with []. If you update the OPs example to try and put two of them in, you get this error from GCC:

x.c:7:10: error: flexible array member not at end of struct
I'd likely cost more to refund the money than the value of it - and honestly, if you got a parking ticket in error, its up to you to contest it - its not like the tickets were written in bad faith.
Wearable cures motion sickness
The use of an array of size [1] at the end of a structure is far broader than users of GCC. It is not a GCC extension; it's a trick which based on undefined behavior: accessing [2], [3], [4] ... in that array based on knowing that the space was malloced, which depends on the pointer arithmetic working, while the optimizer looks the other way.

C FAQ: [http://c-faq.com/struct/structhack.html]

"Despite its popularity, the technique is also somewhat notorious: Dennis Ritchie has called it ``unwarranted chumminess with the C implementation,'' and an official interpretation has deemed that it is not strictly conforming with the C Standard, although it does seem to work under all known implementations. (Compilers which check array bounds carefully might issue warnings.)"
The Munger Operating System
How does the city designate cutouts that are not approved for parking for disabled access, etc.? I noticed in the article that: "(Yellow paint has no meaning in NYC traffic enforcement, and the spot has no crosswalk)"
Change tickets. Change tickets for everything.
The typical path of how people respond to life-changing inventions
This. I assumed this whole feature was bought and paid for when stories like "Jennifer Lawrence shares pictures of her dog" would regularly pop up. If you assumed their curation process was fair or unfiltered, you fooled yourself.
Show HN: BadTranslator (website and first android app)
What languages would you say have definitely better tooling:
I'd say for sure the .NET languages, C++, Java, and Javascript but I'd put Scala just at a level below that, no? The tooling stories for Go, Rust, Haskell I don't think are as strong (yet), but that's definitely going to change though.
Precisely. People can harp on about 'oh but it says to pay attention whilst using it' and 'oh but it's still in beta' all they want, but good engineering in the real world, where shit kills people regularly, means engineering out all possible human-machine failure modes.

This is the result of applying 'she'll be right' cavalier software engineering attitudes to real-world engineering (civil, mechanical, structural, etc.) because in the vast majority of cases, software engineering is completely erasable and is fixed with a simple refresh. Agile doesn't work in the real world. It hasn't ever worked in the real world and that's why waterfall approaches and FEED is so engrained - it's proven to be the best method to avoid killing people and creating garganutan cock-ups.

Tesla should not include features that are 'beta' in a car. Tesla should not include features that promote inattentive operation of the vehicle if they are not absolutely, several-sigma robust. It doesn't matter how many disclaimers you slap on it or how cool and futuristic it is, the feature fundamentally encourages people to stand away from their vehicle, press a button, do something else and have it magically arrive next to them. This is bad engineering design no matter how you try to spin it as 'innovation' and doesn't cut it in the real world.

edit: The entire aviation industry is a textbook in this concept.
The rules of the system had changed and part of the system was unaware of the change. The system was not working as a whole to intentionally ticket legally parked vehicles. It was not systematic. And it's a clickbaity title. My comment is getting downvoted to oblivion because people don't know the definition of the word.
Better examples are NetFlix and Twitter.
Seems to just be the nature of it. Every single project I have ever worked on was delivered late.
Prefix/postfix/infix refer to the order in which you write operations and their operands—equivalently you can think of preorder/postorder/inorder traversals of the syntax tree.

AST +
/ \
* 5
/ \
2 3

Infix 2 * 3 + 5
2 times 3 plus 5.

Prefix + * 2 3 5
Lisp (+ (* 2 3) 5)
The sum of the product of 2 and 3, and 5.

Postfix 2 3 * 5 +
With 2 and 3, multiply. Then with 5, add.
That's a little different. Tesla advertises the feature as you being able to walk away while the car parks itself (and in some promos, even opens and closes garage doors by itself).

That's more than a little bit different from "careless on cruise control" (which, point of fact, most (new) cruise control systems will prevent due to those same sensors).
I'm certainly not a constitutional lawyer, so I ask out of curiosity: has the 13th amendment been interpreted this way?

I feel that there's a difference between slavery as punishment (i.e. being explicitly sentenced to slavery) vs. slavery incidental to punishment (i.e. being explicitly sentenced to imprisonment, and then the private prison deciding to enslave you during your sentence).
All these downvotes, apparently nobody can appreciate a bit of satire :P
you have to consider apps are still plugging holes of basic functionality everyone expect from a computer but isn't available on mobile.

I still can't fine tune my screen brightness nor set up a firewall. oh but next version of the OS will have support for saving a copy of my credit card for wireless payments
I've been using this for ages on terminal start up with zsh.
This list appears to be unofficial, but pretty good:

http://yclist.com
How is the propulsion system different from the California Screamin' launched roller coaster?

http://www.nytimes.com/2001/08/30/technology/how-it-works-th...
Can we get maybe a more neutral title?
TellForm the open source alternative to TypeForm
Maybe not a huge mystery- they're working on a car, at the very least.
If you have a look at the first link in the text, it will take you to the full "e-Trash Transparency" report (http://www.ban.org/trash-transparency). When you download the 'Report', on page 105 it describes, in detail, the methodology used.

Extracts from the report:
"In order to determine and procure the best equipment for the e-Trash Transparency Project, BAN tested several different subscription-based tracking systems. Based on the findings, it was determined that BAN’s case scenario was better served by a customized solution, but one that made use of “off-the-shelf” GSM/GPRS tracking hardware."
Source: https://s3.amazonaws.com/ban-reports/Trash+Transparency/Disc...

"The combined cost of a single tracker, external battery, the SIM card, the M2M service rates package was approximately $175 (including shipping and taxes). The project, funded in large part by a grant from the Body Shop Foundation, included the purchase of over 200 trackers."

"Free and open source software called OpenGTS was used to collect and display data in a user-friendly manner...software included integration with Google Maps"

"The trackers that were used usually had at least a 9-month battery life, with some trackers still communicating after 12 months. The battery life varies depending on many factors including signal strength, temperature and sleep mode settings. Prolonged battery life is primarily attributed to the tracker possessing a sleep mode function, which allows the device to hibernate in a power-saving mode for a preset time. Typically, each tracker was set to “wake up” every 24 hours, calculate its position based on the satellite signals it received, send the data to BAN’s server via local GSM networks and then reenter sleep mode function."
I don't think people are saying it's illegal -- people are saying it's a bad thing. Those don't necessarily equal each other. Concepts like "censorship" or "freedom of speech" can exist and be talked about independently of the United States First Amendment; there may not be legal grounds for prosecution but from a social/philosophical angle these are still things that can be legitimately debated.

My main concern is that, as more and more of the average Internet user's communications becomes funneled through a small number of big private companies, the typical media ecosystem that we're accustomed to is changing. For some people, Facebook and their feed basically is the Internet. I don't know what the solution is or if there is one, but I find it unsettling to imagine a future where more and more of everyday life becomes dependent on private forces that pride themselves on not having to provide the protections that people grew up assuming they could rely on.
Haha, i wasn't thinking anything there was fake.

And thanks a lot, those shots are really beautiful. I much prefer the simple bright daylight over the shots in the article. :)
Was going to say exactly this. Pilots do practice recovery training (with normal stall recovery as well as in adverse conditions), and I'm sure all of the pilots on board were aware (or at least should have been aware) of the correct procedure.

Airbuses are weird beasts though, and I have to say that as a pilot I find the normal stall recovery procedure to be completely counter intuitive. The compounding problems with the pitot tubes being iced over plus seeing St. Elmo's Fire due to improperly routing the aircraft directly into a thunderstorm certainly didn't help matters.
If you just want to try it out, I'd recommend using the provided instructions for Vagrant. Everything should work with that VM, and if it doesn't please let me know.

Regarding your actual issue, how did you actually run the provision script, and on what type of server (i.e VM or physical machine)?
Even though I got the quote right out of C99, I still mixed it up.

The reason for this is that ... I don't use flexible array member myself or the [0] GCC extension, either.

Flexible array member doesn't seem to bring anything to the table other than formal definedness of behavior. I can't imagine any implementation which supports flexible-array member in its C99+ modes, which makes [1] fail in the same modes or in the C99 mode. In any old compiler that doesn't have C99 support, that formally undefined struct hack is all you have.

I don't mind using offsetof(type, member) to obtain the size of the header before the array, rather than sizeof(type).

The classic hack is portable to C90 and C++98, making it good for "Clean C".

That said, flexible array member is elegant in the sense that it just uses an incomplete array type similarly to a file scope array declaration. Using [1] is a bit like while (1) instead of for (;;). I don't like the [1] in the struct hack, but I don't use C for its beauty.
I like what you said, but I have to admit that it seems like all white people in the 50's were actively racist. Showing up to lynchings, keeping black kids out of school, government institutions barring black families from moving to suburbs. Where do you draw the line between "understandable," "reasonable" racism and bigoted assholes? At what point do they take responsibility for their actions? Verbal violence? Physical violence? Imprisonment? Murder?
Cumbersome merging/branching and offline commits are the only two things I need to know to not use SVN (or CVS, Team Foundation Server, et. al.). Maybe I have the git version of Stockholm Syndrome (and after, what, seven or eight years I probably do), but I recall dreading a non-trivial merge, and to a lesser extent branching, in SVN due to cumbersome UI and an easy path to getting it wrong. And if your SCM doesn't let me work on the bus, GTFO.
I assume that means at what stage in this batch was the company selected, i.e. they were #1/25. I don't know how relevant that metric is though.
It's always a UX issue.

I agree with you in this case. A Tesla is a mass market item. It should be held to very high safetly standards.

Just ask the designers of that Chernobyl plant.

I somewhat disagree here. It was 1960's technology. Even now, complex systems like that inevitably have a plethora of ways that humans can screw them up. It's very hard to completely prevent determined idiots from destroying the equipment.
My understanding is that finding any sort of funding and mentoring requires some time commitment. This is no different.
@deftnerd,
Thanks! During my user research and analysis in this area, VoIP.ms didn't come up. So, I appreciate for bringing it up. The responses from the user research suggested that call forwarding and easy to use call management is the number one concern in getting 1-800 numbers; thus, this project came along. As we progress, we would like to bring down the pricing.
for YouTube viewing? really?

why would I go over the hassle to see cat videos? the worst that can happen is someone steal my like or generate fake ad revenue.

not everyone have their life attached to a google account.
Comprehensive map of California broadband availability by speed
> its not like the tickets were written in bad faith.

There's been a huge proliferation of laws in the last ~20 years or so which are categorized as Strict Liability. Taxes have always been like this, but lately a lot of new laws have said "follow this or else" full stop.

Since normal everyday citizens are being held to strict liability every day, I see no reason to be so forgiving of officers. I'm not suggesting that they're bad people, or deserve to go to jail for making an honest mistake. But what's good for the goose is good for the gander and if normal folks are being punished this way, so should law enforcement, politicians, etc. Nobody should be exempt, the law is the law.

https://en.wikipedia.org/wiki/Strict_liability_(criminal)
The author is Steven Ovadia, who runs the Linux Setup blog: http://www.mylinuxrig.com/tagged/the_linux_setup. It's like usesthis.com with a focus on Linux.
Yes, 'cal 16' is ambiguous (is it 0016, 1916, 2016? Different software may return different answers).

Without an explicit flag that should be used in a script, the dwim behavior (2016) seems more appropriate for the interactive use.
Technology, Reading and Africa's Development
Hillary (and other politicians on both sides, from local to federal) get a ton of for-profit prison money. No wonder.

EDIT: VICE did a piece in 2014 on people getting locked up because they could not pay their parole fees. Yes, debtors' prison, where parolees pay (or not) for the privilege of freedom. https://news.vice.com/article/debtors-prisons-are-taking-the...
How did you not notice calendar on the flight booking site? I've never used one that took a date string without showing a clickable calendar.
I would guess I'm in a small minority but I don't want my browser to play media. I want to use separate applications for that. The browser can know what I want to launch, and offer to do it, but I don't ever want media to play within a web page.
> people are saying it's a bad thing

I understand that. But why is it a bad thing? We have freedom of the press in the U.S. That means that the press is free to be biased.
is the difference between a generator and the rest that generators are lazy?
> Any DRM is an unsustainable system

Agreed. Every implementation of DRM has been or will be broken eventually, and can keep people out of something that wasn't intended to be always locked.

Putting DRM on software and music is like building shitty locks into every book in the library or single in the record store. It doesn't make sense.
I'm curious what prevents a small child from activating this feature.
> Why is the business of the new employer to know how much I was making at my previous position?

This isn't the question that I answered. It was asked how stating a specific, untrue salary might be fraud.

Refusing to answer and giving an untrue number are different.

> Also, I could be wrong but I don't think a new employer will contact a previous employer to specifically learn how much a particular individual was earning.

Lying doesn't mean you'll get caught.

Also, be careful. For example, during a background check for one my jobs (a rather "ordinary" one), they said they couldn't verify one of my previous employers, and asked if I could send them proof. I sent W2s for both years I was employed and my offer letter, which satisfied them. Maybe some would feel that's too remote a risk to worry about, but it's not out of the question.
Would you kindly clarify? Branching and merging in svn seems perfectly obvious to me:

$ cd trunk-wc
$ svn cp ^/trunk ^/branches/my-topic # create my-topic branch
$ svn switch ^/branches/my-topic # switch working copy to my-topic
$ # Hack away
$ svn commit -m "My awesome new feature."
$ svn switch ^/trunk # switch working copy to trunk
$ svn merge ^/branches/my-topic ^/trunk # merge topic branch changes to trunk (a)
$ svn commit -m "Merge awesome feature from my-topic."

In step (a), resolve any conflicting files with svn resolve; to start over, do svn revert [-R] (granted, new files will be left behind and there's no git clean equivalent AFAIK). With the exception of svn cp, all the commands are self-describing (and with svn cp, someone argued in the BK open-sourcing thread that "a branch is a copy" model is fairly intuitive for even non-technical users).

I concede that git is more powerful and supports different branch / merge workflows than svn, but svn's hardly horrible.
If the car was rolling over my child how would I presumably stop it? Nevermind what it "should" do, how would I stop it?
"I use a secure password algorthym." Maybe my notion of secure is wrong, but I didn't find it particularly secure ("Ensure your system always gives you a password between 8 and 9 characters long") or even convenient (absolutely no mention of password managers, system is based on memorization).

And then moments later: "I currently don’t have two factor authentication."

Just seems like there's two people behind this post: one who is concerned about security and one who doesn't fully leverage tools to enhance their security.

Not ragging on the author. This just stuck out at me. I'm genuinely curious and would love a follow-up if author can discover what happened.
I was wrong about the ERate thing -- it wasn't a prison, but a juvenile detention center. Kiddie prison is considered a school.

See: http://usac.org/sl/applicants/beforeyoubegin/non-traditional...
Maybe the iViewedThis api endpoint on the YouTube ios app is not/was not checking tokens correctly?
Ahh, understood now. I figured postscript as it's also a concatinative programming language.

I read postfix as in the mail server not as a synonym of suffix, thanks for the clarification.
Straight to Hell: True Tales of Deviance, Debauchery, and Billion-Dollar Deals
The Genetics of Staying in School
Deploying Django and Python 3 and PostgreSQL to AWS Elastic Beanstalk
The subheading gives a clearer idea of what the study says: "A huge study found 74 gene variants that are associated with years of formal schooling—but that doesn’t mean there are “education genes.”"

See also this FAQ [1] by the authors of the study

1. (PDF) [ http://ssgac.org/documents/FAQ_74_loci_educational_attainmen... ]
I don't know about the specifics, but they should get the administrative "fees" back, which are typically claimed even when someone is not guilty.
One possibility is the author logged into an iOS device to check it out - e.g. one of the devices Apple stores have lying around for people to test out - and then forgot to logout, so when other people used YouTube on the same device, their views were logged under the author's account
Details are here, on page 105. It was a custom GPS solution.

https://s3.amazonaws.com/ban-reports/Trash+Transparency/Disc...
I don't think so. I'm being generous in the sense that I'm open to multiple interpretations of what happened and I'm going out of my way to not assume (and to express that I do not assume) that you were being intentionally unpleasant. I'm happy to interpret it as an error.

But I still want to express that I think your top comment was unpleasant, regardless of how unhappy it makes you to hear that (which is apparently a lot).

Sure, you can tell me I shouldn't bother saying any of this, but I'm not really doing it for you; I want other Hacker News comment-browsers to be reminded not to do unpleasant things like that, and about how exactly they're unpleasant, and to do that I have to write something that's pretty much going to piss you off regardless of how I phrase it.
You are not alone. Even ignoring the problems of Flash, most web players are so bad I much prefer to just pass URLs to mpv but ... I don't want them to be better, I want it to be easier to use external programs of my preference.
Not parent, but I would reduce it down to

- C# with VisualStudio + JetBrains addon

- Java with IntelliJ

Why not the others you mentioned?

- IDE support for F# is not very good.

- VB is too dynamically typed to be reliable.

- C++ IDEs seem to be constantly fighting with constructs that manage to break the IDE's understanding of the code. It's gotten better with LLVM, but even VisualStudio is far away from providing a reliable experience.

- JavaScript is dynamically typed, so IDE support is not reliable.
Another issue that was in the media recently is the increased exposure to pesticides and harmful chemicals used in agriculture. I've heard that if most people saw how their food was made they wouldn't eat it anymore.
i'm writing a desktop app right now. it's < 1500 lines of ocaml and gtk, compiles to a reasonably small native executable (3M after running upx), and is fast and responsive. it also has a grand total of one user, because i quail at the thought of getting it compiling on windows, and have no way to even know if it will run on a mac. had i written it in electron it would be trivially cross-platform from day one.

i have not done so because i actually agree with you that desktop apps built on a browser are a pretty sad end-user experience, but the lure of honest-to-goodness "write once, deploy anywhere" is hard to deny.
Find what you need to make your business successful
Asiana 214 [0] is also relevant. The aircraft went into that partly disabled the auto-throttle. The pilot expected the engines to spool up automatically, but they didn't.

A key factor was that Asiana pilots were actively discouraged from hand flying the jet throughout most of the approach. They sometimes refer to younger pilots as "Children of the Magenta Line" [1] because of their over-reliance on the LCD flight director to fly the jet.

A similar situation could easily occur with Tesla autopilot which works as expected 99.9% of the time, with the driver caught off guard in the 0.1% of the time it doesn't work properly and causing a crash.

[0] https://en.wikipedia.org/wiki/Asiana_Airlines_Flight_214

[1] http://99percentinvisible.org/episode/children-of-the-magent...
Pulling the plane out of a stall used to be a part of basic training required for your license. That doesn't go on anymore?
Are you asking if the NYPD issued warrants (wrote checks) against the city treasury to people who were either implicitly or explicitly found guilty?

Or do you not realize that if someone doesn't contest a ticket, they are implicitly acknowledging their guilt?

Or do you think the NYPD can just start giving out city money as they see fit? Note: guilt is decided by the NYC Parking Violations Bureau, within the NYC Finance Department, not by the NYC Police Department.
The Miserable French Workplace and the Fight to Change It
You're not alone in finding the post confusing.

For me the TL;DR would be: Our edge nodes originally had full BGP tables from our upstreams. This was good as our nodes care about path selection. When we needed to scale, we didn't want to use a pair of (expensive) routers, because we didn't actually need routing, but our upstream were not happy about having to peer to more than a pair of devices. We bought some switches, reflected BGP routes to the nodes, and had to hack L2 connectivity between the switch and the nodes.

Also, using FIB to describe RIB irks me.
This is fantastic! Thanks for hard work and sharing.
Be Careful with Apache mod_headers