skysight-inc/HackerNews huggingface dataset:
Well. True. But as I've said elsewhere in the thread, Microsoft seems capable of handling COPPA just fine with minimal bother, and Google really doesn't give a shit if you're left without recourse.
Not every law is good, and just because something is written to law doesn't mean that you should blindly obey it. I think the grandparent post is right in that this is a nice way of illustrating that point.

However, I definitely see your point that quietly lying about his age is likely not the best way to get the law changed.
Agreed. There's a time and a place for everything and white lies make the world go round when used wisely.

However, I think you were voted down because it's difficult to find the line between a child making wise judgments within context and assuming they can lie in every scenario for their own benefit. That's a tricky one to walk, so it's better to play it safe until you're dead sure they can rationalize about the "real world." This is likely to be higher than age 10 for many kids.
Personally, I don't think they should be able to create an account with Vonage or Verizon or whoever and sign up for telephone service, no. I have no problem with them using their parents' account(s), though.
Zynga planning to diversify beyond Amazon, build its own data centers
My question was: what ad network(s) are you using?

I searched your blog, but couldn't anything related to that (maybe my GoogleFu is not good enough).
About Car Transport
Fax? Easy? So now you need to go through some pointless, antiquated charade just to indicate that you consent to let your kids use the service? It would cost far more to have someone looking at the faxes and correlating them with the appropriate accounts than they gain by allowing minors to use their site. Google is not a charity; COPPA has made it far to expensive to bother keeping profiles for minors, so they just ban it, like just about every other significant online service.
Google Profiles (and so Google+) is not available for Google Apps accounts anyway. It's actually one of the few Google products/services still not available https://www.google.com/support/a/bin/answer.py?hl=en&ans...
The Capacitive Button Cult Must Be Stopped
Then the issue becomes determining what abstractions are "necessary". The line is very blurry, and there is plenty of room for a range of reasonable positions on this matter.

While there may be some objective truth about which abstractions really are a net benefit to use, there's no easy way for us to determine it (besides deciding between binary and assembly). So arguing about it is mostly pointless. Leave each to their own preference.
Great minds think alike. I was saying exactly the same thing: http://www.rakkhis.com/2011/07/google-plus-because-i-hate-be...
I don't buy it. If a pre-sales technical enquiry comes into multiple addresses, including 'support@...', 'sales@...' etc. and the sales & support teams do not talk to each other or share business intelligence, then there has been a failure of internal process, or a lack of proper systems, rather than it being the case that the email address design and structure is broken.

It's not hard for a Sales team to circulate a regularly- updated list of current prospects and their pipeline stage, or to have this as an Intranet page etc.
Nobody invited him I guess... poor guy! :)
Here's what I don't get about Haskell's.. philosophy I guess.

(Disclaimer: I've only spent about a week learning me a Haskell for great good, and that was a couple weeks ago, so I'm not an authority by any measure.)

The Haskell community uses the word "pure" a lot, and I don't get it whatsoever. Even this musing says it's "easier to write correct pure code than correct imperative code." What does that mean? Is "pure" code the opposite of "imperative" code?
Rate my startup - CertiVox's PrivateSky
I've been a long time lurker on the board, but this is my first official post. My name is Brian Spector, I'm a long time crypto geek, working in infosec for about 20 years.

Last week we launched a new service called PrivateSky, which is a end to end, browser to browser encryption service, for free. Our first product is the PrivateSky for Internet Explorer add-in. Yes, we will come out with Firefox and Chrome soon.

I'd love to see what the board thinks about what we are doing, and if so, what we could improve.

I hope this is the appropriate place to post this, if I'm violating policy (checked, couldn't find anything), then please do let me know and I will delete this.

You can get the free PrivateSky Internet Explorer add-in at:

https://privatesky.me

What does it do?

CertiVox's PrivateSky SaaS is a major innovation in secure inforamtion exchange. The PrivateSky for Internet Explorer Connector add-in is a whole new approach to securing confidential information posted to the web, and anyone can use it. The PrivateSky for IE add-in doesn't require multiple passwords, certificates, or complicated processes to learn. It's simple browser to browser encryption that just works. Use it to encrypt your webmail, Facebook posts and messages, LinkedIn messages and even blog posts. PrivateSky uses the AES encryption algorithm, that means it is super safe!

Enough with the marketing schpeel, here's what we really do:

We operate an encryption key management server in the cloud. Our software connects to our key server to get everyone who enrols what we call a SkyKey. You can think of this like a private key. However, we are using a new form of key agreement called non-interactive authenticated key agreement, based upon bilinear pairing mathematics. No, this is not identity based encryption, this is non-interactive key agreement. It's heady stuff, but it has suffered through 20 years of cryptanalysis and is secured by the DLP.

