skysight-inc/HackerNews huggingface dataset:
One of the best parts of Go is that the grammar is (almost) entirely context-free - it is one of only two languages I know of in this regard - Lisp is the other[0].

This comes in handy because it is very easy to parse Go and make syntactic transformations while preserving semantic meaning. The "go fix" tool (which was used to port pre-1.0 code to Go 1.0) meant that Go never had a "py3k" moment[1]. This is not like python's "2to3" tool, which is reasonably good, but still doesn't handle every edge case.

My favorite part about writing Go is the "go fmt" tool. Because all code in the standard lib (and most third-party code by convention) is formatted using the exact same tool, it is very easy to read any Go source code I find online. I don't need to worry about stylistic differences or bikeshedding. And the "go fmt" tool exists (and is so simple to implement) in part because Go's grammar is so simple.

Go is emphatically not a Lisp (it's not even a functional language[2]). However, this one trait - the ability to make deterministic and reliable syntactic transformations - are at the core of what make Lisp's macro's powerful[3].

Like Lisp, Go's beauty lies not in the syntax but in the semantics. While I would appreciate a Go (or a Lisp) that had both more beautiful syntax and beautiful semantics, I would not want to compromise one bit on the latter.

[0] (EDIT) For the PLT nerds & pedants among us, I think mehrdada is right - in actuality, the grammar (IIRC) is fully context free, but in other languages, many of the rules which define a valid program cannot be encapsulated by the language grammar (whereas a higher proportion can). So it's less that the grammar is "(almost) entirely context-free" and more that the language is "(almost) entirely described by its grammar". That said, it has zero impact on the rest of my comment. :)

[1] Or, in the case of Python, not so much a "moment" as 5+ years and counting.

[2] It supports first-class functions, but that's about it.

[3] It does not mean that Go has macros, or even that Go can provide the same things that Lisp macros provide. It simply means that Go derives some of its power from the same place that Lisp macros derive their power.
#1 is only partly correct insofar as some people that can be helped.

Sociopathy is permanent and uncurable. It's also common among people with a criminal record. Sifting those out from otherwise lost but psychonormal individuals is not trivial.
cool game, makes me hungry!
I've thought and blogged about this question a lot.
http://nancyhua.com/2013/12/23/waste-life/
Something like... "we can tell you what google probably does with your site and content as compared to your direct rival, without actually being google, without involving google, and probably... sort of accurate... and... cheap enough... based on the relative quality of our sales pitch, all while satisfying your boss with a 'report'."
I think one of the reasons for developing Go were some hard-to-find bugs with the indentation of python code. AFAIR, the Go authors specifically didn't want this.

Found it: (http://talks.golang.org/2012/splash.article)

"As a simple, self-contained example, consider the representation of program structure. Some observers objected to Go's C-like block structure with braces, preferring the use of spaces for indentation, in the style of Python or Haskell. However, we have had extensive experience tracking down build and test failures caused by cross-language builds where a Python snippet embedded in another language, for instance through a SWIG invocation, is subtly and invisibly broken by a change in the indentation of the surrounding code. Our position is therefore that, although spaces for indentation is nice for small programs, it doesn't scale well, and the bigger and more heterogeneous the code base, the more trouble it can cause. It is better to forgo convenience for safety and dependability, so Go has brace-bounded blocks. "
So you pick two people, one moderate and one extreme, and pretend they're representative?

Most people's opinions on this stuff is somewhere in the middle (i.e. there should be some regulations on guns but some private gun ownership should be allowed). There are extremists on both sides. On one side it manifests as "ban them all" and on the other side it's "no regulation whatsoever".
Hilarious and mostly spot on. MySQL? Oracle hasn't ruined it yet.
I'm sorry you took it that way. The scope of our security hole was exactly as big as the Rubygems vulnerability. If I'd omitted that comparison, I was sure somebody would say "these guys were just as bad as ruby but they're covering that up!" At the same time, I wanted to make it clear that the only reason this wasn't a game-over disaster for us is because we were lucky. We weren't any smarter, or better designed. Just luckier.
How a user is supposed to know what site is behind the snip.ly URL? This is a phishing heaven.
While you may be right that future generations will condemn us for them, none of those things are remotely controversial enough. You can say any of them in almost any setting and people will mostly yawn. Many people think prisons should be banished, or at least severely limited (especially US prisons); there are plenty of popular vegetarians out there; assisted suicided is just your average polarizing subject.

This is what pg wrote five years ago, referencing this essay:

Just as well I've avoided saying most of the "things you can't say," or 90% of the people who read that essay and think "hear, hear" would hate me instead.... (https://news.ycombinator.com/item?id=255492)
giving people some choice is a good thing.

whether they use it? that's another thing.

-bowerbird
They would add themselves if it weren't for the infinite loop.
It's also not like integer factorization or discrete logs have reached some kind of complexity lower bound; it's certainly not impossible that we'll get a L(1/4) method in the future as well.

Not impossible, no. But the fact that people have spent much longer looking for improved integer factorization attacks without making progress makes me more optimistic that integer factorization will continue to hold up to further scrutiny.
Is there anything you can think of that Mozilla has to gain by not adopting WebP? I'm at a loss.
Big Blue surely has clever enough lawyers to come up with a corporate structure that works here. They probably just need a foreign subsidiary in each country they want to do business in and have that subsidiary completely own and control its data centers. If you're a German company your data is and stays in Germany and would be subject to German law (which according to Snowden may not mean a much for privacy).
You can still make syntactic transformations in the same way you would for any other language: use an AST. No syntax compromise required.
Enemies of the internet: the countries and agencies controlling the web
Looking for a cofounder level role? Join me; I've already got the ball rolling
TL,DR: Longtime reader, throwaway account. Started e-commerce company solo a while ago and planning to join an accelerator soon. Looking to ante-up by adding 1-2 people (ops/marketing and possibly tech) on mutual trial basis to start. I'm generalist (design business & some tech).

MORE: I recently established an art-focused e-commerce startup, centered on redefining discoverability with a twist and direct sales of unique goods from indie designers. Planning to join an accelerator soon and would love to have a team in order to grow and capitalize on the program's resources and connections.

Rather than speed dating and swiftly declaring love until death do us part, I figured an extended dating trial of a few months might be more practical. Compensation could be structured as stipend paid during the accelerator period followed by negotiated equity (on vesting schedule) if both parties agree to continue working together. Possibility for full salary when the startup gets funding (or reaches applicable sales milestone first).

I'm open to partners from anywhere, as long as you can relocate to North America to participate in accelerator and possibly stay afterwards. Contact me if interested: artystartup [at] google's email service
OpenGL ES 3.1 isn't your father's graphics language
It's good that they turned out OK despite being misled by their parents; you may find that OK because tradition, I find it simply a form of lying, regardless of whether you actively said anything or not.
Regardless of whether it's nature or nurture, women in at least Western culture are used to focussing much more on the subtle interpersonal dynamics of situations.

It could be due to something as simple as hormonal differences creating more interconnections between hemispheres or historical oppression having given rise to a form of power play that by it's nature needed to be concealed from men.

Whichever it is, it creates a different kind of sense-making and internal dialogue. Right here, you're taking that 'kind' of internal dialogue and branding it as the sort of tripe for which women deserve to be excluded by men.

That, even disregarding the fact that you accidentally wrote this to the author of said post, is exactly the kind of stuff sexism in tech is made of.
I kinda want to see Rust without braces or semicolons, although I'm not sure what you'd do with implicit return.
How did sacking Constantinople prevent Christians from becoming muslims?
I currently do 100% of my work on a 17" laptop (and right now I'm hanging out in a small town in the Sierra, watching a river flow by right outside my window).

I'm not sure what you use, but I've found that just keeping a really organized workspace helps a lot. I use KDE4 and have four workspaces set up: one for web browser, one for tiled ssh terminals, one for Sublime, and one for "everything else". They're always arranged in the same order, and I have an easy hotkey (ctrl-alt-left or right arrow) to switch between them
It seems like a completely pointless stance, anyway. If he's right, we'll revert to pre-civilization regardless. No sense trying to influence it!
Why Placemeter Will Make Your City Better: Traffic Edition | Placemeter
High-Tech Employee Antitrust Litigation Settlement Administration Website
I can write code in iGo and save it as .go. You'll never know if the code was written using Go syntax or iGo syntax, whether the person used tabs of width 4, 8, or 2 (it'll be a '\t' character in the file), or if they used Sublime Text or vim or emacs.
> This is a popular criticism of the system for which supporting evidence is never provided.

You'd have to have read all the criticism of the system to be able to make this claim.

The Cirrus SR22 is worthy of study if you're actually interested in this. For a while at least, it had a somewhat poor safety record in spite of being in quantifiable terms an amazingly safe plane. I'm pretty sure human behavior is involved.

Anyway, here's a place you could start, although I can't vouch for the quality of an article I haven't read: http://www.avweb.com/blogs/insider/AVWebInsider_CirrusSafety...
Democracy is not perfect, but it's the best option available.

Also, I can't tell if you're being facetious or if you truly believe we would be better of with dictatorships...because there are plenty of real-world examples to choose from and they're quite horrible.
> One of the best parts of Go is that the grammar is (almost) entirely context-free - it is one of only two languages I know of in this regard[0]

There is also Erlang [1] and my personal rethought version [2] featuring no ,.; and more…

[1] https://github.com/erlang/otp/blob/maint/lib/stdlib/src/erl_...

[2] https://github.com/fenollp/kju
I used to leave my bookmarks sidebar open all the time before I switched to Chrome for performance/dev tool reasons. I was bummed that Chrome didn't have the same functionality, but didn't mind gaining screen real estate. This seems to solve both problems, I think.
A closer "male" analog to nurses is cops.
There's a few projects around the idea of not requiring a dynamic backend for webapps. The general term is "unhosted" (unhosted.org), and it mostly started as a reaction to the we-have-your-data-and-can-use-it-however-we-want websites. RemoteStorage.io is probably the most mature unhosted library, and there's a few other services listed on unhosted.org that are being actively working on.

I got attracted to this idea because it offers several security advantages. I've been working on a minimalistic javascript library (byoFS.com) that allows you to connect a Dropbox/Google Drive/etc. account and write automatically encrypted data to it. I tied for 2nd place at a recent privacy hackathon for making an encrypted chat application using only Dropbox accounts:

http://www.youtube.com/watch?v=WTPimUSIWbI
Teach a man to fish.

In truth, there's a lot of injustice in this world, and that's not something that can be legislated or marketed away or even corrected except in some small way by charitable people doing charitable things on their own or in small groups. We shouldn't feel guilty for good fortune, but we can still help lift the lost, weak, innocent, dying.

Corporations, charities, and governments cannot, and will not, do that: they are an expensive middleman; more than that, they are an abstraction layer that insulates us from the pain of others.

This is humanity. This is us.
Why is significant-whitespace vs. braces a significant issue for people? I've coded in both and while I suppose I would have to say that I'm "most" comfortable with braces, I don't find SW that different.

The semantics of the code haven't changed at all. It's not like we're going from C to O'Caml here. This doesn't enable a different way of thinking about the code.

I guess I just feel that, if I could run a set of very simple regexes over Code A to get Code B, then I haven't really gained anything [1]. Maybe that's a sign of the times. Maybe we live in an era in which the various programming languages have evolved to share so many features that a trivial translation exists for the majority of scenarios.

Perhaps I'm over-thinking it. Maybe OP was proud of his/her presentation. It's pretty neat, how the two halves of the screen are presented.

[1] an opinion born from having spent time running simple regexes over Code A to get Code B and realizing I hadn't really gotten anything out of it.
> Form. ModelForm? Formset. Inline formset? Model Formset ... ? Jesus I just need data POSTed back. Why must I use your management_form when you don't also give me the JS to ... manage it?

Because Js stuff belongs in the frontend? Django very explicitly does not do frontend logic.

> ModelForm._meta knows it's app_label, why doesn't a regular Form

Because ModelForms depend on models which depend on apps to function properly. Forms are just plain old classes.

> 200-line migration files are just not fun to grok.
No, but they allow the migrating class a lot more flexibility by letting you access the ORM within a migration with no concerns about what your current models files look like.

> Having a user model you're not supposed to touch
1.5 and on have pluggable user models. Prior to that most of the important stuff was highly overrideable.

> urls.py gets way too disconnected from what they are actually routing to

That speaks more of the issues with your routes rather than what the framework allows. There are a few well-established patterns which make the routing no less clear than any other framework.

> managing 'apps' is silly, making a new directory in python gives you just about the same advantages.

Then you're not understanding what a Django app actually is and how it differs from a regular module.

> if request.method == 'POST'
As opposed to?

> SQLAlchemy is the better ORM for python. Jinja2 is a similar template syntax but with better performance. WTForms are easier to work with than Django forms

Seriously, these are non-issues, they have been touched upon dozens of times, and you clearly have not used the framework's integration capabilities sufficiently to understand its strengths, so either use something else or learn to leverage its unique advantages.
> like if your plane is certified for flight into known icing conditions and you have experience doing so, then it's not a huge risk to fly into these situations.

But it's not a binary condition such that you can make a really clear distinction like that, right? That seems like the big risk to me. If it were as easy as "those are icing conditions but we have to equipment to deal with icing conditions," okay, no problem.

I expect the risk assessment process involves more variables and is more along the lines of: "sure, that weather system is more dangerous than we'd ordinarily fly into but we've got a better deicer this time, we're in a hurry, we're experienced pilots so... let's do it." (admittedly, I have no idea how specifically a weather system's risk and a deicer's performance can be quantified beforehand... maybe it's a piece of cake)
Full Disclosure: I work at ^Lift (liftsecurity.io)

To be honest, we usually bill out by time rather than code base size.

To determine costs, we:
* look at the application size
* estimate how long it will take us to get good coverage
* take in all the other factors (source provided vs blackbox)
* then we give an estimate based on how long we think it will take

I must say that I honestly believe that what we provide is totally worth the money. We work really hard to provide a clear assessment of the problems with recommendations on how to fix them.

We aren't an "automated tool" shop, we actually look at the app and understand how it works and then see how to break it.

But to actually answer your question, having NO IDEA what your application actually is:
(Keep in mind I am not the actual guy who does the bids, I do assessments and training. No promises, please don't fire me, etc.)

Prices vary drastically by project, and it would really depend on what we were looking at.
Show HN: Air violin with Pebble + Android
I appreciate the inline if-else statements. I'm so tired of having:

if err != nil {
return err
}

Take up 70% of all lines in a function.
IGo as-is could've been just an alternate colored-syntax mode with color of curly characters set to background color. Much less work with same result.
Oh really? So the igo code won't be checked into your repo? The comments you've made will be preserved and in the right place in the resulting code? And you'll be writing go code that other go programmers will find idiomatic and easy to read?

Also, if you use igo won't you have to adjust to read other peoples non-igo code? Or will you use a converter tool whenever you read any go code?
.... .technology is now a TLD?

Well, I didn't know that.
Film-makers stopped from digging landfill in search of Atari E.T. game
And execution is (therefore) "just" a multiplier of ideas.

You definitely need both.
The author is right that we need to think outside the box but I think his argument is misleading. Historically, programming languages evolve and not leapfrog. I don't see why Objective-C cannot keep evolving while some other company is bold enough to research a new visual programming language that will result in a paradigm shift. The two are not mutually exclusive.
It's not a swipe at all. It's almost self-disparagement. They're being totally up front with "as history has shown, this could have been incredibly disastrous, but we got really lucky."
I do. LibreOffice saves in that format by default.
It goes beyond learning though - I'd say we actually need those changed circumstances and advanced technologies for those changes to happen. Trying to adapt a 2010 US morality or system of government to a 1200 Mongols environment or a prehistoric one probably would just be a huge mismatch and not work.
Google Glass is on the Ropes. Could be Finished
The media told people what to think, and, by and large, they thought what they were told, or were cowed into silence. Not that it mattered-- millions protested anyway, and were ignored.

Which is it? Were we cowed or did people make up their own minds to the extent that millions protested and (presumably) millions more disagreed? And why characterize the people against the war as freethinkers, while assuming those who supported it were tricked? I know a lot of people who were against the invasion who couldn't tell you five things about the entire region. I wouldn't consider them freethinkers. It doesn't feel like you've actually said anything in this comment.
"Why do they have to apologize for that?"

It's just the sad state of the 'industry'. As soon as some armchair warrior finds something remotely wrong with whatever, they'll go nuts on you and you need this sort of touchy-feely PR nonsense to placate the comic book shop types. Hats off to these guys for being level-headed enough to be able to play the game this way - I couldn't do it any more, I'd go bonkers over overhead like this.
> If you ban guns in bars then someone who carries a gun around anyway will have to stash it somewhere before they arrive, or risk breaking the law.

Coat check for guns? A peace tie (zip-tie) on the holster? It's not like this isn't a well understood problem.
It seems like it would solve at least one thing.
Trying to figure out if the JavaScript on this page is intentionally "shitty". Who uses a `while` loop to get a random item from an Array?
Thomas could give you better numbers here, but in general, appsec reviews cost as much as getting software development done. (i.e. For a security review worth the paper you print the report on, you're looking at $5k at the lower end if your application is simple or if someone wants to really do you a favor, and they get substantially more expensive than that. You can get someone to run an automated scan for $500 and give you a CSV file, but that is not maximally in your interests.)

I'd turn away any client who asked me to do appsec work, because I don't think I'd produce work of a sufficient quality to justify the sort of rates I charge, but I do think I'm probably good enough to roughly scope appsec projects on technologies I understand well. Example: Appointment Reminder is an architecturally simple Rails application. I think an audit of the marketing site, application, and architecture would reasonably require probably 1 to 2 billable weeks depending on how much I asked you to plumb e.g. line-by-line HIPAA requirements, and that would probably run in the $4k to $12k region based on my understanding of prevailing rates for appsec work. (I'm sure that if I had $25k budgeted for that audit many firms could find a way to get me my money's worth for every penny of that budget, by the way.)
Sounds like you need a new vendor? As an alternative, could you run XP in a minimum VM, which has that particular PCI card's address passed directly to the VM? Then make sure that there is no other way into the XP VM (i.e., don't run any other apps on it, and keep it only on the host-only network).
Maybe they tried getting replication to work reliably on MySQL.
Don't forget 2048 Numberwang: http://louhuang.com/2048-numberwang/
Polio eradication is only one of many health initiatives funded by the Gates Foundation. It is an outlier in terms of total lives saved and was selected because the funding could leverage several generations of polio mortality reduction initiatives (iron-lungs, Saulk vaccine, Rotary PolioPlus) over into complete eradication.

A million children a year die from gastro-intestinal problems and diarrhea http://www.gatesfoundation.org/What-We-Do/Global-Health/Ente...

1.3 million children died from pneumonia in 2011: http://www.gatesfoundation.org/What-We-Do/Global-Health/Pneu...

200 million people were afflicted with malaria in 2010: http://www.gatesfoundation.org/What-We-Do/Global-Health/Mala...

Sure, you probably don't know any of those people. They don't have laptops or cars or spare cabins in the woods. And they certainly don't hang out at libertarian circle jerks.
> One of the best parts of Go is that the grammar is (almost) entirely context-free

You mean almost regular. Almost all programming language grammars are context-free. Regularity is a much higher bar to reach.