Google modifies Android SDK [terms] to battle fragmentation - <AUTHOR> http://news.cnet.com/8301-1023_3-57550824-93/google-modifies-android-sdk-to-battle-platform-fragmentation/ <comment><USER2> _3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK._

I don't actually know what _fragmentation of Android_ means. I'm unsure that a court would know it either. Theoretically a new SDK derived from the Google SDK would actually be less of a fragmentation than an SDK for Android that was engineered totally from new.

Google really don't take open development seriously sometimes.

<comment><USER3> I don't really get it either. I'm not even sure how I, as a developer, can do anything to create fragmentation. If I use the official Android API, than my app (or SDK) should be forward-compatible.

If my app or SDK uses undocumented APIs, then it may not work in newer versions - but I'm not supposed to do that anyway. Maybe this is just a fancy way of saying "use only the documented API, because we guarantee it is stable".

Maybe carriers / handheld makers really just copied the source of the Google SDK, used or changed whatever they felt fit as if everything was an official API and with the next update all their changes were broken... so deriving of the SDK had to be addressed in a special way.

IANAL, but "participating in the creation of" ... "a software development kit derived from the SDK" sound like it contains creating a patch for the SDK. Very unfortunate wording, I wish they would have sticked to "don't use undocumented APIs".

<comment><USER4> I suspect this is intended to address the case where someone creates a platform derived from the Android OS, and then modifies the SDK to use it for development on that platform, or for dual use to develop software for Android and NewForkedOS.

Edit: This may be an issue for Amazon. They have forked the OS, which is fine, but they also use the (separately licensed) SDK and now this is apparently not OK.

</comment></comment></comment><comment><USER5> They have recently made a lot of noise about incompatible Android derived OS in China.

Like the Alibaba OS Aliyun. The name election is interesting. Yun is mandarin for cloud, which according to the news it is a main feature of this android bastard child, saving your data to the cloud like iCloud for iOS