Now, the thing is, there is no public key. There is only one key, your SkyKey. But, this enables you to create "connection keys", which are regular AES 192 bit keys. The analogy I always use is this: Suppose every time you made a friend on Facebook, a worldly unique AES key was created between you and your friend, and could only be created between you and your friend.

That's what we've managed to do, but in your browser. Oh, and there is a boatload of key protection, rotation, etc., going on in the background.

Again, love to get some feedback. I'm the chief bottle washer at the moment so I can't promise to respond to feedback immediately, but will try my best.

Thank you for giving it a shot and please let 'er rip, the good, bad and ugly.

Cheers,
Brian
Thank you for your comment. People seem to have no idea what civil disobedience is. In addition to the good points you made, I'd also like to point out a couple things: First, this is not civil disobedience, it's corporate disobedience. And second, people seem to have forgotten that civil disobedience entails putting your ass on the line, in the form of publicly and flagrantly breaking a law.

The point of civil disobedience is to appeal to people's consciences, to call out a wrong far greater than your law-breaking, and to willingly open yourself to prosecution in order to make that point. (That's why Anonymous isn't committing civil disobedience until they turn themselves in and allow themselves to be on trial in order to call attention to the unalloyed benefit to society they seem to think they're providing.)

I don't see how Google's disallowing ten year olds to have Gmail accounts is a wrong: it seems more like a simple business decision in the face of a law that's designed to keep companies from preying on ten year olds by inundating them with marketing.

We all know the poster's child is special, but for all of the kids who aren't the offspring of übermenshen, this is a fight that maybe's not worth fighting.
Smartphones Could Make Keys Obsolete
https://privatesky.me

We built it. It's an IE add on. I JUST asked HN to rate my start-up, as a matter of fact.
This is a really good point. I feel a lot of the time, I end up having to think which email I should email someone at. When a contact page has 8 emails on it with contact@, info@, support@, sales@, etc, it gets really confusing. I usually just end up emailing sales@, since I remember when I was working at Admiral, new customers got better treatment and response times than existing customers.
Office 365 Launch: Microsoft Made Headlines
The problems the post describes are not really about email. They're actually about the difficulty of setting up a proper CRM system.

All incoming and outgoing email should be stored in a way that anyone can easily see the conversation history (and people should be checking it before they respond). As I see it, that's the problem the post is actually describing. Having one email address is a method of trying to achieve this but IMHO it's not how it should be done.

The problem with CRM systems as I see them is that most of them require users to click away from the email to read the full conversation history. Even worse than that, employees usually have to manually add a conversation to the CRM to begin with.

A better solution might be to automatically save incoming email to the company CRM and also append outgoing messages to the appropriate contact. That way, no-one has to remember to add records. The next step would be to expose that information directly in the email client so employees don't have to go hunting for info (if they can even be bothered).

I don't think most customers actually care where their reply comes from (e.g info@, sales@, bob@...) as long as they get a response and their issue is resolved.

Edit: I agree with the post that customers should not have to figure out which address to use from the website. Just give them one
Annual Panic fireworks packaging design critique
Except nobody is being hurt in this case. There are infinite available domains for all intents and purposes. The real estate analogy is fine, you just don't live in the really nice neighborhood. You live in a cheaper one. Or perhaps in a .info ghetto. You still have a house, it's just not a mansion on the beach. Unless you pay for it. People aren't harmed by not having a the best domain available.
It's also not hard to have a single public-facing email address. In fact, that sounds a lot easier for the Sales team than remembering to circulate and regularly update that list.

I agree that the issue is one of internal process and lack of proper systems, and I don't see why you exclude email address design and structure from those categories.
That's exactly why I use Fastmail.fm rather than Gmail. I pay them some small amount of money each year, and in exchange they provide actual customer support. Nothing ever has gone wrong, but they're there if I need them.

Incidentally, their TOS says:

This Service is provided to individuals who are at least 18 years old or minors who have parental permission to open and maintain an account.

Which seems much more reasonable.
Are accounts of Chinese shafting foreign investors/businessmen whenever they can also prejudicious and xenophobic?

Yes.
I really enjoyed the experience!
Why Zynga and others are rushing to IPO
a markup language like html is not made of elements that containts other elements, that is just an artifact of the syntax. A tag is more like a "semantic modifier" of its argument/the thing that it contains. How is <i>Lorem ipsum</i> different from (italicize "Lorem ipsum") or italicize :: string -> adorned-graphic-text ?

