Ask YC: Best cheap or free screen sharing solutions? - <AUTHOR> I'm wondering what cheap or free screen sharing solutions people have found? I have someone working remotely on my project, and it would be handy to do some screen sharing sessions. The ideal solution would let you pass control back and forth, but passive viewing is ok (if it's free). The ideal solution would also be cross platform. Thoughts? <comment><USER2> If you're using a text interface, GNU Screen is excellent. I use screen usually; VNC if I need to share a GUI

<http://www.gnu.org/software/screen/>

<comment><USER3> the annoying thing about screen is that both people need to log in using the same username to share a screen session. correct me if i'm mistaken.

<comment><USER4> You are mistaken. See here: <http://aperiodic.net/screen/multiuser>

</comment></comment></comment><comment><USER5> <http://www.teamviewer.com/index.aspx>

Good thing is that you don't even have to install. Free for non-commercial use.

<comment><USER6> thanks

</comment></comment><comment><USER3> i don't understand, you're only sharing with one person? isn't that perfect VNC territory? both people can control the screen, it's free, it's open source, it's cross platform... what am i missing? what's fundamentally bad about this that no one else has mentioned it yet? maybe i'm just behind the curve on this.

</comment><comment><USER7> Check out <http://meeting.zoho.com>

It is in free while it is in Beta and even later it should remain affordable.

Supports Flash, Java and ActiveX modes, so your platform concerns are addressed.

</comment><comment><USER8> Depending on OS, iChat works pretty damn well, and it has a feature for sharing presentations as well. But I'm uncertain as to whether that works at all with Windows or Linux programs.

<comment><USER9> The screen sharing component of Leopard is just plain old VNC that you can enable/disable on your own in Sharing prefs in System Preferences, so yes it should work with any VNC client for Windows or Linux.

The iChat integration I'm not so sure about either. But you don't need iChat to use screen sharing.

</comment></comment><comment><USER10> I use GoToMeeting. It's 50 bucks a month, so I'm not sure what your "cheap" parameter is.

I also don't know if it's cross-platform.

That being said, it's a great piece of software; I've been very pleased with it.

</comment><comment><USER11> VNC.

</comment><comment><USER12> Go to www.acrobat.com and use Adobe's free ConnectNow service which is far more elegant than those other solutions and free if it's just two people connecting.

</comment><comment><USER13> <http://www.mikogo.com/Welcome.aspx>

Mikogo is great and works seamlessly with Skype (but only on the Windows side). We use this internally; launching Parallels is a small price to pay to be able to be on the same page without having to be in the same room.

</comment><comment><USER14> From Spolsky and Co: <https://www.copilot.com/>

</comment><comment><USER15> A second vote for Acrobat.com's ConnectNow. You can have up to 3 people (including you) and it works great.

I've also used Glance: <http://glance.net/site/Home.asp> and it works - basically VNC but easier to use I think.

</comment><comment><USER16> For Windows: SharedView <http://connect.microsoft.com/site/sitehome.aspx?SiteID=94>

</comment><comment><USER17> screenstream : <http://www.nchsoftware.com/screen/>

It is a free Windows only application. What I like about that the only software the client needs is a web browser. No ActiveX, no java, no flash. The application is basically a http server that serves screenshots of whatever window has focus. So it does not allow remote control.

It also supports video cams and audio.

Bonus points to anyone that create an opensource multiplatform clone.

</comment><comment><USER18> Yugma <http://yugma.com> Free Basic screen sharing abilities. And it's cross platform

</comment><comment><USER19> The absolute best and free: www.dimdim.com</comment>


Ask HN: Should you feel guilty for hacking annoying systems of control? - <AUTHOR> Systems designed to make you lose. Should you feel guilty for "not being honest" and hacking your way through? I'm talking about all kinds of forms and other such bureaucratic annoyances.
They aren't made to make your life easier but to make the life of the system easier. Why should we care whether we break something if it makes our lives easier? Should we. Do You?
Can you share some stories with us <comment><USER2> Took a risk by breaking the rules to develop something that would benefit that same institution.

Institution employee's appreciate that a lot.

Institution itself did not.

That however opened for me lots of opportunities outside the institution.

Looking back - breaking the rules and taking a risk (of immediate termination) was the great thing I've done.

</comment><comment><USER3> I think it depends on intent.

Am I doing it out of greed? Then, guilty.

Am I doing it to better life for others? Not guilty.</comment>


Forall.js: Idris-like static types and invariant checks for JavaScript - <AUTHOR> https://github.com/maiavictor/forall <comment><USER2> I would avoid using the terms "type" and "check" together for this, since "type checking" has a well established meaning (referred to as the "classical"/"logical" approach in this README).

Random testing like this, as WaxProlix says, is reminiscent of QuickCheck; in that case you might replace "type" with "property", since the phrase "property checking" is associated with this approach.

Alternatively, stick with "type" (or maybe "contract"? These terms are all very overloaded!), but use "testing" instead of "checking".

Note that this approach is should be possible in Idris too, since we have equality types. For example, assuming we have some QuickCheck-style functions available, I could say:

        someProp : Foo -> Bar -> Bool
        someProp x y = whateverExpressionWeLike

        somePropCheck : quickCheck someProp = True
        somePropCheck = refl

This will only type-check (in the traditional sense) if `quickCheck someProp` evaluates to `True`; otherwise `somePropCheck` will be ill-typed. `someProp` and `somePropCheck` have no impact at runtime, since they're never called from anywhere (they could be encapsulated privately in a module too).

`quickCheck` can be a normal function; it's simple enough to generate "random" values in a pure way (e.g. Mersenne Twister with some arbitrary seed), although that would lose one of the features of property checking: each time it runs, we explore more of the possible inputs, and hence gain more confidence. Since runtime guarantees don't depend on the particular values generated by `quickCheck`, it's still "morally pure" even if implemented in an impure way; hence we could use a mechanism similar to "type providers" to impurely generate random values, and hence regain that feature.

<comment><AUTHOR> I agree with everything you said.

On doing that in Idris (which is my dream language - the only reason I don't use it is its JS compiler is too slow), would it be possible to randomly generate elements of any data type, or would we have to write an `Arbitrary` instance for every type you want to test? I don't know/remember much about generics on Idris, would love to learn more.

(Seriously, though, why is the JS compiler still so slow? Again - I'm willing to put substantial money into funding a better one...)

<comment><USER3> You probably could, but part of the purpose of Idris is to statically prove things with dependent types rather than test them.

<comment><USER2> Testing and proving aren't mutually exclusive; there's also a more fine- grained distinction, between _proving things_ (say, with pen and paper, or an SMT solver, or whatever) and _proving things using the type system of the language they 're implemented in_.

The nice thing about Idris is that it's specifically created with such "practical" issues in mind: it gives you powerful tools, but there's absolutely no obligation to use them. If you want to, you can avoid checking certain (or all) parts of a program. You need to define enough types to _represent_ your computation/data, but not to prove its correctness; e.g. you can over-represent your domain using a bunch of sum types, stick infinite loops in the branches you know/think are unreachable, then turn off totality checking.

If we compare this to, say, Coq or Agda, not only must you prove everything- you-write-in-those-languages, you must also prove everything-you-write _in those languages_! (i.e. everything you write must be proved, and only proofs written in Coq/Agda will be accepted). You can assert axioms, but not their computational/runtime meaning, which is problematic when using them as a programming language.

</comment></comment></comment></comment><comment><USER4> There's a fair bit of work in this area that leverages Flow type syntax, e.g:

\- [https://github.com/gcanti/tcomb](https://github.com/gcanti/tcomb)

\- [https://github.com/gcanti/io-ts](https://github.com/gcanti/io-ts) (for typescript)

\- [https://github.com/codemix/flow-runtime](https://github.com/codemix/flow- runtime) (i wrote this)

And another alternative is to use Design by Contract, like Eiffel:

[https://github.com/codemix/babel-plugin- contracts](https://github.com/codemix/babel-plugin-contracts) (also me)

<comment><AUTHOR> Oh. Thank you very much for linking that. I wish I saw it 3 days ago, though. It is basically the same thing.

</comment></comment><comment><USER5> Closure Compiler already does this. Most JavaScript at Google is written with static types in JSDoc. Closure Compiler also has a DSL (sort of like template metaprogramming) where complicated generic type transitions can be defined with functional expressions.

Examples: [https://github.com/google/closure- compiler/blob/d1c1673d1d89...](https://github.com/google/closure- compiler/blob/d1c1673d1d891616144f1f5d0d9642dd1e232612/externs/es6.js#L1110) and [https://github.com/google/closure- compiler/blob/55cf43ee31e8...](https://github.com/google/closure- compiler/blob/55cf43ee31e80d89d7087af65b5542aa63987874/contrib/externs/angular-1.3-q_templated.js#L98)

Documentation: [https://github.com/google/closure- compiler/blob/e7954defc514...](https://github.com/google/closure- compiler/blob/e7954defc514920469c79349e4742fca4c82fd58/src/com/google/javascript/jscomp/parsing/TypeTransformationParser.java#L53) and [https://github.com/google/closure- compiler/blob/b8d8d1d6c6d2...](https://github.com/google/closure- compiler/blob/b8d8d1d6c6d245a3df57feedc511f2e849b01932/test/com/google/javascript/jscomp/parsing/JsDocInfoParserTest.java#L3178) and [https://github.com/google/closure- compiler/blob/8829c165b30f...](https://github.com/google/closure- compiler/blob/8829c165b30fdb1937ce7f4285d23ee38ebe3535/test/com/google/javascript/jscomp/TypeTransformationTest.java)

Welcome to what happens when a company hires PhDs to write web pages.

</comment><comment><USER6> > the catch is that it isn't doing classical (logical) type-checking, but, > instead, it "type-checks" by inspecting with random samples.

So it's almost nothing like Idris, which is geared towards formal verification.

All of these unsound type systems make development and refactoring easier, but you don't really know what type checks are being done at a lower level.

TS* has (had) an untrusted type for input from potentially hostile adversaries. I would have preferred to do high-assurance client side code development in that, but it's no longer maintained.

</comment><comment><USER7> This is really not like the Idris type system at all. Its not even really like the Haskell type system. This is basically doing the same thing as the Haskell quickcheck library but running it at compile time. AKA just testing a function with a few values.

<comment><AUTHOR> If it quacks like a type and it types like a type...

Just kidding! A type system, in essence, is not much different from that, though - Pi, for example, is basically a type-level lambda that is applied to the typed function (and it is sufficient to express basically any real-world type system). In any case, I hope I made it very clear on the that it is in no means an actual type system, but my dirty way to get invariants and some refined types on plain JS. If we had a mature Idris->JS compiler this hack wouldn't be necessary. ):

</comment></comment><comment><USER8> Not trying to be a downer on the creator, because it's very cool, but I think the best thing that can come from libraries like this is adoption into Typescript. Typing is really better suited to being a part of the language and not a facet of libraries (or _is_ it - an interesting thought there, the ability to import type systems).

<comment><USER9> You might be interested in [http://blog.racket-lang.org/2017/04/type- tailoring.html](http://blog.racket-lang.org/2017/04/type-tailoring.html), which argues for customised type checking.

</comment></comment><comment><USER10> I'm confused. Does this actually statically checks, or is this testing?

Like, does it tag everything with type info and walk the code statically without executing it and checks that all connections respect their types?

It seems to me it does that for non dependent types, and then it does generative testing for the dependent types? And can also add runtime contracts for them?

</comment><comment><USER11> So where is the famous Idris elaborator? Where are the universes? Where's inductive types? Where are they?

</comment><comment><USER12> An alternative that is much easier to adopt, is to use unexpected-check [http://unexpected.js.org/unexpected- check/](http://unexpected.js.org/unexpected-check/)</comment>


Good Programmers Don't Need No Marketing - <AUTHOR> http://blog.fairsoftware.net/2009/07/09/good-programmers-dont-need-no-marketing/ <comment><USER2> flagged for misleading title. I don't want to be lied to before I even click the link. be honest, say, "Good programmers need marketing too." Do I really want to take advice from someone who is marketing their blog with a lie? This is why "good programmers" don't like marketing -- a lot of it is lies.

What good programmers need is honest marketing. What real programmers need is to learn how they can remain honest, communicate effectively with their customers, and still sell the product.

I've seen this so many times in so many organizations. The sales and marketing team write up a bunch of lies and tell the potential customers anything they need to hear to get the deal and then the programmers are put in a position to have to do impossible things. The sales people don't even know what they are selling.

If a lead asks a sales guy if product x can do function y, they say "Yes." This answer is given without regard to whether or not product x actually _can_ do function y.

Where is the balance?

The programmers lose on the sales side, because they think the customer wants the truth and sometimes the truth is, "I don't know." Or "No, product x doesn't do function y, but if you buy product x, we'll implement function y just for you." Unfortunately, that makes the customer think the product is unfinished or hasn't been well thought out. The reality is that there are myriad functions that product x doesn't do, but can do easily but no one else has asked for it or needed it, so product x engineers focus on other things.

So that's what the programmers do, they focus on other things besides sales and marketing, they focus on making their product do whatever their customers ask them for, but every new potential customer wants the product to do some little other thing so it's an endless cycle.

What programmers need is to know how to market effectively. How to sell honestly. How to close deals.

They don't need to be lied to anymore than the customer does.

<comment><AUTHOR> _flagged for misleading title_ : I'm sorry that you missed the satirical aspect of the title, but the expression "don't need no" should have been a clear giveaway.

<comment><USER3> In a world where jquery is about rock stars and rails is about porn stars, nothing is a clear giveaway anymore.

</comment></comment></comment><comment><USER4> In a very small business (start-up), it can even be dangerous to treat development and marketing as 2 different things. I get scared by advice like, "Devote x hours per day to marketing..."

Better would be to morph marketing and development into one by maintaining intimate contact with your market as you develop your product. You end up building what they want and have a head start on your sales cycle when you're ready to release.

<comment><AUTHOR> _maintaining intimate contact with your market as you develop your product_ : totally agree in principle. In practice, I know too many developers who let their introverted side take over. Everytime they have the choice between coding one more feature or interacting with live users, they choose to type...

How do you fix that?

<comment><USER4> "How do you fix that?"

Not by fighting the urge to type, but by feeding it.

You mention "coding one more feature". Where did that feature come from, you or your users? If you consider "intimate contact with your market" as a box on a flow chart that provides input into "features to code", any self-respecting geek would understand how important it is as a critical step in the dev process.

"Intimate contact with your market" is just as important for development as it is for marketing. Don't allow yourself to play the introvert card when pieces of the puzzle are still missing.

</comment></comment></comment><comment><USER5> In other words, you need both a Jobs and a Woz.

Even in the rare case where one singular talent is both a brilliant sales man and a brilliant technologist, he is probably better off focusing on one and finding a partner to handle the other, just because there are only so many hours in a day. At the same time, it is still a good idea for the sales person to understand the product and for the product person to understand the customer.

</comment><comment> onreact-com "And I don't mean read the Web to learn about SEO." Like you want to do marketing the old way, print ads or something? Without SEO there is no online marketing, Without the Web your marketing will fail in 2009.

<comment><AUTHOR> Poorly consructed sentence. The emphasis should have been: "I don't mean _read_ the web to learn about SEO". Reading is a passive activity. You can read all day long, you will learn a lot, but you still won't have accomplished any of the useful marketing activities of engaging with your users, key influencers and so on.

Of course SEO is useful and the web is a must. But you must _write_ , not just _read_.

<comment> onreact-com You mean practice SEO. You can't "write SEO".

</comment></comment></comment><comment><USER6> I totally agree!

<comment><AUTHOR> I coach a few startups and the gap between having a good technical product and having a successful company is huge. Engineers can design great things, but as the saying goes: if a tree falls in the forest and no one is there to hear it, does it make a sound :-)

<comment><USER7> Then again: if you build it, they will come.

<comment><USER8> I'm going just to quote Peep Show as a response to that: Jeremy: "If you build it, they will come". That's my market research. Mark: Field of Dreams? A man who builds a baseball field in his backyard for ghosts? That's your role model?</comment></comment></comment></comment>


Facebook Revamps The Mobile Log-In Process With Single Sign-On - <AUTHOR> http://techcrunch.com/2010/11/03/facebook-single-sign-on/ <comment><USER2> Pretty awesome - though I suspect that there are going to be plenty of security issues stemming from this. The current facebook login button is already used on plenty of malicious sites.</comment>


Ask HN: Philosophical basis of mathematics? - <AUTHOR> How do we know what we know is right? <comment><USER2> Actually, it is difficult to say that we "know" anything when truth values are just that, "values" but not necessarily something "real".</comment>


Google makes it official: no porn apps for Chromecast - <AUTHOR> http://gigaom.com/2014/02/03/no-chromecast-porn-apps/ <comment><USER2> In related news, developers are welcome to cast shootings, stabbings, explosions and other gory images.

Graphic violence seems to enjoy greater protection than nudity, both culturally and legally, in the U.S. For example, there's the variable obscenity standard, which shields children from sexual images but not images of extreme violence:

[http://www.communitydefense.org/cdcdocs/obscenityman/ch10.pd...](http://www.communitydefense.org/cdcdocs/obscenityman/ch10.pdf)

<comment><USER3> I wish software companies would stop trying to play moral police like this. It's so entirely subjective, and as you mentioned, moral standards vary wildly.

But whatever. I'm sure this is going to keep kids from seeing "graphic" material, right? None of us ever went around our parents to see something we shouldn't have...

<comment><USER4> I doubt Google cares about keeping people from seeing nudity or porn. They probably care a lot more about the legal consequences of distributing porn apps, and the market consequences if religions try to get everyone to boycott Chromecast because it's sinful.

<comment><USER5> "and the market consequences if religions try to get everyone to boycott Chromecast because it's sinful."

I doubt Google cares about that. We live in a heavily secularized world today.

<comment><USER6> I am not religious but that does not mean I think its fine to watch porn. Much of the porn out there is absolutely disturbing (rape and what not) and the people who produce that grabage are the worest of the worest. Not all of it is that way of course but even the "classy" stuff is unhealthy in my opinion. I don't think the goverment should ban porn or anything but I have zero problems private companies banning it on their platforms.

<comment><USER7> I don't usually do this but...

> I think its fine to watch porn.

and

> ... but even the "classy" stuff is unhealthy in my opinion.

Seem to be directly contradictory. Unless you're saying its a-okay to do unhealthy things every so often [which is also valid].

<comment><USER8> The original quote was "but that does _not_ mean I think its fine to watch porn" (emphasis added).

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> It'll be interesting to see if they stick to this globally.

The distinctly American prudishness regarding sex is almost a mirror image of large parts of the world with respect to cinematic violence. It's part of why you can be so sure these west coast companies will never monopolise the market in Germany, for example.

<comment><USER10> > "American prudishness"

This is just name calling, and Americans get shit on for being culturally insensitive...

Pornography is awful stuff. It exploits the way our minds work, and ruins peace and happiness. This isn't religiosity, I don't believe in the supernatural. It's just something I've come to learn as I've gotten older.

<comment><USER3> > Pornography is awful stuff. It exploits the way our minds work, and ruins > peace and happiness.

Is it OK for you to tell someone else what they are allowed to watch? That's the sticking point, and what is being done by Google (and so many others). You may not like porn, but there are a massive number that are OK with it. Is it right for you to impose your morals on others?

Definitely don't take this as inflammatory, but I personally (as an American) don't want my morals and beliefs forced on others. I think a lot of problems could be solved if everyone gave this a shot. Different strokes, etc.

<comment><USER11> > _I personally (as an American) don 't want my morals and beliefs forced on > others_

Impossible. At the end of the day, all laws and rules come from someone's morals and beliefs, regardless of who that is or what they've named those morals and beliefs.

<comment><USER11> I honestly can't even guess why someone downvoted that.

Morals/beliefs are a fundamental part of human thinking. Whether it's named, whether it comes from a religion or just a person's own experience in life, it always exists in the brain. That's kind of a fact. So, pretty confused about the downvote right about now...

<comment><USER3> Because it's a bit petty and flat out wrong. Many laws exist not for moral reasons, but to keep the whole system running. If we were allowed to murder one another without consequences, society would be vastly different. If we were allowed to cheat on our taxes without punishment, the system itself may collapse.

While there are certainly buffoons legislating their morals on others, I think the greater chunk of modern legislation is corporate/profit driven rather than this pressing of morals you mentioned. There are, of course, exceptions, but I think your comments harped on only one motivator (of many) for legislation.

<comment><USER11> > _If we were allowed to murder one another without consequences, society > would be vastly different_

There's an inherent _belief_ that the difference in society would be bad. Is that true? Bad is pretty qualitative, so it comes down to a belief.

> _If we were allowed to cheat on our taxes without punishment, the system > itself may collapse._

There's an inherent belief that "the system" is a _good_ thing, and that _we don 't want_ it to collapse. But again, this is a subjective belief, not universally held.

Your comment is based on implicit beliefs of what is "best" for society (or even humanity) as a whole. I'm pretty sure you can't _prove_ that your beliefs are "correct", because I'm sure most people would argue that subjective beliefs _can 't_ be correct or incorrect, they're just beliefs.

<comment><USER11> By the way, my debating this point does not imply that I agree with it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> "No nudity" is a lot more strict than just "no porn". Does that mean that, for example, you could not make a Flickr app that lets you slideshow your photostream on your TV because Flickr allows artistic nudity? Or could you, but you'd have to restrict it to only show photos that are marked as 'Safe' in the safety filter? What about similar sites that don't have multiple content safety categories?

<comment><USER13> Or what if you had an app that guided folks through self-exams for testicular or breast cancer?

<comment><USER14> YouTube allows this type of nudity.

<comment><USER15> Anecdotally, during last year's annual Christmas Monopoly game, my mother-in- law (who was out the game early) flashed us a YouTube movie of a lady getting her privates waxed, asking what the f was up with YouTube for allowing this.

I must say it quite surprised me this type of content was allowed/condoned.

<comment><USER16> Perhaps you'd also be surprised at how many girls injure themselves doing this by themselves, without instructional videos.

<comment><USER15> Nah, I believe that. I just expected Google would be a bit more anal about stuff like that.

And if you'd ask me about my opinion; I feel fine about them hosting it.

</comment></comment></comment></comment></comment></comment><comment><USER17> Looks like Google just lost a large percentage of the entertainment market:

\- The large percentage of people who like porn, plus...

\- The smaller (but outspoken) percentage of people who don't like to be told what content they're allowed to watch on the devices that they've purchased.

We'll see if the market segment they're trying to attract with this policy (families with children, if I had to guess) will make up for this loss.

<comment><USER18> I seriously doubt the correlation between "liking porn" and "refusal to purchase a device that does not have official porn apps, especially considering I could stream porn from my phone or computer to my Chromecast just fine. In fact, if I'm being honest, I never install porn apps, even on devices that allow them, even if I intend on watching porn on them anyway.

<comment><USER19> The old VHS vs BetaMax might be a study in the subject, but I'm not sure if it's relevant these days.

</comment></comment></comment><comment><USER20> It's rules such as these (and all the other rules of app stores) that keep many developers from working with such limited platforms. Too bad Google doesn't focus on keeping malware out of its app store as much as it focuses on keeping porn out of it.

<comment><USER21> Sort of like the iOS App Store...?

<comment><USER20> Yes. This is one area where I think having some rules in place can go a long way towards eliminating malware and extremely buggy software (sometimes, but better than nothing).

</comment></comment></comment><comment><USER22> They don't care if you stream your own porn on it. They just don't want to sell/distribute porn themselves. There's a big difference that nobody seems to be getting.

<comment><USER23> But.. if I can't purchase porn through Chromecast, where else would I ever find any?

</comment></comment><comment><USER24> I guess this is kind of nice because I won't have to worry about people connecting to my <insert non-technologically adept person>'s open or poorly secured WiFi and start playing porn as a joke.

But you can still stream a Chrome tab, so... maybe they are not really preventing anything except good audio sync.

</comment><comment><USER25> I guess they're going to disable using Chrome with Chromecast.

</comment><comment><USER26> Yep because porn will bring the world to an end... unbelievable.

<comment><USER27> Their concern is more likely that it will bring Chromecast to an end

<comment><USER26> Prohibiting porn is right up there with alcohol and other banned substances. People will always find a way to get it.

<comment><USER28> I don't think that they are trying to ban it's existence all-together, just within chromecast.

</comment></comment></comment></comment><comment><USER29> So what ever happened to Ubuntu TV ? There seems to be like half a dozen different "Chromecast like" sticks in the Chinese market [1], clearly building these things isn't too hard to master. So where is the open stick version?

[1] [http://www.alibaba.com/product- gs/923540954/2013_Latest_High...](http://www.alibaba.com/product- gs/923540954/2013_Latest_High_Quality_Mini_Android.html)

<comment><USER30> Last time I spoke to some Canonical devs, it's still being worked on, with a target for 14.04 as an alpha I think. I'd love to have ARM Ubuntu-everything; ARM laptop, Ubuntu TV stick, Ubuntu phone that turns into a full desktop when plugged in... The tech is so nearly there. Sigh, one can dream :)

EDIT: the main issue is ARMs lack of anything remotely similar to a BIOS. That's sort of changing, linux now has some stuff in the kernel to help target various ARM chipsets, but it's still difficult. Would be cool to see a kick starter for an ARM Ubuntu TV Stick -- I wonder what protocol would be best for "flinging" content to it?

<comment><USER29> I'm familiar with the BIOS issue, the devtree work is an interesting response to that. I wonder if they are waiting for 14.04 so that they can use Mir as the compositing platform.

As for protocols, good question. I see the streaming protocols which work reasonably well, I keep hoping for something like the DisplayLink protocol over ethernet with say WPA2, basically "connect" have it show up as a frame buffer to your client. Then some software on the stick so that you could slide back and forth to different "screens" ala the Amiga with each one being connected to a different device. But that is just speculating on what might be possible.

<comment><USER30> Yeah devtree was what I was thinking of. And yes, Mir was the reason given to me, though these are just devs, not spokespeople for Canonical.

Also, I just giggled, cause I just remembered we have "streaming" in X as is, from decades back... Though it's not _quite_ the same thing I suppose!

</comment></comment></comment></comment><comment><USER31> What a bunch of hypocritical Presbyterian nuns. A 3-feet pile of dead bodies is OK on TV for 16-year olds, but people actually undressing before having sex is morally corrupting. I propose capital punishment for every U.S.-ian who was not born from a virgin.

</comment><comment><USER32> [http://bit.ly/1cPqDiE](http://bit.ly/1cPqDiE)</comment>


Challenge anyone and win great prizes (AU and NZ) - <AUTHOR> https://outduo.com <comment><AUTHOR> Pre-traction landing page with email subscription to each challenge list. Launches in September.</comment>


Three Women Blinded by Unproven Stem Cell Treatments - <AUTHOR> http://www.npr.org/sections/health-shots/2017/03/15/520118310/3-women-blinded-by-unproven-stem-cell-treatments <comment><USER2> The word "treatment" in the headline made me think that this was some kind of formal study.

But in reality this is literally some Florida crank lab selling a shitty third-party procedure that takes adult stem sells derived from fat tissue, and despite the fact that the "safety and effectiveness of this procedure is unknown, all three patients received injections in both eyes."!!!

To be clear: this was not a test, this was not a study, this was literally three old ladies being sold on a completely unproven "stem cell" procedure by a Florida for-profit clinic.

And apparently there are 100s of these clinics being run all over America with essentially no evidence / clinical trials / etc behind their treatments:

[http://www.npr.org/sections/health- shots/2016/09/05/49137294...](http://www.npr.org/sections/health- shots/2016/09/05/491372940/researchers-question-safety-value-of-untested-stem- cell-treatments)

I remain stunned at the things that are heavily regulated in America vs not.

<comment><USER3> As a personal data point: about 15 years ago a close relative of mine (in his 90s) was going blind (I think from MD, but not 100% sure) with no cure, at least at the time. He was fully self sufficient and an avid reader his whole life and knew that in 6 months his walks with grandkids, reading and in general life as he knew it would be over. He died of an acute infection (or virus) before he went blind, but I am sure that given an option with outcomes of death at 50% and keeping vision at 50% he would take it (I would, too).

Regulating non-approved medical treatments out of existence might look appealing, but IMO we need to allow informed, rational people to choose unapproved treatments where no approved one exists. Much better to have full disclosure and informed consent (FDA would not approve a treatment with 50% death/health outcome, but some people would gladly take it). My 2c.

<comment><USER4> > but I am sure that given an option with outcomes of death at 50% and keeping > vision at 50% he would take it (I would, too).

Sure. But this has nothing to do with the scenario of an unproven stem cell therapy. There the chances are 99,99999% vs. 0.00001%.

> Regulating non-approved medical treatments out of existence might look > appealing, but IMO we need to allow informed, rational people to choose > unapproved treatments where no approved one exists.

This is a really bad idea, and your comment ideally shows why that's the case. You're selling people the idea that they have something like a 50/50 chance. But that's a complete illusion. Even 10/90 is an illusion. The chances of a completely unproven therapy to do any good are practically zero.

It's different if you have early stage interventions that have some weak evidence behind them. But there are already mechanisms to cover that. The right thing to handle that is to add people to a study.

<comment><USER5> > _Sure. But this has nothing to do with the scenario of an unproven stem cell > therapy. There the chances are 99,99999% vs. 0.00001%._

> _This is a really bad idea, and your comment ideally shows why that 's the > case. You're selling people the idea that they have something like a 50/50 > chance. But that's a complete illusion. Even 10/90 is an illusion. The > chances of a completely unproven therapy to do any good are practically > zero._

The 50/50 is for sake of practicality, it's not the main point.

The point is some people would take unproven treatments if it meant they had _any_ chance to improve their quality of life. See: The man who's having his head transplanted.

I've been in this situation before where all approved methods had failed me. I was extremely desperate to find something that would help, so I was vulnerable to con men (and they made a killing off me from "homeopathic remedies"), but when I settled down with a clear and rational head, I decided that I would be worse off if I continued living in my pathetic state.

So, I did my due diligence and interviewed every treatment that looked promising (after doing research on my disease). Even though they were all "out there" I found one I was confident in and signed up.

There was no guarantee I was going to be better, only that there'd be a $60k hole in my pocket. To make a long story short, it improved my condition to a manageable state and I'm very happy with the results.

I've never been a proponent of restriction, only proper education. If someone is properly educated on the possible harms and how to avoid them, then why shouldn't they be allowed to take a course they believe would benefit them (without hurting anyone else)?

The problem that's being discussed here, though, is that the clinic had a power imbalance (partly due to lack of proper education on the subject) and preyed against these three women. Perhaps if they were informed properly (due to regulation on full disclosure) they might have been better off.

<comment><USER6> In your view, though, blame will always lie elsewhere. It's either with the uneducated blind women, or, if you're a generous soul, the society that failed to properly educate them.

Somehow the back alley quack with the completely unrested remedy evades all blame for their actions.

Quackery has a supply side and a demand side. The supply side is easier to deal with. It's a smaller target. Furthermore, it's in the interest of the quack to produce misinformation that your education programs will be in competition with.

<comment><USER5> > _In your view, though, blame will always lie elsewhere._

This is contrary to what I said, but I wasn't clear. Let me elaborate:

> _Perhaps if they were informed properly (due to regulation on full > disclosure) they might have been better off._

What statements the clinic puts out _should_ be regulated, just like supplements. You are not allowed to say some things, but required to say other things.

> _It 's either with the uneducated blind women, or, if you're a generous > soul, the society that failed to properly educate them._

The blind women is _partly_ to blame (though dependent on her ability to research -- an 90 y/o alzheimer's patient is much much much less to blame than a 25 y/o office worker) for being taken advantage of. The clinic, however, holds the majority of the blame for practicing deceptive procedures and misinforming (if they indeed had misinformed, I only skimmed the article).

> _Quackery has a supply side and a demand side. The supply side is easier to > deal with. It 's a smaller target._

This is true, but it does not bring about the best outcomes. Proper medical procedures (as accepted and enforced by regulatory agencies) are most of the time years behind in implementing new and better techniques (or not incentivized to, see: europe vs. american models of health treatment).

You hurt: the people to whom accepted practices do not offer relief, the research of "unethical" procedures that could otherwise save lives if there was no stigma (again, see: head transplant), and people's freedom of choice.

</comment></comment></comment></comment></comment></comment><comment><USER7> Somebody has to be first to get a treatment. You don't really know whether it will work until you try it. Also mentioned in the article are the cases where treatments worked as they were supposed to or better.

The headline is a bit misleading because the 3 ladies in question were already going blind. The treatment was supposed to reverse the disease but failed. You could write the same headline about other treatments that are considered safe enough to try: "3 patients killed by chemotherapy treatments that failed to eliminate their cancer."

<comment><USER8> I don't trust a journalist to evaluate whether this treatment was valid or not. I have more trust in the several stem cell therapy experts who wrote detailed technical takedowns of the failed treatment and contrasted it with a much better one.

<comment><USER9> Are you referring to another instance where this happened or to something in the article where you felt that the journalist reporting was making an assertion?

I cannot identify any statement or section within the article where the journalist themselves makes a claim or assertion as to the validity of the treatment, but instead just numerous citations and reports from other agencies and persons who are qualified to comment on it.

Can you please clarify what you are discussing?

</comment></comment></comment><comment><USER10> This was also covered by BBC, and had a few more details. [http://www.bbc.co.uk/programmes/p04w86gz](http://www.bbc.co.uk/programmes/p04w86gz)

Off the top of my head:

\- One of the researchers had his medical license revoked

\- Some patients paid up to $20,000 for the treatment.

\- Very few, if any, patients had any improvement. Many had decreased eyesight after the treatment.

</comment><comment><USER11> Anyone else notice that they were injected in BOTH EYES at once. That is totally non-standard for non-proven eye therapies. Even many run of the mill treatments treat one eye first to make sure there isn't some kind of bad reaction.

</comment><comment><USER12> Is there any indication that their resulting blindess was the result of the stem cells, and not as a result of the delivery mechanism?

</comment><comment><USER13> I know its not good news, but it is worth mentioning that the treatment was for an illness which causes blindness, and was injected _into_ their eyes.

It's not like some unrelated treatment was used and caused them to go blind.

<comment><USER14> Skim read it and it looks like it was a terribly incompetent attempt. They used STEM cells derived from a different source as to the original claims source, it was to treat a different condition and to top that off the original claim that they based their therapy on was very dubious...

These women need to sue for a quackery and shut them down.

</comment></comment><comment><USER15> >> Each woman got cells injected into both eyes.

Gross incompetence. Why would you ever do both at the same time? Had they done one first, these people would at least have sight in one eye and know not to mess with it.

</comment><comment><USER16> I read about this earlier today in some regular news publication. It seems the word 'treatment' is not applicable here.

The bad thing is that news items like this will likely cause some damage to the field of stem cell treatments and related research.

</comment><comment><USER17> BBC Worldwide radio has a 30-minute investigation into a different clinic, which has also been damaging peoples' vision by injecting "stem cells" into their eyes as part of a "clinical study" which they have to pay $20K to join. No malpractice insurance and one of the two founders had previously surrendered his medical license.

For me, this is where the arguments based on the idea that everyone should be free to decide for themselves and take responsibility for their own decisions really falls apart. A market that is unregulated w.r.t adventurism is a market that is unprotected against fraud.

[http://www.bbc.co.uk/programmes/p04w86gz](http://www.bbc.co.uk/programmes/p04w86gz)

</comment><comment><USER18> I actually see this as a case of over regulation. I think if it were easier to get legitimate experimental treatments (with some sensible regulation) these kind of shops wouldn't exist and these women wouldn't have resorted to this.

It's the same concept as the argument for safe and legal abortions.

<comment><USER19> How would this sensible regulation look like?

</comment></comment><comment><USER20> I just hope the public will not interpret this news as "stem cells = snake oil".

<comment><USER21> I have the opposite fear. Because there is enormous potential in treatments from stem cells, I fear more quacks will exploit this potential in pushing scam, for-pay treatments using the thin veneer of stem cells to lure people in. For more, see [http://theness.com/neurologicablog/index.php/alzheimers- and-...](http://theness.com/neurologicablog/index.php/alzheimers-and-stem- cells/) and [http://theness.com/neurologicablog/index.php/more-stem- cell-...](http://theness.com/neurologicablog/index.php/more-stem-cell- quackery/)

</comment></comment><comment><USER22> This is what happens with a perverse, for-profit medical-industrial complex: snake oil.

Also worth mentioning is the fake "emergency rooms" and "urgent care" fly-by- night shops which have sprung up on the side of roads in much of the Southern US. People will inevitably die because of the confusion and misrepresentation caused by these shoddy scammers.

<comment><USER23> > "emergency rooms" and "urgent care" fly-by-night shops which have sprung up > on the side of roads in much of the Southern US.

What are these?

<comment><USER24> I too am curious about this. I can't find anything on "fake emergency rooms."

I wonder if he's talking about those homeless health clinics on wheels. I always thought that they were staffed by volunteer or non-profit funded Doctors, Nurse Practitioners, etc.

<comment><USER25> There are probably 2-3 of them in any major affluent suburb in the south. They are typically built into a strip center or on a pad site near one (because of the cheap land.) Most of them are emergency rooms by the letter of the law only meaning they don't have an operating theater, mri/ct machines, huge amounts of trained staff. They typically have a few stabilization tools and a nurse practitioner on staff.

Anecdotally I was sent to one by my primary care doctor because she thought I was having a heart attack as a result of month long strep/sinus infection. They gave me a bag of saline and charged me $1000 (insurance ER rate) for the privilege. I think these places exist only to bilk parents with crying children in the middle of the night and people who don't know any better.

</comment></comment></comment></comment><comment><USER26> What happened to the woman who tried those experimental telomere prolonging treatment?</comment>


ActorDB – How and why we run SQLite on top of LMDB - <AUTHOR> http://blog.biokoda.com/post/133121776825/actordb-how-and-why-we-run-sqlite-on-top-of-lmdb <comment><USER2> This would work great for many classes of Sass applications, where each user's data is largely separated from others. The fact that you've delegated the SQL bits to sqlite, and worked on the clustering aspect means I can trust the actorDB architecture more easily. Congrats on the release.

Do you have any prominent users running this on their production deployments?

<comment><AUTHOR> > Do you have any prominent users running this on their production > deployments?

Not that we know of unfortunately. We use it for basically every project that we do. It's definitely not some side project. It is the core of everything at the company.

We would be very happy to get any bug reports or suggestions.

<comment><USER3> Does that mean you recommend it for production use right now?

<comment><AUTHOR> Yes it has been very stable for us.

<comment><USER3> That's awesome. It looks very cool and pragmatically design. So as far as I can see:

\- There is a database schema per actor type.

\- Each actor has a separate physical (SQLite but with the backend replaced by LMDB) database.

Is this the case? Won't this be using a lot of file handles if there are thousands or tens of thousands of actors? I'm assuming you already optimize this by closing "idle" actors, but what if they're all "live"?

How do you coordinate safe schema changes across all actors? You mention that schema changes are performed "just in time", that is, not when an actor is idle. I can definitely see the benefit of doing that. But for many types of schema changes you _do_ want a controlled migration where you ensure that all tables are fully updated. Can you force the schema upgrade by touching all agents with a dummy query, perhaps?

It looks like ActorDB is designed for schemas where data is strictly partitioned, and where data wouldn't cross these boundaries, because joins would be impractical/not performant. For example, in a Dropbox-style system, every user would be an agent, and every user would really only talk to a single agent at a time. So that's a perfect fit.

You also show a discussion thread example, where there is one actor per thread. This would mean that if you wanted to do something like "get all threads where user X has commented", you would need to either query all agents of type "thread", or you would need to maintain an agent that keeps track of [user, thread] mappings, and then either query each manually, or use the looping construct (section 4.1.4 in the documentation) to perform the query across the relevant agents. Am I getting this right?

How much failover testing have you done on your Raft implementation?

<comment><AUTHOR> \- Correct.

\- Incorrect. They are all inside a single LMDB file. So there is not an open file handle for every actor.

> How do you coordinate safe schema changes across all actors?

Before committing a schema change, we test it against the existing schema. If SQLite runs the SQLs successfully (on a dummy memory-only database) it is committed. We do not guard against writing updates which might succeed in some actors and not succeed and others. It is the developers/administrators responsibility to create schema updates that are valid.

We assume schema changes are reasonable (add tables, columns, indexes). Not rewrite the entire schema kind. Of course you can do that, but it's your responsibility that it is working.

If there is any doubt of a schema update, one can always create a dump of the live database, start it up in a staging environment and perform the planned update there first.

> But for many types of schema changes you do want a controlled migration > where you ensure that all tables are fully updated. Can you force the schema > upgrade by touching all agents with a dummy query, perhaps?

I don't really see a benefit in doing that. But you can very easily write such a query: "actor mytype(*); select id from sometable limit 1;"

> Thread example...

The user actor would be the right place to store the list of threads where it has commented. So every post would be a transaction to thread (where the message and actor id would go) and user actor (that would just store a list of thread ids).

There is also another way of modelling a forum that I think would be better. Have two KV types, users and threads.

The schema:

\</comment></comment></comment></comment></comment></comment><comment></comment><comment>

actor user kv

CREATE TABLE actors (id INTEGER PRIMARY KEY, hash INTEGER, name TEXT);

CREATE TABLE messages (user INTEGER, thread INTEGER, FOREIGN KEY (user) REFERENCES actors (id) ON DELETE CASCADE, PRIMARY KEY (uid,thread)) WITHOUT ROWID;

actor thread kv

CREATE TABLE actors (id INTEGER PRIMARY KEY, hash INTEGER, title TEXT, date INTEGER);

CREATE TABLE messages (id INTEGER PRIMARY KEY, thread INTEGER, uid INTEGER, txt TEXT, FOREIGN KEY (thread) REFERENCES actors (id) ON DELETE CASCADE);

\</comment><comment></comment><comment>

KV types with sub-tables are quite powerful. You can have a rich data model and the data will not be too fragmented over a large number of actors.

> How much failover testing have you done on your Raft implementation?

Replication receives the bulk of testing.

</comment><comment><USER4> Your website claims linear scalability, but since you're using Raft for consensus, don't you see a slowdown due to synchronization overhead the more nodes you add?

(I've been blogging about eventual consistency for SQL databases [http://kyle.marek-spartz.org/posts/2015-09-08-eventual- consi...](http://kyle.marek-spartz.org/posts/2015-09-08-eventual-consistency- for-sql-databases.html))

<comment><USER4> I see, it looks like you're partitioning your data to keep the number of nodes the data is on down, even as nodes increase.

<comment><AUTHOR> Yes. An ActorDB setup is made out of any number of clusters. Raft only runs within a given cluster.

</comment></comment></comment><comment><USER5> > LMDB writes will keep data exactly where it was placed the first time it was > written.

Wait a minute. I was under the impression that the reason LMDB works so well under concurrent access is that it _never_ modifies anything in place, but when it has to modify a value it will copy the existing content of the page along with the new value to some unused place... so data _is_ moved between updates.

Or am I missing something ?

<comment><AUTHOR> You understand correctly. My point was LMDB does not have checkpoints/compaction steps where it "silently" in the background copies data around.

When writes are large, this is an important point. LevelDB/RocksDB type stores work great for small values, but perform very poorly for large writes because they copy data around in compaction steps.

</comment></comment><comment><USER6> A few questions to the author:

\- Is it possible to create an index without blocking concurrent operations? (The lack of background indexing is a well known limitation of SQLite)

\- Is it possible to drop a column?

\- Is there a backup/restore functionality?

<comment><AUTHOR> \- No but the key point is you will be creating this index in small steps. Adding an index is a change in schema, schema updates are always executed "per actor". This means actors who are currently not doing anything, will not perform this schema change. Once that actor is required to do something it will perform the schema update. This can be right after schema change, or it can be 10 days later.

\- We are limited to what SQLite supports. If you absolutely must drop a column, you can only do it by re-creating a table. Again the above point stands. You will not be doing this for the entire database at once.

\- There is a backup tool. It basically uses lmdb backup functionality. It will perform a database copy very quickly if you are copying to a second disk (at the performance limit of sequential writes).

</comment></comment><comment><USER7> If i understand it right, the developer has to know exactly which actor (types) has the needed data?

<comment><AUTHOR> ActorDB is not a distributed clone of MySQL. So yes you must know which actor you are querying.

This is why we say it is mainly a database for apps. If your queries are always hitting a specific user, then you make that user into an actor. Fully relational, within an user.

There is another data type, which is a KV store. But there you are always operating on keys. With the added functionality compared to most other KV stores is that the value can be structured. You can have multiple columns and tables all tied to a specific key and you can incrementally update the value (most other KV stores only support complete rewrites of value).

<comment><USER7> Thanks. "ActorDB is not a distributed clone of MySQL" that was the point why i was thinking about it.</comment></comment></comment>


NESmaker – Make NES Games. No Coding Required - <AUTHOR> https://www.kickstarter.com/projects/1316851183/nesmaker-make-nes-games-no-coding-required <comment><AUTHOR> TL-DR: NESmaker is a software tool for creating brand new, hardware playable, cartridge based games for the Nintendo Entertainment System...without having to write a single line of code.</comment>


This Is Water - <AUTHOR> https://www.youtube.com/watch?v=xmpYnxlEh0c

<comment><USER2> You might wonder why such a wonderful item gets very little attention. It's been submitted many, many times before, but it seems _never_ to have had many comments.

Perhaps it just stands alone, and comment or discussion is superfluous.</comment>


Can Flipkart Deliver? - <AUTHOR> http://forbesindia.com/article/boardroom/can-flipkart-deliver/33240/0

<comment><USER2> Too much water.

Describes how not to manage / grow business.</comment>


Ask HN: What do you use as a shell script replacement? - <AUTHOR> I'm looking for a scripting language which is very well suited for smaller script on the server side ( linux ).
I know Perl, Ruby, Shell etc.. but I'd like to learn something new, something functional would be great. Is there something out there ? Maybe a Lisp dialect ? ( bonus points for many good examples on the internet ).
What do you use to manage your servers ? <comment><USER2> Python and Plumbum ( [https://plumbum.readthedocs.io/en/latest/](https://plumbum.readthedocs.io/en/latest/) ). All kinds of binary-running / process-managing / file-manipulating goodness, inside of a sane language with actual logic and control structures. Plus, useful bits like SSH execution and CLI arg handling.

</comment><comment><USER3> You might want to start using a proper configuration management tool like Ansibe,Chef,Puppet, or Salt

<comment><AUTHOR> Isn't that a little bit too much for a few smaller projects ?

<comment><USER4> No

</comment></comment></comment><comment><USER5> Use ansible. It's like shell scripts on steroid.

Basically, imagine a list of simple tasks, executing one by one in order.

Instead of having bash commands which have crazy long arguments list and screw the whole script on failure, you get to use ansible commands (aka. modules) which are a lot easier to use and handle failures nicely (by stopping the run).

And you'll never have to worry again about what happens when a command is ran twice. It simply doesn't do anything if there is nothing to change.</comment>


How to be a better developer: just use jQuery - <AUTHOR> http://justusejquery.com

<comment><USER2> I cannot stand it when I look into the source of a page and see 12 script tags to 12 different plugins. Oh and 12 css files linked in to get all the widgets to look right.

</comment><comment><USER3> Very profound! Now do one on PHP.

</comment><comment><USER4> Best part of this post was the ASCII Dinosaur in the source code.

</comment><comment><USER5> Every animation on that page uses CSS transitions.

</comment><comment><USER6> so tilty..

</comment><comment><USER7> What the hell is the point of this? Seriously? Just come out with it. I love a good bit of snark and sarcasm but I'm tired of crap like this getting posted every week. Let's actually have a discussion about something instead of what literally amounts to flamebait.

Honestly, call me thick but I do _not_ get the point. At all. This uses jQuery. But it also uses CSS3. And/But it also doesn't work without Javascript. Call me stupid, but there's no consistent advocacy anywhere. And there's a Twitter share button which I find is often hated by those who are quick to let you know they use noscript.

Or is this mocking the whole debate anyway. Somehow I think I'll regret having pondered it this long anyway.

edit: I'm sorry, I'm glad I flagged this. This is garbage. The troll is already proud of the response he's gained, it's pretty obvious looking at those who've tweeted this, that they don't know what to make of it either: <https://twitter.com/#!/idiot/status/203403905500069888> and the image: <http://i.imgur.com/JMFd6.jpg> (Especially given that this is undoubtedly aimed at me.)

<comment><USER2> Lets discuss it here then. What are your thoughts about the misuse of jquery, and it's effects on the web and our profession?

<comment><USER7> I can't even, honestly, tell if that's the point. I don't care. I'm a developer who has used jquery and half a dozen other libraries at various times. I think it has pros and cons and I tire of the "always javascript, never javascript" just as I tire of "democrats suck, republicans suck".

</comment></comment></comment><comment><USER8> Good!</comment>


Why are There 60 Minutes in an Hour? - <AUTHOR> http://scienceray.com/mathematics/applied-mathematics/why-are-there-60-minutes-in-an-hour/ <comment><USER2> There is a book called "Civilization One" which talks about possible influences ancient cultures had on modern measurement systems. It's conclusions will probably be taken as a conspiracy theory by most but I found the book interesting nonetheless.

It actually goes into a theory of why the mathematics was the way it was (based on astrological observations rather than purely number of factors) which offers an interesting perspective on it all. The conclusion is largely that our measurement systems are deduced from our environment and that there is commonality between imperial and metric systems, both being derived well in the past.

</comment><comment><USER3> I've been thinking about this for years now. I could never understand why no one had ever set 100 "minutes" to an hour.

<comment><USER4> I've thought about this too. Basically, once you switched, you'd obsolete a hell of a lot of stuff. For it to make sense, a large portion of the developed world would have to switch at the same time as you too. So unlikely to happen.

At the same time, I'm still trying to figure out why the USA doesn't strike imperial measurement from the books.

<comment><USER5> The US is a dual system-- people are free to use whatever system they want, but business is encouraged to use metric, especially for trade.

There was a big push in the 1970s to teach and adopt the metric system on a broad basis-- I remember there were even km speed limit signs-- but it failed. Americans think in feet, inches, miles, gallons, and pounds....imperial still has the first-mover advantage 400 years later!

</comment></comment></comment><comment><USER6> Interesting, I had no idea that Sumerians counted with there hands in this way. I've always counted like this because my parents and almost every Indian I know does as well.

</comment><comment><USER7> I don't buy the cause and effect with regards to 360 degrees in a circle. If anything, 360 comes from the close approximation to 365, since pre-civilized humans would care more about the length of a year than divisibility. It's possible that the base-60 system was in fact back-ported from this more important and naturalistic number.

<comment><USER8> I do sometimes wonder if the people from ancient civilizations could see what we think about their writing and tools and culture, whether they would just laugh out loud. "No, no, that's just a spoon! And that little squiggle? That's a curse word, you idiots!"

</comment></comment><comment><USER9> Once when I visited a museum on a field trip, the curator explained that it was because the gene for 6 fingers was actually very common among Ancient egyptians, and so the use of base-6 and base-12 number systems became popular in astronomy and architecture. I haven't heard that since, however, and I'm not sure how true it is.

<comment><USER10> This museum wasn't in Kansas, was it?

</comment></comment><comment><USER11> Wouldn't you be able to count up to 72, not 60 with two hands?

12 from hand one + 12 * 5 from hand two = 72

<comment><USER12> With 12 phalanges on each hand that can be marked by the thumb of the same hand, there are 12 possibilities on each hand, or 12 * 12 = 144 possible combinations of marked phalanges with two hands.

The article made it clear, both through the text and the picture, that only one hand used the phalanx counting method, while the other hand simply used digits as we do today. Thus, with 12 phalanges to choose from on one hand and 5 digits to choose from on the other, we have 12 * 5 = 60 combinations.

<comment><USER13> The very image and text used in the article implies that the original poster is correct.

Look at the example for 32 - it is given as 8 + 2x12. The hand on the right has two fingers extended. Clearly all fingers can be extended in this image, and then the number would be 8 + 5x12 = 68. If the left hand is used to count to 12, the number is 12 + 5x12, or 12+60=72.

Either the limit is 60, or the images/text in the article are wrong.

<comment><USER12> You're right! I didn't look closely enough. You can indeed symbolize 72 with the method shown in the picture.

Now that I finally get what viggity was saying however, I think that what you can count to with two hands wasn't what was significant -- it was that a full, open hand was worth 60.

</comment></comment></comment></comment><comment><USER14> I wonder one thing: How Babylonian and Egyptian exchanged those informations and they use different languages and have different culture... This is more powerful than the Internet :D

</comment><comment><USER15> Actually, I didn't read all that far because I was wondering why they would popup a facebook bar on the bottom.

Any reason for that? Do they get paid for it?

</comment><comment><USER16> There is a great explanation of why Sumerians use 60 but I can't find the link.

In a nutshell the theory is: Sumerians counted each segment of their fingers using their thumb as a pointer (thumb segments were not counted) three segments per finger. They could do that five times using each finger as a holding place, so 3 * 4 = 12 * 5 = 60</comment>


Game Closure Quietly Raises Seed Round From SV Angel And More - <AUTHOR> http://techcrunch.com/2011/08/31/game-closure-quietly-raises-seed-round-from-sv-angel-yuri-milner-greylock-and-more/

<comment><USER2> Do they have anyone on their team with any game dev experience?

I worry because so many game development libraries appear (like the very barebones xcjs, which one of the founders wrote) that are all about pushing static sprites around and handling events, but not useful/hard/boring things like collision detection, animation, localization, serialization and save game management, networking and mirroring, etc.

<comment><USER3> Not that I'm aware of, but they've been building games themselves to test out the tech, so they seem pretty grounded.

</comment></comment><comment><USER4> I'm one of the Lost Decade Games guys, we used the Game Closure SDK for our game Onslaught!, which is what allowed us to release on both iPad and Android. Really amazing SDK, makes cross-platform development fun and easy.

</comment><comment><USER5> I've spoken to Michael Carter on occasion - they seem to really have their shit together. Looking forward to seeing where this goes.

Congratulations guys!</comment>


Linux Mint 9 "Isadora" released - <AUTHOR> http://www.linuxmint.com/blog/?p=1403

<comment><AUTHOR> Linux Mint is an Ubuntu based Linux distribution, aimed to be more user- friendly.</comment>


BrandColors – brand color hex codes - <AUTHOR> https://brandcolors.net/ <comment><USER2> While this is neat website, I'd like to see the logo or source of the colors by the swatch. How did you get the colors, manually or did you do some automated mining?

<comment> unkown-unknowns > I'd like to see the logo

Me too. When I think Adobe, I think red and white. This site excludes white and additionally has a bunch of other colors.

Alibaba is orange and white to me. The OP site has only orange.

</comment></comment><comment><USER3> It'd be interesting to see them plotted by frequency on a color map. Which are the most colors? Which are less common?

<comment><USER4> I exported the list and created a small node app to sort the colors: [https://github.com/dcustodio/colorcount](https://github.com/dcustodio/colorcount) the top five is #00000 (66 occurrences), #CC0000 (18), #FF6600 (12), #FF0000 (10), #FFCC00 (8)

<comment><USER5> This is a really tool. I've always been meaning to create a list of all the works that use BrandColors or are derived from it. If I ever get around to doing that, I'll make sure to include this.

</comment></comment></comment><comment><USER6> On Chrome/Linux the Skillshare promo banner on the bottom obscures the toasts when something gets copied to the clipboard. You just see the upper part of a small dark rectangle.

<comment><USER7> Same on Chrome/Windows and Firefox/Windows

<comment><USER6> I was going to be optimistic and assume they tested this on some browser and just forgot about a weird edge case only present in Chrome/Linux. Looks like they probably didn't test the banner/toast combination at all.</comment></comment></comment>


Saudi Arabia travel guide - <AUTHOR> http://wikitravel.org/en/Saudi_Arabia <comment><USER2> I'll just copy paste a few things out of this article, regarding your state that is the brand new head of the UN Human Rights Council (EDIT: Name was changed from Commission to Council to reflect current nomenclature). Well done, UN:

* "Saudis prefer not to grant visas to unaccompanied women"

* "Nationals of Israel and those with evidence of visiting Israel will be denied visas"

* "Drug possession is punishable by death"

* "LGBT activities are illegal in Saudi Arabia and it is one of the least homosexual friendly countries in the world. First offenses attract prison sentences of several months to life, fines with whipping/flogging, castration, torture, vigilante killings and public execution. A second conviction invariably results in execution."

* "most visitors will be primarily concerned with the code of morality, involving things like women not covering up properly, and not accompanied by a male guardian, not observing prayer or (during Ramadan) fasting times, etc. These rules are enforced by the infamous muttaween - the zealous volunteers of the religious police known as the Committee for the Propagation of Virtue and the Prevention of Vice. ... Reports of human rights abuses and even deaths in muttaween custody are still common"

* "against the law to be accompanied anywhere by a man who is not your registered male guardian"

* "A woman may not travel alone. They may not stay alone in hotels, hotels will require the presence of a male guardian"

* "Do NOT take pictures of any government-related building (ministries, airports, military facilities etc) or any building that could possibly be one, or you risk being hauled off to jail for espionage, or accused of terrorist plotting"

* "Playing music in public is also prohibited"

* "Converting or attempting to convert Muslims from Islam to other religions is a felony that can be punished with up to death"

* "Any criticism of the King, the royal family or Saudi Arabia's government in general is not tolerated and risks indefinite imprisonment or execution"

<comment><USER3> You are seeing the country from your own lens. That doesn't make sense. The circumstances that surround this country are very different from they places we live in.

> * "Saudis prefer not to grant visas to unaccompanied women"

Saudi Arabia has managed to be secure for certain conservative reasons. Unaccompanied women create too many opportunities for insecurity and the country's security forces cannot handle this.

> * "Nationals of Israel and those with evidence of visiting Israel will be > denied visas"

Israel and Saudi are not exactly on talking terms. Same policies exist in Israel for those who visit muslim countries in the Middle East.

> "LGBT activities are illegal in Saudi Arabia and it is one of the least > homosexual friendly countries in the world. First offenses attract prison > sentences of several months to life, fines with whipping/flogging, > castration, torture, vigilante killings and public execution. A second > conviction invariably results in execution."

So was America for a number of years. So was China. And they will continue to be the same way for a very long time. America and China have different reasons for not being this way, and it has absolutely nothing to do with morality or social freedom.

Think of a country's laws as a reaction to the nature of the people. In the western world, there are a different set of laws for crowd control. In Saudi Arabia where illiteracy is high and schooling is decentralized, crowd control takes on a different soul. Consider Iraq and Egypt and Syria, countries that have gone through their own transformations. Dictatorship seems to have returned or is being demanded for the purpose of safety and stability.

<comment><USER4> > Saudi Arabia has managed to be secure for certain conservative reasons. > Unaccompanied women create too many opportunities for insecurity and the > country's security forces cannot handle this.

BS. It's misogynistic crap.

> Israel and Saudi are not exactly on talking terms. Same policies exist in > Israel for those who visit muslim countries in the Middle East.

Fine, don't really have a problem with that.

> So was America for a number of years.

It was and is wrong. America has a long way to go. They are still well ahead of Saudi Arabia.

> it has absolutely nothing to do with morality or social freedom.

It exactly does.

Sorry, not going to treat Saudi Arabia as anything other than a backwards theocracy that hates women and violates human rights whenever. Quite frankly, it disgusts me that they are an "ally".

</comment></comment></comment><comment><USER5> Sorry, what does this have to do with Startup/Hacker culture?

I suppose someone wanted to make the oft-stated point of how archaic and backwards Saudi Arabia appears from our cultural perspective. Perhaps capitalizing on this latest bout of online xenophobia towards "Islamic- looking" minorities.

Either way, a waste of space on the Hacker News homepage.

<comment><USER6> Submissions do not have to have anything to do with "Startup/Hacker culture", I wish people wouldn't assume that.

<comment><USER7> Me too.

</comment></comment></comment><comment><USER8> Wow... how... how do you fix a place like this? How do you move such a medieval religious society into freedom? This sounds so dystopian.

Is there a simple explanation for why the Christian West moved to relative secularism a couple centuries ago while Saudi Arabia has remained so medieval, despite oil-powered industrialisation?

<comment><USER9> > Wow... how... how do you fix a place like this? How do you move such a > medieval religious society into freedom?

Not a good idea. The Middle East has had a succession of "enlightened" despots who attempted to rid their countries of Islam. Islam is not just a faith for these people, it's a way of life, so well entrenched in the social fabric that all these rulers managed to do was to inflict even worse human rights violations and galvanize the population against the demon West.

You have to let them find their own way. It may take them a few hundred years, but eventually their society will slowly pry open. The external threats to their way of life will have to cease, as long as they feel like they're under attack by the West, they'll just cocoon off and just not allow any influences in.

Probably the best thing that could happen in this regard is a permanent collapse in oil prices, though that would likely cause a lot of people to starve. Things would get a lot worse for them before they get better. I read an article recently about how the Saud family is trying their hardest to prepare for a post-oil world.

> Is there a simple explanation for why the Christian West moved to relative > secularism a couple centuries ago while Saudi Arabia has remained so > medieval, despite oil-powered industrialisation?

Because colonialism. Europe brought industry to the rest of the world at the point of a gun. An excellent book to read on this topic is Fields of Blood by Karen Armstrong.

[http://www.amazon.com/Fields-Blood-Religion-History- Violence...](http://www.amazon.com/Fields-Blood-Religion-History- Violence/dp/0307946967)

<comment><USER10> So how did turkey happen?

<comment><USER11> Turkey happened because of Attarturk, at a time where he had the army with him, and where the Ottoman empire was disintegrating. Presumably, this made it very difficult for conservative forces to oppose the radical campaign of modernization and europeanisation he engaged into.

<comment><USER12> Quora has some good answers, which shed light on Ataturk's personality[1]. Wonder, why in that part of the world, there were so few such personalities. Actually, Iran was denied of it's democratically elected leader, Mohammad Mosaddegh, by UK and supported by US (TPAJAX project)[2].

[1] [https://www.quora.com/Turkey-country/Was-Mustafa-Kemal- Atatu...](https://www.quora.com/Turkey-country/Was-Mustafa-Kemal-Ataturk-a- good-man)

[2] [https://en.wikipedia.org/wiki/1953_Iranian_coup_d%27%C3%A9ta...](https://en.wikipedia.org/wiki/1953_Iranian_coup_d%27%C3%A9tat)

</comment></comment></comment></comment></comment><comment><USER13> This travel guide can be summed up with a simple word: "Don't".

</comment><comment><USER14> It's interesting to see how old the relationship between the US and Saudi Arabia really is. We've had a friendly business relationship since 1930!

<comment><USER15> And the British even before that. The British are a large part of the reason the Saudi family gained exclusive control of the region. They supplied and aided the Sauds... against rival Arabs and against the Turks. The religious extremists were the foot soldiers... shoring up the wealth and the trade routes for the Saud family and for the British. On the occasions the extremists got out of control and turned on their bosses the British were there to help again.. with airplanes and machine guns.

[https://en.wikipedia.org/wiki/Battle_of_Sabilla](https://en.wikipedia.org/wiki/Battle_of_Sabilla)

[https://en.wikipedia.org/wiki/Ikhwan_Revolt](https://en.wikipedia.org/wiki/Ikhwan_Revolt)

[https://en.wikipedia.org/wiki/Ibn_Saud#Rise_to_power](https://en.wikipedia.org/wiki/Ibn_Saud#Rise_to_power)

This period of history is interesting in light of the rise of groups like ISIS and makes me question that the same technique is not being attempted again.

</comment></comment><comment><USER16> Just a reminder that you are not safe in SA just because you are a westerner [https://en.m.wikipedia.org/wiki/William_Sampson_(author)](https://en.m.wikipedia.org/wiki/William_Sampson_\(author\))

</comment><comment><USER17> Please use wikivoyage instead of wiki travel.

<comment> guard-of-terra Because?

<comment><USER18> wikitravel co-opted the community content, and started showing ads. Hence the community moved to the wikimedia foundation as wikivoyage.org.

Does not make sense to encourage this kind of behaviour.</comment></comment></comment>


Weird Constants in Math Problems - <AUTHOR> https://blog.plover.com/math/odd-constants.html <comment><USER2> Seems the first constant is wrong

>>> 1/(2 * (1 - math.exp(-2)))

0.5782588213748329

Instead it should be

>>> 1/2 * (1 - math.exp(-2))

0.43233235838169365

Which handily appears in OEIS (a great resource for random constants and sequences) as [http://oeis.org/A247847](http://oeis.org/A247847)

<comment><USER3> Michael Lugo (author of the original post that Mark was responding to) here. I had written $1/2 (1-e^{-2})$ in my post, meaning the 0.4323 constant, but with the usual rules of precedence you do in fact get 0.5782; he just propagated my error.

<comment><USER4> I fixed it on my side also. Thanks to both of you for the correction.

</comment></comment></comment><comment><USER5> This is nice. I think OEIS and in general libraries of constants will be of great help in tackling problems with no analytical solutions.

Actually I do a lot of integrals this way – symbolically but checking whether the transformation was legit evaluating definite integral on few random intervals. For me is very helpful and I believe it can be extended to problems beyond integrals.

<comment><USER6> > It's easy to use Monte Carlo methods and find that when n is large, the > average cluster size is approximately 2.15013

It never occurred to me before, but running simulations and looking up the result in a dictionary of constants might be a helpful learning approach for people who are more adept at going from practice to theory.

<comment><USER7> I solve a lot of problems this way, thanks to OEIS.

How many fromblaz of size N are there? lets count them for N=1 ... N=8 or whatever is tractable to count using naive methods then hope a useful result shows up in OEIS.

OEIS will also return equations for simple linear integer expressions without an OEIS entry.

Unfortunately, the tools for single constants are significantly less good than OEIS.

</comment></comment></comment><comment><USER8> [https://www.wolframalpha.com/input/?i=2.15013](https://www.wolframalpha.com/input/?i=2.15013)

It's there as one of "Possible closed forms".

it's there even for 0.4323 but further down, you need to request more closed forms.

</comment><comment><USER9> One I found as a kid was 0.73908513321. It appears when you just press the Cos button on a calculator repeatedly (for any starting value). I can't find it used anywhere else.

<comment><USER10> You can see that your constant is the solution to x=cos(x) (if the equality is true, you can replace the x on the right side with cos(x), and repeat this process).

The solution apparently has a name, Dottie constant [1].

[1] [https://mathworld.wolfram.com/DottieNumber.html](https://mathworld.wolfram.com/DottieNumber.html)

<comment><USER11> Beautifully, iterating any continuous function will yield a fixed point of the function if it converges.

[https://en.wikipedia.org/wiki/Fixed- point_iteration](https://en.wikipedia.org/wiki/Fixed-point_iteration)

<comment><USER12> Interestingly, I've found this kinda sorta occasionally works on functionals of a differential equation too if you start with a good enough guess. Someone has probably made this concept and the necessary/sufficient conditions rigorous but its getting into territory that is a good bit too advanced for me to follow.

As I recall from my fiddling, you are probably most likely to end up with a series solution of sorts, so it's a good idea to guess with polynomials or exponentials so you end up with component functions that form a basis for analytic functions.

<comment><USER13> It's not too bad to formalize :) The [[https://en.m.wikipedia.org/wiki/Fixed- point_iteration](wikip...](https://en.m.wikipedia.org/wiki/Fixed- point_iteration\]\(wikipedia) article on fixed point iteration) gives lip service to everything working fine in arbitrary metric spaces. It's easy to define a useful metric between functions (e.g. via integrating their difference, ignoring edge cases like occasional pointwise differences since a more careful treatment can give a presentation where those don't matter for the problem at hand), so the same kinds of theorems that work with cos(x) on the reals also work with differential operators on function spaces.

</comment></comment></comment></comment></comment><comment><USER7> Too bad that Plouffe's inverter can't seem to stay reliably online, except in intermittently available cut down forms.

The database behind it grew huge, making it expensive to operate, and it seems any copy of it online goes down whenever someone graduates.

</comment><comment><USER14> I find series even more fascinating than unexpected constants. Series also show up in the weirdest places and it's often very non-trivial to explain (or not yet explained at all) why the some series shows up in two different areas/applications. Check out the comments in OEIS[1] entries, it's fascinating.

[1] [https://oeis.org](https://oeis.org)

</comment><comment><USER15> I recall doing a numerical approximation to something, and it seemed to converge to about 2.5

Enough for me to, in my overconfidence, assume the constant was 2.5. Later, when I found an exact derivation, it turned out the actual constant was pi^2/4 or 2.46740110027. Which was apparently close enough to fool me.

<comment><USER4> A while back I looked at a problem where Monte Carlo simulation said that the answer was probably 4.

But analysis showed that the actual answer was 9304682830147 ÷ 2329089562800 = 3.994987….

[https://blog.plover.com/math/breaking- pills.html](https://blog.plover.com/math/breaking-pills.html)

</comment></comment><comment><USER16> I think these kinds of constants are very normal (and very cool) in these kinds of problems. "e" shows up a lot. For example, the probability that a given bin is empty is the probability that every ball misses it, or (1 - 1/n)^n --> 1/e.

<comment><USER17> Another interesting way to formulate it is as a differential equation in the number of empty buckets as a function of time. Given k empty buckets, the probability of picking an empty bucket is k/n. For large values of n and k, we can pretend it's a continuous and not-particularly-stochastic differential equation dk/dt = -k/n, with k(0) = n.

That's classic exponential decay, the solution being k = ne^(-t/n). Thus k(n) = ne^(-1).

</comment></comment><comment><USER17> One bit of the analysis is left out (if you follow the link to the Math Stack Exchange post) -- the probability of a bin being empty is not independent of the probability of other bins being empty. From the perspective that the number of groupings Y(x) is contingent on the total number of bins filled, X, you might say they're assuming E[Y(X)] = E[Y(E[X])].

But as n -> infinity, the effect of this becomes negligible.

</comment><comment><USER18> A probability problem has Euler's constant in its answer? And numeric approximations are close to that number?

Who cares? That's how probability works. Nothing weird.</comment>


How Dropbox Started As A Minimal Viable Product - <AUTHOR> http://techcrunch.com/2011/10/19/dropbox-minimal-viable-product/ <comment><USER2> I've read the chapter in the book _lean startup_ and again here. I fail to grasp the Minimum viability in that chapter.

Drew built a product with considerable reverse engineering before he got any feedback, tried explaining to the vcs and investors without much luck. It all worked when he created a video.

Where in the mvp in that? May be I am too thick to understand but for me this is a case of retrofitting the story to match your theory.

Dropbox had a great product that people loved with a better video. No, they did not use feedback loop to pivot and all that mvp stuff.

<comment><USER3> I must agree. MVP is getting thrown around and twisted like "pivot" did a few months ago. A video is not an MVP, because it's neither viable nor a product.

A video is great and, if done right, it's immensely useful at quickly explaining the value of the product your're building. It is not a product, though.

An MVP for dropbox would be something like a directory with a git repo that auto-commits everything and has a cron job push to & pull from a remote server every minute.

<comment><USER4> Here's how Eric defined MVP:

<< First, a definition: the minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort. ...

Second, the definition's use of the words maximum and minimum means it is decidedly not formulaic. It requires judgment to figure out, for any given context, what MVP makes sense.

[http://www.startuplessonslearned.com/2009/08/minimum- viable-...](http://www.startuplessonslearned.com/2009/08/minimum-viable- product-guide.html) >>

By that definition, it feels like a video could definitely qualify as an MVP? It allowed them to validate important learnings about customers with the least effort... not so different from an AdWords MVP smoke test:

[http://jasonlbaptiste.com/featured-articles/how-to-go- from-i...](http://jasonlbaptiste.com/featured-articles/how-to-go-from-idea-to- launching-with-paying-customers-in-8-steps/)

In any case, it sounds like Drew programmed enough to create a prototype but not enough for it to have the polish required for a user to be able see that it "work[ed] seamlessly" or "worked just like magic." So in that sense, the video did allow him to exert less effort and still test his customer hypothesis.

<comment><USER5> "Here's how Eric defined MVP:

<< First, a definition: the minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort. ...

Second, the definition's use of the words maximum and minimum means it is decidedly not formulaic. It requires judgment to figure out, for any given context, what MVP makes sense."

In other words, the definition is so broad and stretchable that any successful effort can be retroactively called an MVP, just like all successful software projects are claimed to be "agile" in some fashion (or lean or whatever the latest fad is).

MVP, pivot, Lean Startup(TM) - all this sounds like something tailored primarily to sell books and seminars, not what successful startups do. Now that Drew is successful, I am sure what he did will be held up as an example of the latest faux methodology. I am waiting for the Eric Ries post that portrays Steve Jobs as a "lean startup" visionary.

</comment></comment></comment></comment><comment><USER6> How meaningful is the term "minimal viable product" in this context (or any)?

Dropbox was designated from the beginning as an online storage tool. If they had not provided online storage when they started, no one would have used them. In that sense any advanced features were icing on the cake.

But I don't see this as being a critical part of Dropbox's success. They probably could have launched six months later with a more full featured product and still done well in the online storage market - simply by virtue of the strength of their product, team and strategy.

I'm a little tired of Eric Ries' simplistic axioms and consequent tendency to try to squeeze every use case into the mold of a supporting example.

To the extent that the term can be applied to any successful startup, how meaningful is it?

</comment><comment><USER7> If anything, Dropbox is proof that _sometimes_ "if you build it, they will come" really works. They had already built the entire product, and they're demoing it in the video, it just wasn't ready to ship.

This isn't anymore a MVP than a video game or movie trailer.

</comment><comment><USER8> It's _Dropbox_. The 'b' isn't capitalized.</comment>