Hacker Newsnew | past | comments | ask | show | jobs | submit | tomwilde's commentslogin

Switzerland is biased because of the militan army approach. Every able-bodied Swiss male has an assault rifle at home, without any bullets, however.


>> Switzerland is biased because of the militan army approach. Every able-bodied Swiss male has an assault rifle at home, without any bullets, however.

This was exactly the purpose of the text in the second amendment when they talk about having a "well regulated militia":

The phrase “well-regulated” was in common use long before 1789, and remained so for a century thereafter. It referred to the property of something being in proper working order. Something that was well-regulated was calibrated correctly, functioning as expected. Establishing government oversight of the people’s arms was not only not the intent in using the phrase in the 2nd amendment, it was precisely to render the government powerless to do so that the founders wrote it.

source: http://bearingarms.com/well-regulated/

Essentially this meant every citizen should be properly armed should they be called into duty for defending the country. Sure, a lot has changed since then, but most gun owners I know still take this wording very seriously and believe it is their duty to defend against government tyranny.


> Essentially this meant every citizen should be properly armed should they be called into duty for defending the country. Sure, a lot has changed since then, but most gun owners I know still take this wording very seriously and believe it is their duty to defend against government tyranny.

I don't see how you get from point A ("well-regulated" means keeping in proper working order) to point B (the purpose of the militia was to defend against government tyranny).

One of the motivating purposes of the Constitutional Convention was to respond to the failure of the state militias to put down armed rebellions against the government. Whether or not the second amendment guarantees the right to own personal firearms, the idea that the framers intended those firearms be used against the government is ludicrous. The most reasonable conclusion from the primary materials is that those well-regulated militias exist to put down those who would take up arms against the government!


Errr, how about Thomas Jefferson in 1789, after the Revolutionary War just to be clear? From Wikiquote:

God forbid we should ever be twenty years without such a rebellion. The people cannot be all, and always, well informed. The part which is wrong will be discontented, in proportion to the importance of the facts they misconceive. If they remain quiet under such misconceptions, it is lethargy, the forerunner of death to the public liberty. … What country before ever existed a century and half without a rebellion? And what country can preserve its liberties if their rulers are not warned from time to time that their people preserve the spirit of resistance? Let them take arms. The remedy is to set them right as to facts, pardon and pacify them. What signify a few lives lost in a century or two? The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants. It is its natural manure.

But he was most certainly a firebrand, and you do have a point about motivations for our current Constitution if this book is to be believed: http://www.upenn.edu/pennpress/book/13777.html (it's new (2003) and sounds revisionist, but that doesn't mean it's incorrect, just that as with anything historically political like it it has to be checked, see e.g. Arming America).


Thomas Jefferson was a lot of things, but one of the things he wasn't was at the Constitutional Convention. His writings evidence strains of thought that existed at the time of the founding, but to the extent that you can divine some sort of "intent" on the part of the 40 people who signed the Constitution, his writings do not clarify that intent.


We do indeed take that duty seriously, but the purpose of that bit of text was more of a sop to a losing side in the Constitutional debate, that wanted to depend on militias instead of formal armies, which everyone agreed were a long term danger to liberty. People like George Washington convincingly argued from their Revolutionary War experience that militias weren't a complete solution.

Needless to say, like the Revolutionary War smoothbore musket (not necessarily as useful for hunting as a slow to load back then rifle), today's "assault weapons" are the arms particularly suited for that duty.


You can buy ammunition in Switzerland in a gun store with nothing more than the equivalent of a an American "background check", i.e. no criminal convictions and/or mental health history.


Very interested, subscribed for an invitation.

Your pricing model seems unconventional: I'd not cap at $50, let bigger companies pay your salaries. Also maybe consider letting small teams (e.g. 5) have a free plan.


hello, We believe our prices are conventional. If your read about our pricing here: https://blog.finish.io/article/2015/03/28/subscription-plans... to see the plan that may fit your team size.