edit: also, I think having one entire application expressed with only language (coffeescript vs html+css+javascript) is an advantage.
This may be a bit "get off of my lawn," but I would never use this. I respect the effort put into making it work, but I have no problem writing
<div></div>
I tried cracking open the button to customize it, but I lack the skills to go all the way. I'd rather lobby Google to make a real API for it anyway.
I think the interesting aspect isn't so much whether they should be allowed to use these services but what kind of contract they should be allowed to enter with providers independently of their parents or guardians.
I'm a huge fan of Wave's UI and wave in general. My friends and I have used it every day since it's release. We love it and our only complaint is that it is occasionally sluggish.
rl baoo
Linkbait; there's nothing here about either scaling or an iPhone app.
IOpener - How safe is your iPhone data? (How to "pop the locks" on an iPhone)
The law is meant to cover this specific situation. The FTC, enforcing COPPA, fined the social network Xanga $1,000,000 for allowing children under 13 to sign up without parental consent.[1] The law is specifically intended to prevent advertising agencies -- like Google -- from gathering information from children.

"Research ... showed that young children cannot understand the potential effects of revealing their personal information; neither can they distinguish between substantive material on websites and the advertisements surrounding it. While some parents tried to monitor their children's use of the Internet services, many of them failed due to lack of time, computer skills, or awareness of risk. ... 'a Los Angeles television station reported that it obtained a detailed computer printout of the ages and addresses of 5,500 children living in Pasadena simply by sending $277 to a Chicago database firm.'"[2]

[1] http://www.msnbc.msn.com/id/14718350
[2] http://epic.org/privacy/kids/#introduction
Hackers take over Fox News Twitter account and declared President Obama dead.
The problem with time-based bugs is that they are often subtle. I've had time-based bugs that only appear between 11pm and midnight; or only during daylight savings time; or only where the client is in a different timezone to the server.

Also, it is very common for business applications to deal with 'dates in the calendar', for example:
a) John's birthday is 26 August 1966
b) The loan was borrowed on 16 January 2006 and repaid on 9 September 2009.

I suspect most programmers will disagree with me, but in my experience it is NOT good practice to use a timestamp class to represent such things. It's better to use a class specifically designed to represent a date in the (Gregorian) calendar. In fact, I created an open-source Java class for this purpose:
http://calendardate.sourceforge.net/
Ask HN: what is the best way to get authorised data from users esp students?
I am building an app to record student data about their academic and non-academic achievements/interests. The latter part is not captured in any system and so we collect it from scratch.

The challenge is to authorise whether the data recorded by students is right. I met educational institutions/staff and it is apparent that it is a big pain which they are not willing to take.

Is there a best approach in solving this problem of collecting authentic data? Its a major hurdle in providing an useful solution and I like to understand whether similar problem in different domain is solved in any unique way which we can try out.

Also the number of students is in thousands.
I like this. I recall a startup some years back with a vision to build something complex. The founder sat down with everyone and said that we had an important decision to make: Do we build something that grows or do we build something that evolves?

Neither way forward was presented as an obvious win. Building something that grows meant overengineering and trying to forecast the future. Building something that evolves meant constantly rewriting things, taking time away from new development.

Twitter seems to have taken the "evolution" route, and it has served them well. I'm not at all sure they would be this successful if they'd tried to build on the JVM right from the start using the technologies available at the time.
I see the EC2's are in different regions but not the RDS, can you choose which region your put your RDS in or is that not a factor?
She could also have children with a man whose ambition is to raise children. (Don't make the mistake of thinking stay-at-home parents lack ambition! It's just directed at kids rather than money, power, or fame.)
How do I take my iOS app from $1.5k/mth currently to $10k/mth?
We've been working at developing and supporting this iOS app for 14 months now.
http://itunes.apple.com/us/app/dvd-player-for-ipad/id376493632?mt=8

We've tried everything in the book including:
1) free version + paid version
2) permanent money back guarantee
3) extensive SEO, we occupy almost all of the first page of "DVD" and "iPad"
4) extensive support, we use Fogbugz and track every single ticket and give refunds immediately.

Questions being:
1) Is the market too small and should we move into adjacent markets?
2) If so, how about the Air Video space? Though they really have a great product that I love to use...

Otherwise, should I just scrap support and keep the app on life support given that it cant feed the Support and Dev teams...

Much appreciated!
Presumably Microsoft has no qualms with censoring results as it's told to. Or partnering with a company that makes most of its money from pirated music, which seems kind of hypocritical.
Has anyone offered to set up an American LLC and "hire" you as a subcontractor to allow you to sell android products under an American company and pay you the earnings minus a small fee?
Pure means that functions have no side effects - a function is purely a mathematical object defined by it's return values.

For example, f(x) = 2*(x+1) is pure. f(3) == 8, and it is completely safe (in terms of yielding the proper return value) to replace f(3) with 8 anywhere in your program.

Similarly, print world "foo" is referentially transparent - print world_in_which_foo_wasnt_printed "foo" == world_in_which_foo_was_printed. It's completely safe to make the substitution (restOfProgram (print world_in_which_foo_wasnt_printed "foo")) -> (restOfProgram world_in_which_foo_was_printed).