[http://www.zdnet.com/cn/alibabas-aliyun-os-hopes-to-be- andro...](http://www.zdnet.com/cn/alibabas-aliyun-os-hopes-to-be-android-of- china-7000003937/)

[http://news.cnet.com/8301-1035_3-57513559-94/google- alibabas...](http://news.cnet.com/8301-1035_3-57513559-94/google-alibabas-os- is-an-incompatible-version-of-android/)

Just my two cents

</comment><comment><USER6> This isn't really about the kind of fragmentation most people are talking about.

<comment><USER7> Indeed. And I never felt the fragmentation people worry about is much of a problem. We have been doing resizable interfaces since the first windowing systems arrived.

<comment><USER8> Android fragmentation was never really about the resolution differences. As stated by the various Nexus 7/10 reviews out there, many Android apps on tablets are just badly resized phone UIs, but they're still functional. Badly coded apps might crash at unexpected resolutions, but most decent developers avoid those mistakes.

The fragmentation comes from the woeful OS update situation (API fragmentation) and there being a ton of different manufacturers each producing something slightly different (hardware fragmentation).

Older iPhones don't support all the features a 5 does (panorama, Siri, etc), but they support the latest APIs. Want to use a ICS TextureView for fast GL rendering to a view? 70% of the userbase won't have support.

Writing an image processing app that depends on the GL_OES_texture_float extension on the GPU? Phones from with GPU X will have the extension, phones with GPU Y won't. Need a gyroscope for some fancy UI widget? What about NEON intrinsics? What about an app that relies on all three? Having so many more combinations of hardware is a blessing and a curse, and testing against all the possibilities is a real hassle. Every platform has hardware fragmentation - Android just has it the worst.

</comment></comment></comment><comment><USER9> _...distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK._

I don't understand what Google is trying to prevent with this change. Is a "derived" SDK one that provides an alternative api to the official SDK, or extends it? Are there any derived SDKs in existence or being proposed?

Also, does any one have any thoughts about if/how this affects mono for android? As far as I am aware, MFA is an api layered on top of the the SDK. Does that count as "derived"?

</comment><comment><USER10> I'm assuming they made this change to combat forks that do little more than redirect the flow of data and money to themselves, eg. OPhone, Aliyun, Kindle Fire. I have little respect for them.

But I'm more concerned with forks that do more than that - namely, ones that take Android and adapts it for formfactors and usage models beyond what it was designed for. WIMM takes Android into a wristwatch; Ouya, into a gaming console; Vuzix M100, into wearable computing. Each of them have their own specific SDKs and would amount to "fragmenting" Android, but for good reasons. (Hell, Google themselves are probably creating an incompatible Android fork with Project Glass!)

I sure hope Google doesn't mess with those folks, as IMO they are the ones truly putting the openness of Android to good use.

</comment><comment><USER11> The good part: Android has really good API-level compatibility across official and AOSP-derived Android systems. Even Kindle Fire is highly compatible. These terms appear to be aimed at maintaining that level of compatibility. Also, these terms do not prohibit SDK extensions or plugins. So, if you have an API you want Android developers to use, you are fine.

The bad part: The terms are vague and could readily be used for evil, arbitrary, witch-hunts. "Fragmentation" is undefined. And Google has a history of wielding agreements, such as the "Anti-fragmentation Agreement" some OEMs have entered into in arbitrary inconsistent ways.

The worst part: It makes Google look paranoid, like Sun and Oracle. Android is conquering the planet. Chill.

</comment><comment><USER12> this ends android as an open source project frankly, open source means freedom to fork, end of story.

<comment><USER6> Not at all. This isn't about forking Android.

People who fork Android wouldn't really benefit from offering a separate SDK anyway. They would want to take advantage of the existing app ecosystem and preserve compatibility, just like Amazon is doing with Kindle Fire.

<comment><USER13> A fork means that you offer an incompatible SDK. What Amazon does is not forking the SDK, but using it.

</comment></comment></comment><comment><USER14> "history repeats itself"

like when sun was worried that googles dalvik might fragment the installationbase vor javaME-based stuff

only that they remained quiet and let them proceed because in the end it might result in smth. good?

</comment><comment><USER15> This is a step in the right direction.

</comment><comment><USER16> It's about this sort of fragmentation (vendor incompatibility): [http://officialandroid.blogspot.com/2012/09/the-benefits- imp...](http://officialandroid.blogspot.com/2012/09/the-benefits-importance- of-compatibility.html)

<comment><USER17> It looks like this is about the name. If you want to call your thing Android, you have to respect the Android API (the example they give with SystemClock makes sense).

The android source being under an Apache License, you can still fork the project, but you'll have to change the name.

This reminds me of the Firefox/Iceweasel story.</comment></comment>


Strawhorse: Attacking the MacOS and iOS Software Development Kit - <AUTHOR> https://freesnowden.is/2015/03/10/strawhorse-attacking-the-macos-and-ios-software-development-kit/

<comment><AUTHOR> This is the document discussed in the related article 'The CIA campaign to steal Apple's secrets': [https://firstlook.org/theintercept/2015/03/10/ispy- cia-campa...](https://firstlook.org/theintercept/2015/03/10/ispy-cia-campaign- steal-apples-secrets/)</comment>


360° video from the inside of a stadium demolition - <AUTHOR> http://www.immersivemedia.com/live/stadiumlive/

<comment><USER2> Nice. Did the recording get interrupted by the camera being hit by one of the stadium's arcs?

<comment><USER3> You can actually see the beam incoming if you turn 90 degrees right or left from the starting point and looking as far up as possible. It's one of those lattice-style ones (four pipes in a cylindrical formation with diagonal pipes holding them all together)

edit: spelling

</comment></comment><comment><USER4> That was excellent. Had to suppress mild urge to run away.

Putting cameras in places where it's not safe to put a person seems to be a rich field to explore.

</comment><comment><USER5> I believe this is Texas Stadium (home of the Dallas Cowboys, before they built their new stadium next door).

Here's a youtube video showing it from the outside: <http://www.youtube.com/watch?v=ydZCjwQRuQk>

EDIT: better video

</comment><comment><USER6> Wow! That was really neat!

As someone who witnessed the events of 9/11 in NY from across the river in Hoboken, NJ this was fairly terrifying too. I was not expecting to have that association when I clicked the link!

<comment><USER7> If this was Reddit, I would have a great reply to your comment.

<comment><USER8> Over here: [http://www.reddit.com/r/reddit.com/comments/buzqt/imagine_yo...](http://www.reddit.com/r/reddit.com/comments/buzqt/imagine_you_are_in_an_exploding_stadium_360_video/)

</comment></comment></comment><comment><USER9> I don't know if that was cooler than their Haiti thing, but it was definitely awesome.

<comment> brown9-2 <http://www.immersivemedia.com/haiti/index.php> for anyone curious

</comment></comment><comment><USER10> While from a technical standpoint I find these 360° videos really interesting but from fromt the standpoint of a person just watching, I find them frustrating. I feel, that no matter what way I'm facing, I'll miss out on something happening in another direction and that I'd have to watch the video many times in order to get the full experience. Does anyone else feel that way?

<comment><USER11> That's just a reflection of how the world is. There's always something behind you.

<comment><USER12> In the real world you have stereo hearing and the ability to dart your eyes. This video has a similar feeling to a bad dream where Bad Stuff is happening but you can't move quickly enough.</comment></comment></comment>


Kinect breathes new life into respiratory assessment - <AUTHOR> http://www2.warwick.ac.uk/newsandevents/news/microsoft146s_xbox_kinect <comment><USER2> Url changed from [http://www.techradar.com/news/world-of-tech/how-kinect-is- he...](http://www.techradar.com/news/world-of-tech/how-kinect-is-helping- people-to-breathe-1317704), which points to this.</comment>


Graph: Faster Abstractions for Structured Computation - <AUTHOR> http://blog.getprismatic.com/blog/2013/5/1/graph-faster-abstractions-for-structured-computation

<comment><USER2> At one point, I did a similar thing for a computer vision system I was working on.

That was quite naturally a filter graph: every component was time-dependent, caching and logging was important (rewind to find this blob 5 minutes ago), and parallelism was crucial because the system had to deal with synchronizing multiple IP cameras.

Amazingly, it was possible to do this in an entirely safe way in C++, with templates.

I wish I could put the code up on github, but unfortunately the company got taken apart and sold, so the code is in limbo.

</comment><comment><USER3> This is great work. Stuff I've been thinking about for a number of years but never actually doing. I wish there were something like this for Python. I know it's not pure, but it's my drug of choice. Anyhow, kudos.

<comment><USER4> Graph would be possible, but not as clean in Python. Consider switching up drugs. Clojure is way more potent man.

<comment><USER3> Yeah agreed. But I can ready Python (and many non-functional languages) effortlessly and Clojure (and most other functional languages) take WAY more effort for me to read. I mean huge amounts. Enough to where I've never been able to make a serious effort since getting anything done takes forever.

<comment><USER5> It's interesting because I had trouble reading lisp until somebody told me that you don't read lisp by worrying about parentheses, but by reading it as an indentation level aware language. Just like Python.

Here is a more in depth link: [http://stackoverflow.com/questions/1894209/how- to-read-menta...](http://stackoverflow.com/questions/1894209/how-to-read- mentally-lisp-clojure-code)

but the idea is, delete all the parentheses from you mind, the code should still make sense. The parentheses are to help the computer out, not you.

<comment><USER6> To follow up on this, I configure my editor to de-emphasize parens:

<http://gr.ayre.st/s/images/parens.png>

I can still see them if I need to but they have the same visual weight as tabs/end of line spaces. I like this because it makes it feel more like python to me.

</comment></comment></comment></comment></comment><comment><USER7> Coauthor of Graph here, I'm happy to answer any questions.

<comment><USER8> How does the parallel "execution strategy" work? Do you specify a maximum concurrency level? Can you distribute the computation onto other machines?

<comment><USER7> Graph is currently just in-process (no cross-machine distribution), although it's definitely a possibility down the line. The currently released parallel strategy is also just a pedagogical example, not really meant to be used.

Here's some WIP on a more practical parallel compilation: <https://gist.github.com/w01fe/4710008> Once the kinks get worked out this will go into the OSS project. Presumably concurrency level will be controlled by a parameter, and/or passing an appropriate ExecutorService.

<comment><USER9> It would be very interesting if you could easily convert a graph into a Storm[0] topology. An example of the Storm Clojure DSL is available in the storm-starter project[1].

[0] <http://storm-project.net/>

[1] [https://github.com/nathanmarz/storm- starter/blob/master/src/...](https://github.com/nathanmarz/storm- starter/blob/master/src/clj/storm/starter/clj/word_count.clj)</comment></comment></comment></comment>


New York City Launches .nyc Domain Names - <AUTHOR> http://www.mydotnyc.com/

<comment><USER2> They're "launching" the TLD before their application has even been _approved_?!

EDIT: My mistake, their site just doesn't mention the approval. Confirmed in replies.

<comment><USER3> Their FAQ includes "When can I register a .nyc domain name?

Domain names are currently expected to become available in late 2013 after ICANN approves the City's application. "

and

"Upon acceptance of its application for the .nyc domain, the City of New York intends to enter into an agreement with ICANN under which it will have control over the administration and management of the .nyc domain."

Perhaps they know more than us, but they seem very confident that they'll be getting approved. Nobody else applied for .nyc, but I don't recall it ever being indicated that was enough to guarantee approval.

<comment><USER4> Yeah, .nyc is such a narrow area that it doesn't deserve it's own TLD.

<comment><USER5> Would any country smaller, economically or in population, than NYC also be too narrow to deserve its own TLD?

<comment><USER3> I think the difference is in degrees of independence. That's obviously way too subjective (and would become political), but my point is that a small independent island nation is more independent than NYC, which is obviously 'just' a big city in the USA. NYC is served completely by .us or .com which anecdotally seems to be used heavily within the USA, while generic small island nation isn't served by any tld sufficiently.

</comment></comment></comment></comment></comment><comment><USER6> The only motivation behind this is absurd profit for those selling domain names, and I doubt that NYC will even see that money (does anybody know more information about this?).

Otherwise, I don't see how this would help a company identify in any useful way especially because we are talking about internet addresses here. How would ordering a product from webstore.nyc be any more helpful than webstore.com? It seems like a useless novelty, and will add more complexity and confusion to URL's in general as other cities get their own TLD's from the US and globally.

<comment><USER7> Registrars are a very low-margin business these days. I assume you mean registry.

<comment><USER6> Thanks for pointing that out. I edited to have a broader meaning, because I think there is a potential exploitation done by domain squatters in addition.

</comment></comment></comment><comment><USER8> This is interesting. I take this as another step towards New York City being recognized as a nation of it's own, much like The City [1] and Vatican City [2]. The United Nations HQ is already based there, so it has a good claim to said sovereignty.

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

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

<comment><USER9> The city of London is not a nation. I think you misread the Wikipedia article; as well as being a separate city, it's a separate _county_ , not _country_.

I personally like the idea of independent city-states but historically they have not fared terribly well. I think you'll see a resurgence of this idea in outer space in the coming decades.

<comment><USER10> Venice, Florance, Singapore, Hong Kong? Rome was originally a city state.

<comment><USER9> That's a pretty small number of success stories relative to the # of potential candidates, no? Also, none of them except Singapore is still fully self- determining, and Singapore is on a pretty small island rather than being embedded in a larger land mass.

</comment></comment></comment></comment><comment><USER11> "Finding a search result that is located in NYC can be challenging. Search engines often generate millions of results. Make your NYC business, organization or content easier for users to find."

How exactly is .nyc going to help in search results? Are we to believe that Google's going to give special priority to new sites just because they have .nyc?

Also, the "offers services to New Yorkers" makes it sound like it's going to be pretty open to any site, diminishing the (albeit limited) point.

<comment><USER3> Hmm, Google do treat TLDs very sensibly for their country specific websites, at least in the UK I get pretty smart results including .co.uk stuff. I think that's based off the fact I search from google.co.uk, which they automate a redirect to - not sure if they could do that for NYC residents as easily.

That said, I'd speculate that Google will deal with these new ones intelligently. Not only because they have a huge amount of applications for them, but also because if they do take off it'd be silly for a search engine not to be dealing with them appropriately.

</comment></comment><comment><USER12> It would be confusing if a NYC business with a .nyc domain relocated to SF. This domain would probably be most useful for city government agencies or institutions like the Museum of Natural History that are never likely to relocate. More generic TLDs make it much easier to geographically relocate your business.

<comment><USER13> Most businesses aren't web businesses. bobstacos.nyc, joespromdesses.nyc, tekserve.nyc, saks.nyc, perse.nyc, et cetera et cetera.

<comment><USER12> But a non-web business, even a fairly small one, can also move out of NYC or open additional branches outside NYC as it expands. For example, I know a sushi restaurant that has two branches in NYC and one in NJ. For that matter, Saks has several stores outside of NYC: Boston, Philadelphia, etc. Tying your brand to a .nyc domain could be quite limiting and make your locations outside NYC harder to search for.

</comment></comment></comment><comment><USER14> This is actually pretty cool. Over here in Europe every (most) websites end in a country specific TLD so we know where the website is based. We can see instantly a .fr domain means the website/store is based in France, or .de for Germany, etc and so on. It's not common at all to have a .com for your website.

I suspect in America it's going to be really confusing for people though because as far as I can tell everything is a .com. People probably won't be so keen on adopting a .nyc domain for their NYC based business because everything else is a .com so it might seem lesser or cheap or "not the real thing."

<comment><USER15> We do have the (neglected) .us domain. New York City should be .ny.ny.us

<comment><USER16> It's nyc.ny.us, which is actually in use already. This display of ignorance is a very badly-scaling use of the one and only namespace DNS has.

</comment></comment></comment><comment><USER17> >Who can register .nyc domains?

>New York City businesses and organizations with a NYC address, individuals with a primary residence in NYC, _as well as those offering products or services to New Yorkers_ can register a .nyc domain name.

Isn't that pretty much every nonlocal web app?

<comment><USER18> Yes. Further down in the FAQ, it clarifies that .nyc is available to everybody, but preference will be given to those with a NYC address. (It doesn't further clarify, but I assume that means that in the immediate rush of registrations, when two people attempt to purchase the same domain name, preference will be given to those registering with a local address.)

</comment></comment><comment><USER19> Let the _X_.nyc goldrush begin.

s.nyc (sync), th.nyc (think), p.nyc (pink), etc...

<comment><USER20> st.nyc - The homepage for the hot-garbage and urine smell of the big apple!

<comment><USER21> st.nyc - Santa's homepage.

</comment></comment></comment><comment><USER22> more NYC real estate that I can't afford... 0sqft

</comment><comment><USER23> Glad they wasted 200k to apply for this dumb TLD

</comment><comment><USER24> Off topic: Where's my Californian's who want .cali

<comment><USER5> Yeah, but then you would also need .nocali and .socali. Then the the .nocali folks would be upset because .socali seems _so_ much more .cali, but the .socali folks would be like whatever dudez.

</comment></comment><comment><USER25> sex.nyc, here I come.

</comment><comment><USER26> Wooo suck it .la and .sfc! #1! #1! #1!

<comment><USER27> Thanks to Laos, Los Angeles has had a domain for a while now.

[https://www.la/](https://www.la/)

<comment><USER28> I think it's awful to rebrand another country's TLD like this. We are talking about an extremely poor third world country. It would surprise me if any of the profits made from www.la ever goes to someone in Lao. It would also be very interesting to know how they acquired the rights of selling the .LA domain since we are talking about a Socialist State which is known for its severe corruption.

This feels like Colonization 2.0.

<comment><USER29> .la seems to have fairly colorful history:

[http://www.icannwatch.org/article.pl?sid=03/06/09/2023248](http://www.icannwatch.org/article.pl?sid=03/06/09/2023248)

I guess Lao is getting something from the "long-term contractual relationship" they have entered.</comment></comment></comment></comment>


Speculation in JavaScriptCore - <AUTHOR> https://webkit.org/blog/10308/speculation-in-javascriptcore/ <comment><USER2> If you were ever curious how modern JavaScript VMs (or VMs for other dynamic languages) achieve high performance, this is an awesome resource. It explains tiers, the goals and design of different tiers, on stack replacement, profiling, speculation and more!

JavaScript engines are the most advanced at this (only LuaJIT is even comparable), it would be awesome if Python, Perl, Ruby, PHP or the like aimed for the same level of performance tech.

<comment><USER3> PHP has a JIT coming in 8.0, using the same underlying tech that LuaJit does. Unfortunately, most of what people do with PHP isn't CPU bound, so it doesn't help much.

<comment><USER4> > most of what people do with PHP isn't CPU bound

... cause it's I/O bound? Just curious.

<comment><AUTHOR> I feel like I can almost visualize the killshot slides that the HipHop and HHVM folks used to show the extent to which PHP can be CPU bound and the extent to which server idle time can be increased by using speculative compilation tricks on PHP.

So, I think it is cpu bound for at least some people.

<comment><USER3> Versus PHP5.x that's true. Mostly because the PHP internals were inefficient. The performance differences vs HHVM vanished with PHP 7.x.

<comment><USER5> HHVM's 2nd generation region based JIT performs enormously better than PHP7.x in places where dynamic languages don't perform so well but PHP7.x has the clear lead when benchmarking large apps like WordPress.

<comment><USER3> I get where the _" rooting for the underdog"_ feeling comes from, but it still feels good that the relatively small and underfunded PHP team mostly beat Facebook here. I like to imagine there is some internal debate at FB on whether to just go back to mainline PHP and kill HHVM. Especially with a credible JIT coming.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I always love reading more about JavaScriptCore internals although I have to confess that much of the time one of the main lessons I get from it is that life would be much easier if we had types and didn't need to speculate so much in the first place.

<comment><AUTHOR> Not having types is a virtue for the web, where interfaces can change in weird ways. Dynamism leads the engine and the JS code to be less tightly coupled. So, there's more wiggle room for evolution in the engine and more wiggle room for portability defenses in JS.

So, it just depends on how important the benefits of dynamic types are versus the benefits of static types. I don't think static types of dynamic types are better; they are just good at different things.

<comment><USER6> It wouldn't be the JS we know and love if it had been burdened with a type system designed by a committee sometime in the 90s. That said, one thing we can say for sure is that the dynamic typing doesn't make your job any easier :)

<comment><USER7> You may want to speculate even when you have precise concrete types.

For example your type system may tell you have you have an int32, but you can speculate that only the lowest bit is ever set, with a kind of synthetic type you could call int32&0x1 which isn't expressable in the type system the user uses.

> dynamic typing doesn't make your job any easier

Yeah, it makes millions of application programmers' jobs easier at the expense of a small group of experts - sounds like the right tradeoff?

<comment><USER8> > Yeah, it makes millions of application programmers' jobs easier

I don't think it's that simple. Large programs get unwieldy, no matter what language you write it in, and a large body of evidence suggests that having static types for both safety and documentation is a big win, because it makes programs more robust and ironically makes programmers more productive in the long run. As you and I both know, this is a long discussion that stretches back decades, so it probably isn't going to be productive to hash it out here.

A more important discussion which is not being had is the question of the size of the trusted computed base. Framed this way, it makes sense to minimize the size of the trusted computed base and not have a complicated dynamic language implementation on the bottom. Instead we should have layers with a very strict statically-typed target that is easy to make go fast at the bottom. This is why I want to put WebAssembly under everything. Yes, even JS. (Fil would probably not agree here :-))

> For example your type system may tell you have you have an int32, but you > can speculate that only the lowest bit is ever set,

Range analysis is really important for JavaScript code because everything is a double and it is generally a win to avoid doing double math if possible, but I am duoubtful that it makes much difference for statically-typed integer code outside of array bounds checking optimizations. In my mind, range analysis on integers really only feeds branch optimizations. Maybe it's the case that optimizing integer code that is full of overflow checking benefits from range analysis (the kind of stuff you find _inside_ the implementation of a dynamic language), but I can't really think of much else.

<comment><USER9> > a large body of evidence suggests that having static types for both safety > and documentation is a big win

Citation needed. A review of studies on static vs. dynamic languages concluded "most studies find very small effects, if any". [https://danluu.com/empirical- pl/](https://danluu.com/empirical-pl/)

<comment><USER10> I read through all those studies and didn't think they shed any light on the subject, as this is something very hard to get numbers on:

"The summary of the summary is that most studies find very small effects, if any. However, the studies probably don't cover contexts you're actually interested in."

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I'd love to see a post like this on instruction selection.

</comment><comment><USER12> Wow, much longer/complete than I would expect, thank you!</comment>


Counterintuitive Competitive Advantages - <AUTHOR> https://www.collaborativefund.com/blog/counterintuitive-competitive-advantages/ <comment><AUTHOR> I think this aligns with pg's advice for startups to "run upstairs", i.e. "forcing bigger, slower competitors to follow [your company] over difficult ground" ([http://paulgraham.com/wealth.html](http://paulgraham.com/wealth.html)). If you're an elk with a smaller antler, it's better to move to areas where the food is harder to find which would be hard for the big-antler guy to sustain himself.</comment>


Ask HN: How do I hire a great data scientist? - <AUTHOR> My company has never done data analytics before but we're planning to start collecting data from our products, which are installed in many locations, and want to use it to design new controls algorithms. What should I look for in a data scientist to ensure they're able to handle kickstarting a new project like this? <comment><USER2> I would echo what Verdverm mentioned. If you have never done any data analytics before, this would be a 2-phase project.

First is figuring out what data matters, how you'll collect it, and have someone set up the systems to collect the data. You'll want to ask yourself "what questions do I need answers to", and then work backwards to figure out what data you need and how to go about getting it all in one place.

Second is having someone that can do something useful with that data.

You might be able to find someone who is both willing _and_ capable enough to complete the project from start to finish and then continue with analytics.

More likely, you would set up the data stuff with someone on a contract, then hire an analyst once the data is usable.

It might be beneficial to have some overlap in timing to be able to have your analyst and whoever is setting up the back-end stuff collaborate.

</comment><comment><USER3> You probably want someone who specializes in building the infra to collect the data. Do not have a data scientist do this, they want a job where the tools are in place, not to setup the tools.

Find someone who has built out what you need, then hire a data scientist once you have data in a usable setting.</comment>


ADHD Is Fuel for Adventure - <AUTHOR> http://www.outsideonline.com/2048391/adhd-fuel-adventure <comment><USER3> Orthogonal. Having ADHD doesn't imply a desire to be outside playing. It's a disorder of motivation, not a disorder of focus—an inability to _practice_ , and sometimes to _concentrate_ ; but not an inability to think, or to enjoy thinking.

Personally, in my childhood, I liked math and science. I had (and still have) ADHD, which made that hard, but I struggled through, because that was my passion. Medication (which I didn't get until I was 22) makes it much less hard.

Telling me my aptitude was in running around outdoors would have been the last thing I ever wanted to hear. I liked _exploring_ , sure (people with ADHD are almost always Bartle Explorer-types[1]), but building up physical endurance was just one of the many things I couldn't motivate myself to do, and would have heavily resisted someone attempting to push that on me.

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

<comment><USER4> I would further polish your desription - and call it a disorder of mismatched motivation.

People with ADHD can motivate just fine on things that stimulate them - <USER2> have even reported 'hyperfocus', a trance-like state of emersion in something. The problem is things that are not stimulating become very challanging or even impossible. This is why bills, appointment, rules, and chores can be so difficult for ADHD people to commit to. 'Normal Type' people may find misery in these sorts of tasks, but they are able to motivate themselves to complete them - and the tasks generally don't take that long for them.

A good way I've heard ADHD described is that people with the condition have no percetiption of time. If stimulated, its easy for them to loose track of how much time has passed - even forgetting to eat or sleep. If unstimulated, the misery seems to be never-ending, even if it would only take a short time to complete if the person applied themselves.

As an example: Michael Phelps (who has the condition) has been very able to motivate himself to practice swimming. Swimming at his level is a very tedious sport, requiring five or more hours a day in a pool staring at the black line on the bottom.

I've personally found sport (swimming and extreme) to be helpful in managing ADHD, both while doing the activity and maybe for a day or two afterwards. Also as a motivator before hand to get through tasks I find miserable to give some time for the activity.

<comment><USER5> Oh man, speaking to the choir. When I'm coding something interesting, my motivation and ability to focus is second to none. When it comes to things that don't massively interest me my brain is completely unable to focus. I've got better.

It's like our brains are like a magnetic pole. Some stuff is a opposite pole (so our brains magnetise towards it), and some are like the same pole and your mind is repelled from the task.

Once I was walking into the kitchen to pick something up off of the counter, and then as I reached for it, I got distracted and reached for the the fridge, and ended up literally falling over because I was trying to go in two different directions.

<comment><USER6> I look at people who are intrinsically motivated, seemingly all the time, with amazement. How are they able to consistently and constantly remain motivated? Is it because they have positive momentum in their results and I don't?

I am motivated by novel stimuli and challenges but once I figure it out and they become routine it almost becomes painful to keep working on it.

</comment></comment></comment></comment><comment><USER7> But will the positive experience kids get with this kind of activity have a long-lasting impact in their life? Will they grow up to be adults without ADHD or lesser symptoms?

I was in the scouts when I was a kid and teen, ultimately reaching the rank of Eagle scout. I did plenty of outdoor activities and sports, not necessarily extreme, however we did go portaging deep into the Boundary Waters quite a few times. Yet, my ADHD persisted throughout my teens and 20s and I still suffer from this disorder as an adult in my mid-30s. Of course this is anecdotal.

I guess it's a positive thing that being active outdoors will help a child while he grows up. Hopefully it helps in the long-term. In my case, I only wish it had.

Short rant: it's pretty common these days to talk about the over-medication and over-diagnosing of children with ADHD. We must remember that some of these cases are truly warranted. I wasn't diagnosed until I was 30. Since I've been on meds my quality of life has improved dramatically.

Quick edit for a warning: ADHD medications are very powerful and must be treated with respect. Do your research before and after starting them. Don't hesitate to visit even abuser forums or reddit so you can read about the negative effects of consuming too much, too often. You can easily jeopardize your mental future by taking the medications the wrong way.

<comment><USER8> Something to keep in mind is that adrenaline is something used in medication to treat ADHD in some cases. The desire for some to go out and do things like this (ie: Base Jumping) could be sourced to them craving that adrenaline that helps them focus. Maybe they are taking the wrong type of medication or maybe they aren't taking any at all.

Additionally I found this part very frustrating

 _> >Panksepp points out that while common stimulant medications for ADHD like Ritalin and Adderall may improve attention skills and academic performance in many kids, they do so at the cost of reducing the playfulness urge—at least temporarily. "We know these are anti-play drugs in animals," he says. "That is clear and unambiguous."_

This is strongly anecdotal but as someone who takes Adderall, I can't say this could be any further from the truth. The only thing that I can come up with that could lead to this thinking is that younger kids who have trouble with their hyperactivity might not be as hyper anymore after taking medication (which was the whole point in the first place for some). All this is doing is encouraging more adrenaline junkies to treat themselves outside of conventional means.

<comment><USER9> I can actually attest to being less playful on medication. I'm a very upbeat, humorous, and witty person. Too much of a stimulant however makes me very bland, an intense listener, and I have trouble coming up with replies to people. I tend to think of it as generally I have a firehose of ideas and thoughts spewing, and medication pinches the hose and directs its flow. It's a balancing act though

<comment><USER10> I believe you. That said it seems to vary wildly.

From what I have witnessed it even varies with type of the same stimulant from person to person, even within a family. (In a case I know all too well the recipient get tongue swelling as well as clenched jaws[0] on R XR at 40mg/day but has absolutely no issues with doses from 40 - 80 mg/day of the standard one. Oh, and the other person in this study, the brother of the first, went into spiraling weight loss at 60mg/day but prefer XR.)

Also playfulness seems to be preserved in these two cases. The best explanation I can come up with is: lowers the "interesting" threshold so that driving according to the speed limits is less intensely boring etc.

[0]: of course this can be reactions to additives of XR but they are commonly referred to as side effects of R itself.

</comment></comment></comment></comment><comment><USER8> This article is ignoring that fact that there is a variety of different types of ADHD[1]. For example I have ADHD-PI which is just ADHD without the hyperactivity. I can't say I ever had a strong desire to play outside when I was younger and if anything I resented it.

ADHD is a very complicated neurological disorder which can be difficult to diagnose due to its similarities with other disorders like depression or social anxiety. In my case, the social anxiety was noticed long before my ADHD was when in reality ADHD was the root cause. For others this can actually be the opposite, their symptoms appeared to be ADHD but in reality they have a sleeping disorder.

Articles like this seem to be pushing an agenda ( Website Title: Outsiders Online ) and are trying to find an easy generalized solution to a complicated problem. That being said, exercise mixed in with education is something that should be important anyway, for all kids. Exercise keeps you healthy and motivated, regardless of any mental disability they may have.

[1][https://en.wikipedia.org/wiki/Attention_deficit_hyperactivit...](https://en.wikipedia.org/wiki/Attention_deficit_hyperactivity_disorder#Diagnostic_and_Statistical_Manual)

</comment><comment><USER11> Isn't it normal to have difficulty focusing on things that are really boring?

ADHD diagnosis rates are several times higher in the US than in other developed countries, and orders of scale higher than in low-diagnosis countries (such as France). The biggest risk factors for an ADHD diagnoses include things like "being male" and "being in the youngest quartile of your kindergarten class". That's an amazing thing to pathologize. In the US, the drive to perform well on standardized tests has gotten to such an extreme that kindergarteners are expected to have literacy performance that was expected of 1st-graders a generation ago, and children are expected to _come_ to kindergarten with the alphabet knowledge that they would have learned in kindergarten a generation ago. Meanwhile, the amount of time young children have spent at recess has declined hugely in the last 30 years, with very many schools having no recess at all.

Isn't there a margin where this is a disorder because of the interaction between an individual and their environment, where the environment is the problem?

Some amount of ADHD-spectrum behavior might should be considered within the range of normal child development, which is being pathologized by a system that doesn't give young children (especially slightly younger boys) enough exercise. The main treatment for ADHD is lifelong amphetamine use, and nobody can say whether this treatment prevents children from developing coping mechanisms that they would otherwise normally develop before adulthood.

If something as simple as more exercise can marginally reduce ADHD diagnosis or medication rates, that would be a huge advance.

<comment><USER4> This speaks to a common commment about ADHD. Where is the border between a 'personality trait' and a disorder?

The condition is usually defined by having an impairment in at least two environments (ie school, home, work, sports teams). 'Impairment' is obviously subjective, but implies something more than simply being bored. Playing a game in a boring meeting probably isn't ADHD. Being unable to focus for more than a few minutes in _any_ meeting is a stronger sign, and could really make it harder.

On diagnosis rates - in most countries its 2-5% (>10% of children in the USA..). That is about 2 standard deviations from an 'average' person, which can actually be quite a difference. For comparison, a 'genius' is someone who scores in the top 2% of an IQ test. Economic elite are '1%-ers'. I'd agree that there is a continiuous spectrum, and also that it is mis/over-diagnosed in a considerable number of cases. I think it is this over-treatment that you are questioning, but lets be cautious to not add to the stigma around legitmate cases of the condition.

I'd agree often the challange is between individual and their environment - although often 'enviroment' includes people around them. Often the environment is hard to change - do the 95% change to accomodate 5%? There is advice for careers that people with ADHD tend to be better at - sales, entrepreneurship, and medicine for their fast-pace and energy, or jobs like the military where there is a lot of structure.

I think its more complex than saying exercise would reduce diagnosis or medication rates. In particular, if exercise alone 'cures' ADHD, it is likely a mild or mis-diagnosed case. In my own experiance, exercise (as well as sleep and diet) do affect symptoms, but don't eliminate them.

<comment><USER11> Yea, my concerns are threefold: overdiagnosis, the diagnosis of young children, and the impact of treatment on developing children. I don't doubt that ADHD is a real disorder, but if the true rate of occurrence is 2-5% while the US diagnosis rate is 10%, that means that a huge proportion of American kids are overdiagnosed. And the leading treatment for ADHD is quite intense: lifelong use of very powerful drugs, with no real understanding of how that impacts normal child development.

I would be surprised if exercise alone works for people who struggle with a very disabling condition, but I suspect interventions less extreme than a full ADHD diagnosis and medication regimen would do a lot of good for kids who might otherwise be overdiagnosed as ADHD.

And as far as the concern as to whether the 95% should change to accommodate the 5%, what we're talking about here is "getting more exercise"—and when huge numbers of schools don't require recess—it's something that the 95% would benefit from.

</comment></comment></comment><comment><USER12> ADHD has severe consequences on children: less happiness, less self control, more aggressiveness, higher risk of substance abuse and in general much lower grades.

Unless a new treatment can demonstrate that it can reduce these consequences as well as medication does in the majority of cases, let's stick with the treatment that works, shall we?

<comment><USER13> In addition, I would like to see more articles about the dangers of misdiagnosis of adhd. There are a lot a conditions that can be mistaken for adhd( sleep disorders to overactive thyroid). The articles that try to glorify it really annoy me, I can't come up with a single benefit of adhd in my life.

<comment><USER12> I'd say hyperthyroidism is difficult to overlook. At least I hope nobody is started on long term stimulant treatment without routinely checking simple blood parameters.

</comment></comment></comment><comment><USER14> I have ADHD. Rather than focus on what it is and whether it's real, I'd like to focus on what helps. Cardio and adrenaline help more than anything else for immediate relief. So much of dealing with ADHD is realizing your tendencies and building your life in a way that is conducive to your work flows. I know I need frequent breaks, privacy and hydration. If I'm about to have a panic attack because I can't concentrate and work is due, I go for a short bike ride and set the work aside momentarily. If I tried to work on at that moment, not only would I not make progress but I'll probably have an anxiety attack. Once I give my brain room to breath programming issues seem so much easier.

</comment><comment><USER15> Unfortunately, while probably well-meaning, articles like this perpetrate ideas that make parents and individuals avoid proven, clinical treatments.

</comment><comment><USER16> I think this is an excellent way to help some kids cope with adhd, but I definitely don't think it'd work universally. Reading this made me think back on my own struggle with adhd.

A few years ago I was diagnosed with adhd at the age of 23, and god damn do I wish it happened a decade sooner, but my parents were the type that didn't believe in that kind of stuff, so I was just lazy. It's stuck with me to this day even, it took me a while to come to terms with it and I at times I still think I'm lying to myself and I'm just lazy, and would never make this post on my main account.

I first started seriously considering that it might be something other than just laziness in college when I was studying for finals with some friends and we decided to enhance that studying with some adderall. Everyone got super focused, churning out work and wide awake for hours, except me. I felt pretty much nothing different at first, and was kinda pissed it didn't work, but got to studying anyways. The next day I was complaining to my friend about my apparent immunity to amphetamines, and thinking back I realized it might've had an effect after all. Instead of jumping around and doing 50 things at once in no logical order I actually stayed more or less on one thing at a time. I didn't get the apparent super human focus and metal boost, and it didn't keep me awake for shit, but I got to pick what I focused on. My friend mentioned that having that kind of reaction to stimulants might be a possible symptom of add, but I didn't take that seriously, since everything is apparently a symptom of add.

Later on I finally got a job with my own health insurance, and went to a therapist for an unrelated reason. Through multiple sessions I unloaded the story of my life, how I could never pay attention to just one thing when I was younger, but I saw it as an advantage because I could context switch between 10 things got damn good at it. How I loved driving so much because thinking about every other car on the road with me and predicting their actions all at once put my mind at ease. But as I got older, the 10 things I tried to focus on each needed a lot more focus than my rapid context switching could provide. It had gotten to the point that holding a conversation was a troubling task because I'd also be thinking about 10 other things and losing bits and pieces of it.

The first time my therapist told me that I may have adhd, I was actually insulted. I didn't want to consider the possibility that something was actually wrong with me, I was just lazy and needed to get my shit together. I never outwardly acted out as a kid, I wasn't hyperactive, there was no way I could have adhd. I later realized that a lot of my outlet went into computers instead, where for me the adhd was actually helpful.

I continued my sessions, and eventually she convinced me to see a psychiatrist. Over a few visits he also diagnosed me with adhd. I refused to take the prescription and ended up going to two other doctors that gave me the same diagnoses. I finally relented and worked with my therapist and the psychiatrist to set a plan of action. I was prescribed adderall, which I took daily for 3 months. At the same time I also started working on behaviors and methods to cope with it without medication. It was a night and day difference. I remember 2 weeks in sitting in my room almost in tears thinking "is this how normal people think all the time? They can choose? Why the fuck couldn't I have that".

After the first 3 months I started skipping my meds for one week out of every month to gauge how well I could deal without. It took about 7 months until I was confident enough to go off of it, but it feels like I never did. As much as I hate pharmaceuticals, there's no way I could've gotten to where I am today without. I genuinely feel that I've managed to change something in my brain to a less chaotic process. I didn't even know there was another way to think, I thought that was normal. Sure, it's still a struggle, and I still have my moments, but I can actually manage my life. I can decide to clean my apartment and not end up starting 5 other projects after 20 minutes of cleaning. The amount of shit I could have accomplished had I been able to handle my mind a decade earlier.

Sorry for the long winded rant, but damn it feels good to actually put that into words. I'm still ashamed in a way of it, it makes me feel "broken" I guess, so no one but my doctors and I know and writing that was a bit of a relief. I'm honestly not sure what my point of writing this was, other that to say that while giving kids heavy amphetamines is probably not a great idea, doing something to help from a young age could be massively life changing, and if nothing else is helping, waiting too long for medication probably isn't a great idea either.

<comment><USER17> > but my parents were the type that didn't believe in that kind of stuff, so I > was just lazy.

You're not the only one: I failed many high school courses because I couldn't focus on getting the homework done. Official Parental diagnosis: Lazy $*#@. And my mother was even trained to identify mental problems like this, but developed a blindness to my symptoms.

<comment><USER16> I barely skated through highschool pretty much on test scores alone. If I couldn't do the homework in class the day it was due, it basically didn't get done. My sat scores managed to get me into college, which I dropped out of due to the homework. Went to two more community colleges after that for a year each, then another college I got a scholarship at but only made it 2 years there before I got a good job (thank god for my interest in computers from age 6) and decided it wasn't worth it. I'm considering going back now that I've gotten my head straight though.

<comment><USER18> Interesting nearly simul-post. Same here, I scored 1250 on the SAT, 31 on the ACT, and in the top 99th percentile on the CPT.

Literature/Comprehension has always been my weakness "Read the passage below, then select what you think best describes the point the author is trying to make" \-- they all look like right answers.

Took 18 credit-hours per semester of courses on scholarship, right out of high school, failed all of them miserably, dropped out, goofed off for 5 years doing whatever would make money. Got a good job that pushed me back to school, once again got a scholarship, went for another year or two, was forced to quit due to personal circumstances. I have two years left on my BS in Computer Engineering, I may finish one day, but it's not very important to my current line of work.

<comment><USER16> I almost didn't post my original comment as it seemed off topic, but responses like this make me glad I did. It's good to realize I'm not alone in it.

2170/1400 on the sat, 35 on the act, not sure what the cpt is, and anything anything writing/literature related killed me. I passed my senior english class with a 59.5, literally as low as possible without failing. I have a total of ~2 years of credits on my ECE BS, but work as a sysadmin/devops and love it, if I finish my degree it'll just be something to hang on the wall.

<comment><USER18> I had the exact same grade in English IV - barely scraping by with a D. If I had failed that I would have been another year in school.

CPT "College Placement Test" was required by the local community college even though I had taken the SAT and ACT.

It was not a timed test at the time, it was multiple choice, and I was allowed to use a simple calculator. Might not have known all the right answers, but I knew how to figure out which one was the wrong one. I think I spent 6 hours on it. I by far scored the best on it out of all of them.

I used to be in network security for a financial institution, but I wear a few hats now. I'm a certified tower climber and senior network engineer(That makes the article even more relevant, half of the time I'm designing networks, the other half of the time I'm getting sunburnt, hanging off a 500ft tall piece of steel with a fiber cable dangling under me and a laptop on my back.) I have a good Cisco background, MCITP(the new, now old MCSE) and can take apart and fix nearly anything.

Thanks for your story. It would probably give away your main handle to disclose, but I'm curious why you wouldn't want to post it under that one.

edit: fixed typo

</comment></comment></comment></comment></comment></comment><comment><USER19> Is ADHD associated with heredity? How does one go about getting oneself tested - if I am (and I fit a lot of symptoms) I would want to ensure my kids get the right sort of help early.

<comment><USER20> Yes, it appears to be hereditary, however no single gene has been implicated. There is also no subjective test, but if you see a psychiatrist they can usually diagnose you be asking questions about your symptoms. This can be problematic because some insururers won't pay for amphetamines to treat a condition that can be "faked".

</comment></comment><comment><USER18> It's unfortunate that this type of therapy is out of reach for the majority of kids. Not many parents have $50,000/yr of disposable income to send their child.

I know of a child right now that something positive like this may be the deciding factor between a productive life or a life behind bars, but the cost is at least 50% of his parents combined income, so he will not have that option.

</comment><comment><USER21> Slightly off-topic, but I have seem some great responses here I would like to add a somehow controversial comment.

I have a 10 year old kid diagnosed with severe ADHD-Inattentive type. He is on meds and behavioral therapy, and I must agree with most of the posts that meds is a must for these kids.

My very personal an unscientific explanation is that ADHD is _not_ a disease in the traditional sense; instead, it is just a brain that does not fit in our current lifestyle. Would my kid have any problem living in a simpler society (hunter-gatherer group) ? Definitively not.

From time to time I tell my wife - and she gets _very_ angry - that our kid has a MS-DOS brain, while we are all running Windows 10. The analogy is no exact, but it is just to emphasize that my kid belongs to another time. I only wish he can find his place in this world.

<comment><USER22> _Would my kid have any problem living in a simpler society (hunter-gatherer group) ? Definitively not._

I know some children like that. Children who cannot keep quiet while hunting would not fare well in a hunter-gatherer society. Indeed, young members of a hunting party who move around too much and make too much noise are in danger of being eaten themselves by larger predator animals. I'm not sure that there has ever been a selection advantage to having difficulty maintaining attention focus.

<comment><USER9> The thing with ADHD is that the difficulty to maintain attention is often highly situational. As someone diagnosed I personally have a lot of trouble focusing on a lot, but when it comes to something like juggling or playing counter-strike it's pretty remarkable how well I suddenly tune everything out and get extremely engaged. Probably more so than a "neurotypical" person and their preferred activities. I'm also generally hyperactive, but not impulsive. I move around constantly at home, but in other social settings I'm able to sit still if it's socially unacceptable for me to be walking around or fidgeting.

<comment><USER23> Agreed. I've been a big fan of billiards for 20 years and I think a part of the reason is that playing well basically requires very short bursts of absolute focus, something that I'm good at. Pool is hands down the only game I can play for 14 hours straight and not get bored/tired of playing at all.</comment></comment></comment></comment>


Ask HN: news.yc without refreshing? - <AUTHOR>

I'm tired of refreshing news.ycombinator.com =]  Can someone please build a reverse ajax script that just updates new stories, point changes, and number of comments in real-time?  Perhaps a nice little graphic displayed (such as in XCode when you add a closing curly brace "}" in a method) to indicate the information has updated. <comment><USER2> It is not too difficult to implement Comet on news.yc. But, the limitation I have is the maximum request I can make to the server. It is impossible for my web app to request to the news.yc server every single minute just to detect the change. And, eventually, the server will refuse the web app request.

The only possible way to implement this technique is to create an iframe that will contain news.yc and refresh the iframe every single minute automatically using javascript. Then, the request will be made from your IP instead of my server. But, I believe that news.yc will refuse your request to the server eventually.

But, I do like to see YC implement this feature.

</comment><comment><USER3> Use Opera, then right click on the page and choose: Reload Every > 1 minute, etc...

</comment><comment><USER4> why don't you do it?

<comment><AUTHOR> heh it's unfair for me to ask this of the community when i myself don't even have time to do it. let's just say it's a feature request that i think would be neat, not nagging anyone or anything.

if i find some time before the winter break is up, i'll throw this together. i've always wanted to play around with reverse ajax anyway. does anyone else like the idea or am i just being picky?</comment></comment>


Why you shouldn't use disposable email addresses to register domains - <AUTHOR> http://viewdns.info/reversewhois/?q=mailinator.com

<comment><USER2> I think the point the poster is making is the specific type of disposable address they've used. Addresses on mailinator.com can be read by anyone without a password (go see for yourself). Presumably anyone could just do a password reset and take over the account.

However, just because they used a disposable contact email in the whois record, it's not necessarily the case that they used the same for the registrar account or anything else (so taking over the domain isn't as easy as implied).

In any case, I don't see any issues with "disposable" email addresses such as a random alias on a private domain with a catch-all.

</comment><comment><USER3> "Why you shouldn't use disposable email addresses to register domains"

Err... was there an extra negative in there? I'm failing to see why this is evidence that you _shouldn 't_ use a disposable email address.

</comment><comment><USER4> yeah right, so my official emails will get spammed to death forever by the newbiest kid who can grep the whois database.

Of _course_ you need to use a disposable email for pretty much /everything/ these days.

</comment><comment><USER5> Oh wow: "there are 65,117 domains that matched this search query." (for firstname.lastname@example.com)</comment>


Why I'm (Finally) Switching to CoffeeScript - <AUTHOR> http://codelikebozo.com/why-im-switching-to-coffeescript

<comment><USER2> Some nice examples, if a bit unfair since the JS is clearly compiled from the CoffeeScript rather than hand-coded. In fact, the last example reveals a bug in CoffeeScript—the function

        (x, y) ->
          for game_piece in @game_pieces
            if game_piece.is_at x, y
              @held_item = game_piece
              @held_item.start_dragging x, y
              break

compiles to

        function(x, y) {
            var game_piece, _i, _len, _ref, _results;
            _ref = this.game_pieces;
            _results = [];
            for (_i = 0, _len = _ref.length; _i < _len; _i++) {
              game_piece = _ref[_i];
              if (game_piece.is_at(x, y)) {
                this.held_item = game_piece;
                this.held_item.start_dragging(x, y);
                break;
              }
            }
            return _results;
          }

Notice that _results is initialized as an empty array... and is never modified, making it an utterly pointless return value. What's happening is that the CoffeeScript compiler has both implicit returns and list comprehensions, which means that it tries to return an array of all the values in the loop. All well and good, but the compiler doesn't try to do a list comprehension when there's a break... and yet it creates the frivolous _results variable anyway.

Obviously I'm a fan of CoffeeScript; this is a minor bug and I expect it to be fixed. But let's be fair in making the case for it. Well-written JavaScript will always look better than CoffeeScript output; it just takes a lot more work.

<comment><USER3> To be fair, lack of optimization by a compiler is not a bug--unless it claims to do that kind of optimization.

<comment><USER2> Well, there was a related inconsistency which was certainly a bug. And it's now fixed: <https://github.com/jashkenas/coffee-script/issues/1669>

</comment></comment></comment><comment><USER4> At least for the first example, the reason the JavaScript code is so bad is that the CoffeeScript code is equally bad. It repeats an entire for loop for each character code!

Having a concise syntax doesn't relieve you of the duty to simplify your code. Both the CoffeeScript and JavaScript code can be simplified considerably, as several others have pointed out.

In fact, if you clean up the CoffeeScript code like this:

        keyMoves =
            37: 'pan_left'
            38: 'pan_up'
            39: 'pan_right'
            40: 'pan_down'
            187: 'zoom_in'
            189: 'zoom_out'

        document.onkeydown = ( event ) ->
            move = keyMoves[event.keyCode]
            piece[move]() for piece in game_pieces
            the_screen.refresh( game_pieces )

It compiles to this JavaScript code:

         var keyMoves;
         keyMoves = {
              37: 'pan_left',
              38: 'pan_up',
              39: 'pan_right',
              40: 'pan_down',
              187: 'zoom_in',
              189: 'zoom_out'
         };
         document.onkeydown = function(event) {
              var move, piece, _i, _len;
              move = keyMoves[event.keyCode];
              for (_i = 0, _len = game_pieces.length; _i < _len; _i++) {
                   piece = game_pieces[_i];
                   piece[move]();
              }
              return the_screen.refresh(game_pieces);
         };

And that's a quite reasonable piece of code - nothing like the JavaScript example in the article.

Personally I would write the JavaScript version more like this (assuming I wanted a raw for loop instead of an iterator function, perhaps for speed):

        keyMoves = {
            37: 'pan_left',
            38: 'pan_up',
            39: 'pan_right',
            40: 'pan_down',
            187: 'zoom_in',
            189: 'zoom_out'
        };

        document.onkeydown = function( event ) {
            var move = keyMoves[event.keyCode];
            for( piece, i = -1;  piece = game_pieces[++i]; )
                piece[move]();
            the_screen.refresh( game_pieces );
        };

But I certainly don't see anything very wrong with the CoffeeScript-generated JavaScript, once the original CoffeeScript code is improved.

</comment><comment><USER5> When you directly compare coffeescript to JS and looking at more or less the same code (but of course it's very unfair to JS to use coffee compiler output instead of hand written JS), you won't find much of a difference aside of the small syntax changes.

But once you are used to coffee, your code will start to look very different from pure JS code. Coffe encourages you to write even more, even smaller functions due to its lean syntax.

This new coding style that emerges (at least it began to emerge for me and a coworker) is infinitely more readable than JS, even more so when you look at a direct translation.

My takeaway from this is two things:

1) coffee is cool. Just give yourself one time to adapt. At first everyone's code in $NEWLANGUAGE looks like code in $OLDLANGUAGE until you get used to the common idioms in your new language.

2) The general syntax of a language can have a huge effect on your code style which in turn can have a huge effect on overall readability.

<comment><AUTHOR> I haven't seen that yet but I can imagine it happening. I love Javascript but coding lambdas always felt ugly enough that I used it more in C# than JS. It is definitely true CS fixes that for me.

</comment></comment><comment><USER6> I find CoffeeScript pushes programming in the browser over the crucial tipping point between Not Fun and Fun. (I'm almost embarrassed by how much of a sucker I am for syntax, but there it is).

<comment><USER7> > I'm almost embarrassed by how much of a sucker I am for syntax, but there it > is

It's interesting how so many people profess love for CF's syntax, where I have such a dislike for it (to me, it looks like a magpie language: rather than a whole design it's cobbled from shiny pieces taken from all over the place; the way some features are "integrated" are close enough to yet far enough from the source language that it lands straight in my uncanny valley; it's drawing back from the OO/Func movement of the JS community back into procedural and statements-based something fierce; the target language leaks heavily through such things as the thin v fat arrows; and finally it draws back from things I think are genuinely better features of javascript, such as explicit scopes)

<comment><USER8> > it's drawing back from the OO/Func movement of the JS community back into > procedural and statements-based something fierce

This statement is completely incorrect, the truth is actually the exact opposite.

First I would note there is no such thing as a statement in Coffeescript. __Everything is an expression __... this may seem like a minor point to some, but it's actually quite a powerful difference. As with a lot of the things CS adds, It's hard to appreciate the boost in expressiveness until you start writing a lot of code with it.

If you want to talk about functional programming, expressions rather than statments count as __1 whole point out of 9 __for PG's "list of things that are awesome about lisp".

Another important aspect of functional programming is lambdas, JavaScript does not have "real lambdas" because of the lack of implicit returns and the aforementioned quality.

By adding them, CS get's you much closer to real lambdas. This combined with the light syntax for functions __encourages __one to program in a much more functional style.

These qualities enable say, quick and easy decorators:

        logged = ( f , named_f ) ->
            if named_f? then [ f, name ]  = [ named_f, f ] else name = "function"
            # decorated function, to be returned
            ( args... ) ->
                console.log "#{name} (#{f.length}) with #{args.length} args."
                f.apply @, args

        # random function, note our decorator preserces "this"
        foo = logged ( x ) ->
            console.log( @[x] + "" )

        # random function that calls other function, our logging lets us trace the calls
        # this one provides a name
        bazz = logged "bazz", ( x ) ->
            foo.call @, x

        # test
        bar =  fizz: "buzz"
        bazz.call bar, "fizz"

Note also how splats simplifies this operation. Destructuring and the existential operator makes the logic in the decorator function a little cleaner. String interpolation makes the logging easier.

Additionally the use of implicitness really makes it shine and fit together well, rather than being mere eye-candy. There's no wrapping in parens to decorate, making it harder to mess up, easier to modify, and easier to parse visually and perhaps programatically.

I think a lot of people are deceived when it comes to CoffeeScript, they see a lot of little things which seem nice...but individually they seem pointless or minor. They are deceived on two parts: a lot of these "little things" are actually quite powerful on their own, and additionally they mesh in a way that is greater than the sum of the parts.

All these little nice things can add a powerful boost to expressiveness and once you spend some time with them it really changes how you think and write code. That's another thing I would note is that CoffeeScript is for people who want more expressiveness/find these things more expressive. If you are looking for something else, or think in a way that has an impedance mismatch with the CoffeeScript philosophy, obviously you should look elsewhere.

(If anyone's curious, this decorator makes it so every time a decorated function is called, it logs the function's name if provided, the number of defined arguments it takes, and how many it was actually passed.)

I would also note that scopes function the same in CS as they do in JS, the only difference is that in CS you cannot shadow variables from an enclosing scope, and there are no implicit globals.

In terms of OO, CS adds syntactic sugar for perhaps the most common inheritance pattern in JS.

I would argue both of those are _good_ things, though I respect other people might think otherwise.

</comment></comment></comment><comment><USER9> > var game_piece, _i, _j, _k, _l, _len, _len2, _len3, _len4, _len5, _len6, _m, > _n;

I dont see why he didn't use do "var game_piece , _i , len;" He doesn't need multiple i's nor lengths. The JS example is just a very poor example of coding. (in fact he could of just simplified it further down by having one loop and a variable to the method, to be executed on those pieces.)

CoffeeScript is very nice, but I want to see examples of why to use it that will actually save me time. Compared to the examples, there are better ways to code and tons of easy ways to do OO with certain frameworks/toolkits.

<comment><USER10>
        var keydown_action_map = {
          37: 'pan_left',
          38: 'pan_up',
          39: 'pan_right',
          40: 'pan_down',
          189: 'zoom_out',
          187: 'zoom_in'
        }
        document.addEvent('keydown', function(event) {
          var action = keydown_action_map[event.keyCode];
          game_pieces.each(game_piece[action], game_piece);
        });

<comment><USER11> This can be written like this too:

      keydown_action_map =
            37: 'pan_left'
            38: 'pan_up'
            39: 'pan_right'
            40: 'pan_down'
            189: 'zoom_out'
            187: 'zoom_in'

      document.addEvent 'keydown', (event) ->
        action = keydown_action_map[event.keyCode]
        game_pieces.each game_piece[action], game_piece

If you can write terse code in JS you can write it even more terse way in CS.

<comment><USER7> Where "more terse" means "removing a useful keyword and replacing parens by spaces".

Not exactly impressive (and coffeescript's symbolless maps read horribly badly, imo).

<comment><USER11> Which keyword is useful? Var? CS will put it back at compile time, don't worry. And it will do it in more consistent manner than many coders will manually. I have no problems with symbolless maps, and CS will save your ass from being bitten by IE because of stray comma.

<comment><USER12> I protect my ass with VIM -- any "IDE" likely has an equivalent.

      au BufWrite *.js mark` | silent!%s/,\(\_s*[}\]]\)/\1/g | norm``

</comment></comment></comment></comment></comment></comment><comment><USER13> The examples weren't too enlightening.

In the first example I would have written the original handler like this, for example. Written more concisely it doesn't present an immediate need for shortening or clarification by CS:

      document.onkeydown = function(event) {
          var key_to_func = {
    	  37: "pan_left", 38: "pan_up",
    	  39: "pan_right", 40: "pan_down",
    	  189: "zoom_out", 187: "zoom_in"
          };
          for (var i in game_pieces)
    	  game_pieces[i][key_to_func[event.keyCode]]();
          return the_screen.refresh(game_pieces);
      };

The class example is better but I haven't found much use for the JavaScript prototypes to build class-like constructs. Instead of using prototyping I generally just create objects and shove stuff into them. YMMV.

Last example is merely a transformation of the first version. The constructs used are quite similar: it would have been nice to see CoffeeScript transform the actual paradigms used in the code. The CoffeeScript version still reads like JavaScript, just with slight syntactic sugar.

Mere syntactic sugar might actually be the core idea of CoffeeScript (instead of landing a somewhat higher-level language on top of JS) in which case the example illustrates nicely why the gains from switching from JS to CS are mostly cosmetic. You can compress your code conceptually much better if you just write JS more functionally, i.e. write a few quick functions to provide map/filter/reduce and some helpers.

</comment><comment><USER14> I absolutely don't get it. The CoffeeScript code looks way to obscure to me. I don't need more punctuation marks. List comprehensions can just be written in JavaScript very easily. jQuery provides them OOTB. Improved switch statements seems pointless when you can use a dispatch table. I'm all for better OO syntax, but I'd much prefer something slightly more verbose and transparent. This looks like an attempt to put Perl in the browser.

</comment><comment><USER15> If there's a case for coffeescript over simply biting the bullet and learning to love JavaScript, this blog post doesn't touch it. If anything, well-written JavaScript code would be cleaner than his coffeescript examples (as noted in some commentsl although no doubt his coffeescript could be improved too).

</comment><comment><USER16> I hate to harp on one minor point that he made, but I strongly disagree with his assertion that you could dump CoffeeScript, stick with the generated JS, and be happy with it. The generated JS he showed in those examples was terrible, and would be a maintenance nightmare.

</comment><comment><USER17> Anyone planning to make a "CoffeeJava" language?

<comment><USER18> Had a look at Mirah? <http://www.mirah.org/>

</comment></comment><comment><USER19> CoffeeScript is interesting, but to be more so it shouldn't be limited to browser scripting. Until it doesn't become more general purpose i'll just stick to Python or Node.js

<comment><USER2> CoffeeScript and Node.js get along fantastically. When the "coffee-script" library is loaded, you can even "require('foo.coffee')" directly, making it easy to mix-and-match JavaScript and CoffeeScript files.

Sam Stephenson, the creator of Prototype.js, has been doing all kinds of awesome things with CoffeeScript and Node.js. And there's a chapter of my book on it...

<comment><USER19> So how do you write a basic web server in CoffeeScript?

<comment><USER20> The Node.js "Hello World" web server:

        http = require 'http'

        server = http.createServer (req, res) ->
          res.writeHeader 200, 'Content-Type': 'text/plain'
          res.write 'Hello, World!'
          res.end()

        server.listen 3000

        console.log "Server running at http://localhost:3000/"

<comment><USER19> Well but this isn't written in CoffeeScript. This is what I was saying: CoffeeScript can work alongside Node.js but can't access the filesystem. It might be good in its own right for DOM scripting and such but it doesn't open any more doors than Javascript.

<comment><USER21> Then what is it written in, if not CoffeeScript. You're somehow very very confused about things :-)

<comment><USER19> No I think you are confused. That is Node.js syntax. Ok now show me how you open a file on the filesystem in CoffeeScript then.

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> I fail to understand how this gets to be on the first page of HN, sided by links to the usual great stuff. My opinion worths for what it worth, but I would say this is a rather bad article and show some poor programming examples.

As many pointed out (five proper versions of the first snippet so far), the examples are not really valid.

I do not necessarily agree with the trend of criticizing javascript of being a language that needs to be fixed. Quite frankly, it is a proper language. Coffescript introduces some practical sugar, class construct being IMHO the best plus as javascript class definitions are rather verbose. CS object notation is another neat advantage. Many other things on coffeescript appear to be concepts that for some reason are fashionable these days such as the arrow or the conditions after the statement.

I write javascript everyday and I absolutely don't feel like there are anoyances which need to be taken care of urgently. It's a language as enjoyable as most. Cofffescript does look cool and I do plan to use, at least for fun if not for any other reason. But saying that is the missing piece, or that is the long expected replacement for javascript, sounds like fanboyism.

<comment><USER7> > I fail to understand how this gets to be on the first page of HN

Same reason every shitty go article out there reaches HN's front page (or reached until pretty recently), same reason /r/prog's frontpage is cyclically full of a single technology or language: it's what most denizens of the place currently have a hard-on for.</comment></comment>


IBM Scientists Find New Way to Shrink Transistors - <AUTHOR> http://www.nytimes.com/2015/10/02/science/ibm-scientists-find-new-way-to-shrink-transistors.html?hp&action=click&pgtype=Homepage&module=second-column-region&region=top-news&WT.nav=top-news&_r=0 <comment><USER2> > By simply swapping carbon nanotube transistors for conventional ones in a > > simulated IBM microprocessor, they were able to increase speeds by a factor > > of seven or, alternatively, achieve power savings almost as significant, > said > Wilfried Haensch, an IBM physicist who is a member of the research > group.

In technology, one often comes across the use of the word "simply" to refer to something that's actually quite complicate (see the Druid docs[0]) but this is quite a doozy.

[0] [http://cse.google.com/cse?cx=004325268462231820898:e4htgtatb...](http://cse.google.com/cse?cx=004325268462231820898:e4htgtatbkg&q=simply&oq=simply&gs_l=partner.3...3453.4069.0.42188.8.131.52.0.0.0.149.586.4j2.6.0.gsnos,n%3D13...0.620j84630j6..1ac.1.25.partner..6.0.0.06_GQRLTiaE#gsc.tab=0&gsc.q=simply&gsc.page=1)

<comment><USER3> It's crazy to think that a major breakthrough like this with a factor of seven increase in transistor density is little more than four years of progress as measured by Moore's Law.

<comment><USER4> > It's crazy to think that a major breakthrough like this with a factor of > seven increase in transistor density is little more than four years of > progress as measured by Moore's Law.

In a single step, by switching to an experimental new process. It seems likely that, if that process pans out, it'll then get years of extensive refinement to improve both yield and density.

<comment><USER5> I don't know about that. They were talking about line widths of 40 atoms. Another four years (factor of seven improvement) takes you to 6 atoms; another four years (factor of 7 improvement) takes you to one atom. At that point you're not talking about a "carbon nanotube" any longer - it's just a row of carbon atoms, and you _still_ can't improve it any further.

I mean, yes, there will be process improvements. The article talked about 28 atoms as the next step. But there are fundamental limits, and they aren't very far away...

(I could be overstating the case here, in that transistor density may scale as the square of the line width, rather than linearly with it. The point about fundamental limits still stands, however.)

<comment><USER6> There will always be a hard limit, but one thing I could see us looking back on and finding weird is that we have a single layer of transistors. If we could build more complex 3D structures I'd expect we could see vast improvements.

Not part of Moore's Law but there are also

1\. Significant storage improvements, and bringing the storage closer to the processing (or the other way around) which massively improves the overall speed.

2\. Better chip design. Not knocking the current designers, but it'd be foolish to assume we have the theoretical optimum chip designs.

3\. Cost. Sure, you're not going to improve every use case but what if my motherboard was just a big layer of cpus with non-volatile huge caches because it cost pennies? _Particularly_ when we hit some larger limits, we'd be likely to see that current best design being produced by lots of people and getting cheaper and cheaper.

Along with 3. comes more custom designed chips. If we can get the cost of design and fabrication down, we can speed things up by having a bunch of chips for specific functions.

<comment><USER7> Afaik the main problem with 3D structures is heat dissipation, which limits this approach somewhat. But nanotubes might help with this as well maybe.

<comment><USER8> Maybe we should copy the brain design? Fold it and put cooling liquid around?

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> The real challenge with CNTFETs is mass production. Without that, the roadmap doesn't budge.

</comment><comment><USER10> The space smallest space between chemical synapses is ~20nm. It helps put the size of these transistors in perspective.

</comment><comment><USER11> Coming out in 2016. Moore's Law. The suspense movie with a surprise twist that you never saw coming.

</comment><comment><USER12> I feel like this headline could read "Moore's Law To Be Kept Alive For Slightly Longer".</comment>


Stop storing passwords already - <AUTHOR> http://thatextramile.be/blog/2012/01/stop-storing-passwords-already

<comment><USER2> The big problem is that developers who care are most likely already storing password securely, except for those who for some reasons have to battle various corporate rules. And those who don't care, most of them will not start caring because they have more pressing matters at hand than their company's security.

<comment><USER3> I don't think it's necessarily that clear cut - the big problem is the lack of knowledge that encryption isn't good enough. There are probably plenty of developers who do care, and aren't aware that the clever algorithm they're using with the key hard-coded in the source code may not be 'secure.' And of the set who know that hashing !== encryption, probably a lot of them (at least in PHP land) will be told to just use md5.

</comment></comment><comment><USER4> Isn't the article too old?</comment>


Third Circuit Okays Collection of DNA from Criminal Suspects - <AUTHOR> http://blogs.wsj.com/law/2011/07/26/third-circuit-okays-collection-of-dna-from-criminal-suspects/

<comment><AUTHOR> Keyword: Suspects... You know, the ones not convicted of anything.</comment>


The REAL reason Slack became a billion dollar company - <AUTHOR> https://medium.com/@satyavh/the-real-reason-slack-became-a-billion-dollar-company-f14c22b15a29#.p72r0hxn4 <comment><USER2> The author might be onto something here. There's definitely a lot to be said for the social pressures of feeling 'in' with company culture, I can see why a limited-history, always-scrolling, continuous stream of group chats would create that pressure.

I see an analogue to Snapchat, another wildly popular app (in entirely different settings), where this 'fear-of-missing-out' is also very real, with the equivalent of 'status updates' disappearing in 24 hours, and the default 'picture message' being self-destructive. It incentivizes you to pay attention, and to check up often on everyone you're actually interested in, driving more engagement with the service.

</comment><comment><USER3> The company that created slack created games and failed at them and then stumbled upon slack. A large part of all this is just luck and it's easy to retrofit these argument.

I also don't think slack will be able to sustain it's 1B evaluation.</comment>


What science gets wrong about free will - <AUTHOR> https://bostonreview.net/science-nature-philosophy-religion/christian-list-science-hasnt-refuted-free-will# <comment><USER2> Most philosophers today are compatibilists [https://plato.stanford.edu/entries/compatibilism/](https://plato.stanford.edu/entries/compatibilism/) There is compatibility between moral responsibility and determinism.

'Free will' as a question has changed over time.

Long time ago few free will question was usually framed in the context of dualism that assumed immaterial soul+mind. When decision was made by immaterial soul+mind it was called free will. Asking if the decision making process inside the soul+mind was mechanical or formal was not very common.

Today free will is usually framed as deterministic vs. non-deterministic. Deterministic brain-computer has no free will, but if it has internal random number generator, maybe it has. This type of free will as randomness formulation makes free will insignificant even if true. What does it matter to moral responsibility if criminal's decision had a random component or it was fully deterministic? Compatibilism seems a good option when you are not dualist and don't think that randomness as freedom is meaningful concept.

</comment><comment><USER3> I think control theory: feedback loops, sensors, signal, noise, filters, gain graphs etc should be rather useful in describing free will from a scientific standpoint.</comment>


Ask HN: Options for super cheap SSL certificates? - <AUTHOR>

Often times when I am working on a project or demo, I want SSL purely for basic privacy. I can host my apps for ~$15/mn in AWS, so spending $60+/yr for an SSL certificate seems silly...especially when I don't think this thing is really going anywhere yet.
Self-signed isn't a great option as I don't want to distribute my own signing cert to potential customers/people using or testing my app.
Am I missing a trick? What do you guys do? <comment><USER2> I agree with you, Self-Sign certificate never works for website security due to some limitations. As you need an SSL certificate for testing purpose, the certificate must come up with high security and privacy.

Spending $60/year is a silly thing if one only wish to test his website. But what is he can get SSL with high security & privacy with lowest price ever!

Get Comodo PositiveSSL certificate from CheapSSLSecurity.com, here you can get it a only $4.80/Year with 90% heavy discount.

2048-bit Comodo PositveSSL Certificate comes up with up to 256-bit strong encryption length & compatible with 99.9% web & mobile browsers.

Click here to get Comodo PositiveSSL Certificate at only $4.80 - [https://cheapsslsecurity.com/comodo/positivessl.html](https://cheapsslsecurity.com/comodo/positivessl.html).

<comment><USER3> Oh dear... I got same certificate at $3.50/Year at [https://www.cheapsslshop.com](https://www.cheapsslshop.com)

I did comparison at the time of purchase and I never found lower than cheapsslshop. They also sell other certs at huge discount.

<comment><USER2> FYI this price is only available for limited time period. The actual SSL certificate price is $7.00.

But at [http://www.cheapsslsecurity.com/](http://www.cheapsslsecurity.com/) you can get it at $4.80 on 24x7x365 bases.

<comment><USER3> Right but at this time it would be wise decision to go for cheapsslshop.com when OP requiring SUPER CHEAP SSL.

</comment></comment></comment></comment><comment><USER4> For demos, buy a wildcard certificate, and put all of them on subdomains.

For projects (assuming you mean something you're releasing to the public), use a reputable SSL provider, however much it costs. The most expensive are a few hundred a year. Even if you have 10 projects running simultaneously (which is unlikely), that's only ~$3k, which is a pretty easy amount of money to make back.

A more realistic number of projects is around 3, and a cheap certificate could easily be less than $100. You can change the domains as you shut down and start up new projects, so your total every year doesn't have to be more than a few hundred.

<comment><USER5> If you are managing multiple subdomains then wildcard ssl is the best option to securing them. It will save your time and money from multiple certificate management and purchase.

I found certificate vendor who offers low-cost wildcard ssl certificate at $42 - [https://www.ssl2buy.com/alphassl- wildcard.php](https://www.ssl2buy.com/alphassl-wildcard.php)

</comment></comment><comment><USER6> Maybe StartSSL is enough for you [https://www.startssl.com/?app=1](https://www.startssl.com/?app=1) (not so easy to setup, but there are some tips www.troyhunt.com/2013/09/the-complete- guide-to-loading-free-ssl.html)

Other option, if you can wait for the future [https://letsencrypt.org/](https://letsencrypt.org/)

<comment><USER7> Yep, they have a free option which I've used before.</comment></comment>


Not lisp again, again - <AUTHOR> http://epsilonwiki.free.fr/lambdaway/?view=derivatives_2 <comment><AUTHOR> I was reading again an old interesting post from Joe Marshall, [https://news.ycombinator.com/item?id=5375735](https://news.ycombinator.com/item?id=5375735). I love Lisp/Scheme but I can't use them easily on the web. So I built a small Lisp dialect, lambdatalk, working on the shoulders of modern browsers with which I can play, like Joe Marshall did, with concepts like recursion and derivatives, for instance in [http://epsilonwiki.free.fr/lambdaway/?view=derivatives_2](http://epsilonwiki.free.fr/lambdaway/?view=derivatives_2) and in [http://epsilonwiki.free.fr/lambdaway/?view=recursion](http://epsilonwiki.free.fr/lambdaway/?view=recursion). The lambdatalk's parser is exclusively based on regular expressions working on pure text and yes, it works fine in a wiki context, despite of Chomsky's categories. I would like to know your opinion about this approach.</comment>