A team of five people will be under the pro plan (4-10 collaborators) will cost $16/month for the whole team. This is 54 cents a day. So if you have 10 members in your team beside you (equals 11), the cost per person per day is less than a nickel. Still not affordable?


2012?


Notice that the user agent string gets rewritten to something innocuous in HTTP headers but not JS. So sniff client-side through JS.


> Local governments have no desire to spend resources negotiating SSL/TLS with every single smartphone in their area when things explode, rivers flood, or people are poisoned.

That's one horrible argument, though. The cost of a text-based protocol on ethernet, over TCP greatly outweighs the cost of the encryption process.

Yes, of course encrypting things will increase computational requirements yet the cost is negligible in comparison to the problem being solved (stopping the trade of personal data).

It's hard for me to associate a privacy champion with these statements.


Seriously though, 14 years in internet time is about 1400 years. Whatever was on that graph is probably not relevant today.


My LL(k) recursive descent parser cannot handle left recursion without incurring in a O(n³) worst case time-complexity. OP please fix. I expect a solution until next week. Thank you.


If I wrote a natural number calculator in Agda; would all my numbers be represented as lists of successions from zero or can the compiler convert them to two's-complement integers as we know and love them?

In case the compiler can do that conversion: is it is programmed to do that for some subset of numeric types or can it infer an optimal binary representation of a value somehow?

On the other hand, if they really were represented as lists then I presume this language is intended as purely academic work and has no application in a production environment. Am I wrong?


> If I wrote a natural number calculator in Agda; would all my numbers be represented as lists of successions from zero or can the compiler convert them to two's-complement integers as we know and love them?

I don't think so, but Natural numbers can't be represented as two's-complement "integers"; neither can Integers.

There are many ways to encode such numbers if you really want; the easiest are probably "Fin (2^32)" for a type with 2^32 members (easy to convert to/from unary Naturals), or "Vect 32 Bool" for a list of 32 Booleans (easy to do bitwise stuff). You'd need to decide how to truncate the Naturals though; do you take min(x, 2^32 - 1)? Do you take x % 2 ^ 32?

Also, note that "S (S (S (S Z)))" isn't really a list; to turn it into a list we'd have to associate some trivial data with each constructor, eg. [NULL, NULL, NULL, NULL].