Referential transparency makes it easy to reason about programs. A function of type Int -> Int will never touch a variable of type OutsideWorld, and can always be replaced by it's output.

For those wondering what this has to do with monads, it's fairly simple. A pure program without monads requires a lot of plumbing concerning the world variable:

f: World, Int
world, result <- action1 world 3
world2, result <- action2 world
...
return (worldN, result)

Monads are merely syntactic sugar to suppress the world variable.

[edit: fixed formatting.]
So, "pure" is the opposite of "impure" and "lazy" is the opposite of "strict" (but often cited as "imperative). Haskell is a pure, lazy functional programming language. I'll talk about purity here, and not about laziness.

Pure means that functions are not allowed to have side effects. More formally, a pure function can only use its inputs (parameters) to generate its output. Therefore, a pure function can't modify a global variable, print to the screen etc. because those are all side effects (more on this later). The benefit of this is threefold:

* Testing is much safer and generally easier. You just have to test the various inputs and edge cases and you can pretty much guarantee the function is 100% correct. You can't get this guarantee in impure languages.

* Inherently concurrent. Since functions don't modify any global state, you're free to make this as concurrent as you want without worrying about "thread safety" and all that.

* Increased modularity. Pure functions are highly portable, since they don't modify state they can be used for any library if needed, really. In an impure language, you often have to modify functions for use in a more general sense as a library.

Of course, the real world has side effects. Almost every program we run is a side effect, since we're giving it input from the world and it uses that to print to a screen. So how can a program be pure at all???

Without going into too much detail, there are ways in Haskell to isolate impurity to a small part of the code which is clearly marked as impure. This impure code is responsible for say, reading a string from the user input. This string can then be used to make function calls to pure functions.

So the way you do things is to put all your business logic and such in pure functions, then the impure functions just deal with shuttling values to and from the real world. You can test pure functions with theorem checkers and you test impure functions with unit tests and integration tests.

Haskell has a steep learning curve since it has so many concepts which still simply haven't made it into more industry-standard languages. This is getting better with language such as Scala becoming more mainstream.

I really love Haskell and even if I don't use it on my day-to-day, it is great to hack out a Haskell program every once in awhile.

Hope this helps!

- Mitchell
Who is going to pay

Treating people costs less than imprisoning them.
Thanks for the detailed analysis. A quick thing to consider though, if redis.del fails, it can only mean redis is busted. This means, that none of the examples in any context that use redis in anyway have any bearing. Hence, guarding against that is a little excessive imo.
The computer system didn't fail. The parent failed to understand the consequences of what they were doing.

Yes no-one reads the ToS but by the same token we all know we take a risk when doing so. Google did nothing wrong in this instance, they just held the person to an entirely reasonable and fair condition of use.
If you give a niece or nephew an account on your mailserver, you may need to get parental permission from your sibling to maintain COPPA compliance. :)

P.S. - Verbal authorization won't do! The permission has to be given in the form of a fax, credit card number, digitally signed email, or via a toll-free telephone number.
the irony in saying "man the cloud sucks, I'm going to run my own servers on the cloud and also backup data from that server onto the cloud" is delicious
Pure code is code with no side effects. The result of a pure function only depends on its input parameters, and not the state of the world. Such code is by-default thread-safe, composable and tends to be simpler to understand than code with multiple interactions with external state.

It also admits many optimizations in the compiler, garbage collector and runtime system that are not possible for code without such safety guarantees.

It is this IO and thread throughput and scaling results that are being hinted at in this post, I think. And projects like Snap and Yesod are taking advantage. http://www.yesodweb.com/blog/2011/03/preliminary-warp-cross-...
"Arab countries including Iran". I hear fact checking helps with the credibility of the discourse...
So Chinese people in business are known to stick to their word and to uphold contracts and agreements - even when it does not benefit them?
Matches my sentiments exactly, although I wouldn't completely blame MS. I blame the .NET community.

Sure, MS is a business in it to make money. They release a new version of .NET as much to drive sales of Visual Studio as they do to improve the language and development process; but why doesn't the .NET community just take it and run with it? Why doesn't the community have a .NET version of gems or Rails or MVC? Why is everyone waiting on MS to deliver the "official" version of a particular technology?
Contrary viewpoint: http://krugman-in-wonderland.blogspot.com/2011/07/krugmans-k...
It sounds like he's had a mild allergy to gluten for a while, and avoiding gluten improved his physical condition.

This is pretty standard as far as gluten allergies go - I have a few friends who went from lethargic and weak to energetic and vibrant when the stopped eating gluten.
Why should drug users even have to be forced to take medical 'treatment'

You don't have to force anyone, just give them the option.