I always thought the statement

    {-# BUILTIN NATURAL ℕ #-}
binds the inductive definition of ℕ to an efficient implementation. However, googling now I can find no confirmation of this. Does anyone know more?


It's a proof assistant. Not really something you use for number crunching, industry or not.


But a proof assistant for numerical programming would be extremely useful.


Why do Haskell programmers see it as a good thing to package their abstractions in syntactic sugar?

Stop doing that. It makes it incredibly difficult to participate -- you basically need to learn 3 syntaxes on top of Haskell's own to contribute to any non-trivial project.

I'm referring to the article the post's author recommends: http://www.haskellforall.com/2013/02/you-could-have-invented...


Which syntaxes are you referring to?

Without knowing which one's you mean, can I offer a suggestion: Instead of looking at these syntaxes and more overhead, (feeling that you need to somehow mentally parse them into whatever they de-sugar to) try to treat them more as a chunking [1] opportunity.

So for example, when you see code in a monadic do block, don't try to mentally de-sugar it to the function calls it results in. Rather think of it slightly like imperative code where x <- someMonad ~ x = someMonad(). This of course isn't what's going on really, but in many cases it's close enough for you to use it and move on.

[1] http://en.wikipedia.org/wiki/Chunking_%28psychology%29


Thanks. I am referring to, for instance, the 'method notation' introduced in that article.

I think I know what you mean by chunking. It is my understanding that it is a counter-productive thing, though. Just like how with 'frameworks' imperative programmers lose perception of the technical debt they incur by not knowing what their code actually does.

Maybe this line of thought is not universal but I'd presume the majority of programmers would be afraid to submit code to a project where they don't really know the notational mix and syntactic sugar in use.


Syntax sugar in Haskell tends to be different than other languages. Since it's essentially just do-notation and do-notation follows monads and monads are required to follow a hearty chunk of behavioral laws... It's actually quite similar across the board what do-notation means. This makes chunking far more effective.


I'm generally agreed with you about the evils of excessive syntactic sugar, though I'm not sure about this particular case (I'd have to, like, go read the blog article or something...) The general problem is that the interface that is optimal for the experienced user (terse, lots of syntax) is not best for learning. All UIs (such as programming languages -- an interface to the machine) must determine where they fall on this particular continuum.

My personal beef is the use of the Latex extended character set to typeset Haskell code in papers. It has the awesome effect of making it impossible to type in and run code if you're not already familiar with Haskell. This greatly hampered my learning of FP.


I really want to agree with you about the extended character set. Much of it is totally cosmetic even. But when you get to reading more advanced things the ASCII overload begins and nice notation becomes key. Coq/Agda/Idris all embrace this out of necessity essentially.


To me this argument isn't much different than saying "why do programmers see it as a good thing to package their code in abstractions?". There will be difficulty of participation for all non-trivial projects. Every substantial project builds up its own unique abstractions, and you have to learn them to contribute. I see this as an unavoidable fact of building complex systems.

I really don't see a meaningful difference between the more syntactically varied abstractions in Haskell and the more wordy abstractions you see in OO languages (like FooFactoryProxyBean). It's still something new that you have to learn. You're just not as familiar with the way people do it in Haskell. If you had never seen the terms factory, proxy, and bean before, you'd have exactly the same complaint that you have about Haskell abstractions.

Where Haskell possibly does differ is in the level of abstraction it can achieve. Some of the abstractions haskellers use are significantly more abstract than what you typically see in mainstream languages. Sure, it will be more difficult for a newcomer to comprehend. But in return we gain a lot of power and expressiveness that you don't get otherwise.

Oh, and to my knowledge Gabriel's "method notation" is not actually in use in real code. It seemed like more of a convenience notation he introduced for the purposes of that post. That kind of thing is pretty common in academic literature. And if it is being used somewhere, it's definitely not mainstream Haskell.


I don't know if anyone takes comonadic co-do syntax seriously. Do-syntax lets you build up sophisticated monads from simpler ones in a nice way and this is a common mode of use for monads. Comonads tend to get sequenced a little less often, though. Co-do-notation thus seems a bit low on the power-weight ratio.


The comonads / OO article was interesting, but ultimately I got the same sense from it that I get from things like the construction of the reals from Cauchy sequences - neat, with fascinating theoretical implications, but brutally unuseful for practical applications...


That's the real problem; they don't know what to do about it, but they'll rather do anything instead of nothing. Either it's gonna be a lot of hot air or turn out for the worse.

What's funny is that Google already operates as separate legal entities in different European countries (though some countries share one HQ and hence legal identity).

How they plan to further "break it up" I can't imagine.


I don't think the aim is geographic boundaries, but functional boundaries. eg, Google Advertising is the only ad network allowed on Google Search.

To use a loose analogy with the Microsoft trials; msft having a monopoly on the desktop wasn't the problem. They earned it. Using that monopoly to create a second monopoly in the browser space, was the issue. Hence the unbundling.

In this case, Google having a monopoly in search isn't the problem - again, they've earned it fairly. But using that monopoly to prop up additional monopolies in, eg, advertising, is problematic.

I don't think they'll actually try to split Google up. It's so-far sabre rattling, and this decision just ensures they actually have a sabre to rattle.

But if, eg, third-party advertisers were allowed to compete with Google on Google's own properties? That'd be interesting.


It says it right there: break the search engine component from the rest of the company. This would mean that Gmail and Yahoo Mail would be on the same playing field if someone searches for "free webmail client".

I can't even begin to imagine the engineering nightmare that would be though, especially now that accounts are unified.


I don't think HQ location has much to do with legal entities - don't you need a local legal entity in a country if you actually have any "operations" there (offices, staff etc.) as you need to comply with local statutory reporting etc.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: