Ask HN: How do people working on advance technologies get their help? - <AUTHOR>

I am a web developer and have always got my problems solved with Google or Stackoverflow. Sometimes, I have got stuck for long hours but only for my own silliness. I believe that is because the web operates on much higher level of abstraction and has an extensive community online.<p>I wonder how do people working on advanced / low level realms of programming like audio processing, embedded computing or robotics get their help? provided the online community is quite small since you are dealing with a specific low level kind of programming. <comment><USER2> I was discussing something similar with my brother past week. He works with real time data acquisition and analysis of large streams of data and he has a hard time finding hardware and software appropriate for his needs. He has to network with other people in his industry a lot, also with vendors in conferences and fairs. I though that is is a shame that there is no forum with people from other industries that deal with similar problems that they could share ideas, cooperate and evolve together. Very big companies have enough funds to invest in research centers and on basic research at the academic environment, but for the smaller companies and individuals it is very hard.

</comment><comment><USER3> It's easy: they use their brains!</comment>


Ask HN: I have a great idea for an iphone app, where can I get it developed? - <AUTHOR>

Ask HN: I have a great idea for an iphone app, where can I get it developed? <comment><USER2> I would say learn to program it yourself. The benefits are two fold, you get the program and the skills. The skills will last a lifetime!

Give a man a fish and he eats for a night. Teach a man to fish and he eats for a life time.

</comment><comment><USER3> I can recommend some good developers if you are willing to pay a good developer. My email is my HN user name at gmail. If you want to minimize your budget try GetAFreelancer.

</comment><comment><USER4> I had one created by a programmer on ScriptLance.com, only spent about $300 - but it was a very simple app.

</comment><comment><USER5> check out <http://www.rightsprite.com/></comment>


The Nobel Prize in Chemistry 2014 - <AUTHOR> http://www.nobelprize.org/nobel_prizes/chemistry/laureates/2014/press.html <comment><USER2> I remember one of the first papers coming out from Hell's group using STED microscopy, showing extremely fine-grained cytoskeleton structure and dynamics - I was in awe at the beauty and complexity of the resolved structures, similar to my reaction to images of the first GFP-tagged cytoskeleton proteins.

These technologies create an intuitive understanding (though we obviously knew it before) that cells and all living things are self-organized reaction- diffusion systems - which should lead to a paradigm shift in thinking about biology, though that hasn't really happened yet.

Sidenote: it's interesting that so many Nobel Prizes in Chemistry in the last decade or so went to quintessential biological discoveries (same with Medicine). Alfred Nobel should have included a prize for biology as well, I guess. Though in the end, borders between disciplines are fluid anyway.

<comment><USER3> > cells and all living things are self-organized reaction-diffusion systems

Sounds intriguing. Can you explain more what you mean?

<comment><USER4> I'm going to guess he means they work via chemistry and exploiting heat in the system ie brownian ratchets.

<comment><USER5> Specifically, Gibbs Free Energy (G = Heat - Temp*(Change in Entropy)). Basically, the energy available is the heat in the system minus some chaotic stuff (and no, you can't make it better, because physics).

I have a good physics background and what is most supprising to me is how alive cells are. I initially came into the bio field just as the OP talks about, with the idea that cells are just tiny chemistry machines that are very complicated. I figured that eventually, we'd understand the cell from top to bottom give or take a century. Now.... not so much. Cells, especially eukaryotes like us and yeast, are just so alive to me. They do weird things and act on their own. You would think that with enough constraints in the inputs you would be able to very precisely predict what any one cell would do. Nope. They go off and do their own thing, replicate in some strange way, find some food source you never thought they could digest, eat each other, have sex in some novel way. And it's not just that you are not constraining the system enough either, or that the system is inherently chaotic and you see improbable events because of that. They really are alive and want to stay that way. I know this is not a good explanation, and that real science still has a lot to say about it. But with my background I felt the way OP did, that it was all overlapping Gaussian curves and gradients in N-space that makes it look alive. But now, having seen it up close and watched it all, now I am pretty certain that life is different somehow.

</comment></comment></comment></comment><comment><USER6> One of the prize winners, Eric Betzig, is the first Nobelist at the relatively new Janelia Research Center ([http://janelia.org](http://janelia.org)). He has an interesting backstory, having taken a decade long detour from science.

Betzig says, "there was this big gap on my résumé. So I knew I had to come up with some intellectual capital to get people to listen to me again."

[http://www.hhmi.org/news/eric-betzig-wins-2014-nobel- prize-c...](http://www.hhmi.org/news/eric-betzig-wins-2014-nobel-prize- chemistry)

An interesting video: [http://www.ibiology.org/ibiomagazine/issue-2/eric- betzig-and...](http://www.ibiology.org/ibiomagazine/issue-2/eric-betzig-and- harald-hess-developing-palm-microscopy.html)

Here's the original paper describing PALM: [http://janelia.org/sites/default/files/biblio/field_related_...](http://janelia.org/sites/default/files/biblio/field_related_file/Betzig%20PALM%20Science%202006.pdf)

<comment><USER7> A scientist / photographer I follow on Twitter (Bryan William Jones - @BWJones) took some pretty terrific shots of Janelia last spring, it's an amazing facility:

[http://prometheus.med.utah.edu/~bwjones/2014/04/janelia- farm...](http://prometheus.med.utah.edu/~bwjones/2014/04/janelia-farm/)

And the on-campus 'housing':

[http://prometheus.med.utah.edu/~bwjones/2014/03/room-at- jane...](http://prometheus.med.utah.edu/~bwjones/2014/03/room-at-janelia- farms/)

<comment><USER6> The room in the picture is one of the short-term rooms used almost exclusively for visitors and conference attendees. Long-term on-campus townhouses and condos have nice modern designs but not that kind of view :)

</comment></comment></comment><comment><USER8> I thought this was interesting: "Both Betzig and Moerner made their original pioneering discoveries in industry - Moerner when he was working at IBM in San Jose and Betzig when he was working in his own private company" \- [http://wavefunction.fieldofscience.com/2014/10/the-2014-nobe...](http://wavefunction.fieldofscience.com/2014/10/the-2014-nobel- prize-in-chemistry-and.html)

</comment><comment><USER9> The two techniques being awarded are:

[http://en.wikipedia.org/wiki/STED_microscopy](http://en.wikipedia.org/wiki/STED_microscopy)

(Stefan Hell)

and

[http://en.wikipedia.org/wiki/Photoactivated_localization_mic...](http://en.wikipedia.org/wiki/Photoactivated_localization_microscopy)

(Eric Betzig and William Moerner)

</comment><comment><USER10> This is one reason I wish I had continued in PhD studies in Chemistry, to do stuff like this. Instead I became a programmer and now read HN.

</comment><comment><USER11> Paul Bracher of ChemBark gave this field the highest odds of winning, at 7-1. Interestingly a commenter told him he neglected to put in Hell, about 3 hours before the announcement was made. [http://blog.chembark.com/2014/10/08/predictions-for- the-2014...](http://blog.chembark.com/2014/10/08/predictions-for- the-2014-nobel-prize-in-chemistry/)

Compare to Thomson Reuters' predictions. [http://thomsonreuters.com/press- releases/092014/2014-nobel-l...](http://thomsonreuters.com/press- releases/092014/2014-nobel-laureates-predictions)

</comment><comment><USER12> I'm super glad that Professor Moerner is getting credit where credit is due. Having taken his intro seminar and interned in his lab my freshmen year, I can attest he's a really great teacher as well.

On a side note, I hope this added recognition will pump more money into his lab's equipment. Despite being a physical chemistry lab, their computers were painfully slow and outdated.

</comment><comment><USER3> Could this be useful for CPU lithography? Anyone know?

<comment><USER13> Maybe. The two-laser setup of STED microscopy has similarities to this recently-developed technique:

[http://www.sciencealert.com.au/news/20140309-26116.html](http://www.sciencealert.com.au/news/20140309-26116.html)

</comment></comment><comment><USER14> Pics or it didn't happen.</comment>


4chan source code leaked (2010) - <AUTHOR> http://pastebin.com/a45dp3Q1 <comment><USER3> Not much to see here, folks. Someone took an _old_ leak of the source code and commented out a few lines for a giggle. Only moot and the developers know what the site looks like now, but given the significant addition of functionality in the past few years, it's pretty much impossible that that would be the only difference in the source.

The original leak, from 2010 at least, possibly older: [http://pastebin.com/4JVjS02b](http://pastebin.com/4JVjS02b)

4chan _was_ hacked the other day, so the current source code _could_ have been leaked, but if it was, this sure isn't it.

<comment><USER4> Wouldn't the ideal solution for 4Chan be an external data/processing server that dials in to the hosting server to dump out static files? That way the location of the external server remains, at least partially, a mystery, even after the main box is hacked?

<comment><USER5> Why? 4chan is not a high target. There is no reason to over engineer it. Mostly it will be prepubescent teenagers throwing a fit and bombarding the server with bandwidth.

The hack of earlier today was due to an obsession over a female 4chan moderator. That should say enough.

<comment><USER6> CloudFlare was hacked with the sole intention of taking over 4chan.org's domain. They're a huge target.

<comment><USER7> Okay lets say they are a massive target. There is still a monetary issues.

4chan is a cultural and ideological landmark on the American internet. Not only are their clones, but "Cloning 4chan" is almost a business in and of itself. And they fail. 4chan's month to month profits are barely to not-at-all existent. In a purely dollars and cents way, 4chan is a failure.

So their is very little monetary motivation for discovering _the secrets of the 4chan 's operation_.

Security is a trade off of Financial Risk vs Financial Investment. There is no Financial Risk in 4chan being hacked. They have no user accounts, they have no financial data. They have no overly complex-secret-sauce-search algorithm.

The only thing to 'steal' is a collection of Japanese/American Pop cultural referential gif, jpg, and webm files.

<comment><USER6> They have tens of thousands of "passes" (basically accounts) and the payment information associated with them.

</comment></comment></comment></comment></comment></comment><comment><USER8> I mean,

Yes I hate PHP more than the next guy,

Yes this code is terrible,

But you know what? I can read it, and follow along. And that's actually more to say than other "beautiful" code that was obfuscated behind 3 or 4 levels of unnecessary levels of abstraction or indirection.

</comment><comment><USER9>
      if ($sectrip != "") {
        $salt = "LOLLOLOLOLOLOLOLOLOLOLOLOLOLOLOL"; #this is ONLY used if the host doesn't have openssl
                                                    #I don't know a better way to get random data

<comment> slipstream- I saw that. "LOLLOLOLOLOLOLOLOLOLOLOLOLOLOLOL" was my reaction, too.

</comment></comment><comment><USER10> And yet, despite the horrible code, it's still powering an Alexa Top 500 page without any huge problems I've heard of.

<comment><USER11> Crazy. I knew PHP was bad, but this is just terrible.

<comment><USER10> I know hating on PHP is en vogue but you could probably write the same ugly code with another language too.

<comment><USER12> Not possible. Other languages have features to prevent this.

<comment><USER13> I highly doubt you have anything else to add because I'm sure you're just another person jumping on the "hate php" bandwagon - but go on, entertain me.

Please elaborate.

<comment><USER14> Most languages dont have extract($_POST) and hop,everything's overwritten... PHP has a lot of shit like this.Yeah you dont have to use them,but they shouldnt be here at first place,if PHP core devs cared about a sane API. PHP doesnt have a sane API. PHP core devs dont give a damn. That's why facebook developped Hack and HHVM.

</comment></comment></comment></comment></comment></comment><comment><USER15> I think this just goes to show that you can have a lot of popularity even if your code is just sorta glued together.

Don't they get a few million users? I'd say it's definitely nothing to scoff at.

It makes me wonder how many big profile websites might look like this or worse.

<comment><USER16> Having worked at a couple, I think I wouldn't be too far off to say all of them.

I still remember a week into the first job fresh-from-college me marching into the VPs office to tell him the source code was terrible and they were only still running due to luck. It was not well received (or right)

<comment><USER17> I almost did the same thing. But then calmed down and said maybe I have no idea what I'm talking about. I was right. I had no idea what I was talking about.

</comment></comment></comment><comment><USER18> Ask HN: Would you rather have a beautiful source code with 1000 pageviews/month or an ugly source code with millions of pageviews/month?

<comment><AUTHOR> >millions of pageviews/month

That is technically correct but does not covey the scale at which 4chan operates. According to [http://www.4chan.org/advertise](http://www.4chan.org/advertise),

        Page impressions per month: 575,000,000;
        Unique visitors per month: 25,000,000;
        Posts per day: 1,000,000;
        Alexa Traffic Rank: 836 (Global) & 371 (US)
        Quantcast Rank: 305 (US)
        Google PageRank: 6

Makes me wonder if WebM will increase or reduce 4chan's total traffic (when measured in bytes, not clicks).

<comment><USER19> I can't imagine WebM impacting 4chan anytime soon, it will probably reduce 4chan's load when(if) WebM takes off but I highly doubt more than a small fraction will choose WebM over a .gif in the immediate future.

</comment></comment></comment><comment><USER5> This is not leaked recently but spread today which caused people to believe it was looted during the 4chan hack earlier today. The 4chan administration has been awkwardly silenced about the compromised 4chan website, but this isn't one of the reasons.

[http://9ch.in/overscript/](http://9ch.in/overscript/) [http://9ch.in/overscript/files/yotsuba.txt](http://9ch.in/overscript/files/yotsuba.txt)

<comment><USER20> yes, I actually added that leaked code to overscript in 2012, previously there was another leak in 2010.

</comment></comment><comment><USER21> It seems that it's too terrible to be the true code. "if($_COOKIE['4chan_auser']",

"extract($_POST); extract($_GET); extract($_COOKIE);"

<comment><USER22> > It seems that it's too terrible to be the true code.

1\. It's written in PHP. Finding a good PHP developer is nigh impossible (there are exceptions, like always). 2\. I expected worse, to be honest.

<comment><USER23> No serious, modern PHP developer writes code like this. If it were a code sample for any respectable PHP job, it would be a massive "do not hire" flag.

<comment><USER24> Confirmation bias. 99% of PHP developers out there are in fact absolute shit, and they're happy with it because they're developing "websites" instead of "applications."

Right tool for the right job. You can use qualifiers like "serious" and "modern" but you're deluding yourself if you think they mean anything when the pool of PHP developers is so staggeringly high.

<comment><USER23> I'm under no delusion. Admittedly this is the wrong place to be debating anything PHP, but I wouldn't suggest that the average skill level of "everybody who writes PHP" is anything better than incompetent. The people I'm sitting next to now and have worked with in the past are as real as I am - <USER2> 1% you recognise are the serious and modern PHP developers. We exist and we're the pool you hire from.

Of course, right tool for the right job. PHP has specific use cases but that's another discussion entirely.

</comment></comment></comment></comment></comment><comment><USER25> I thought the *chan code was open.

Or is this some critical bit? (I noticed it handles cookies, but I'm too unexperienced with web, php or web-security to explore this wall of code)

<comment><USER26> 4chan's code (Yotsuba) has always been a closed source fork of Futaba, though there are several open source Futaba clones, like Kusaba X.

</comment></comment><comment><USER27> I wonder what is the site's infrastructure_cost/ad_revenue ratio, because I have long had a feeling that it could be greatly improved. Moot has always been skeptical about innovating the board, even the iOS layout is still incomprehensible since the CSS shim has been added.

Imageboard is dead easy in it's essence, so why not rebuild it from scratch, instead of feeding new bells and whistles to the existing spaghetti monster?

</comment><comment><USER28> Well at least it's neatly organized into functions :P

</comment><comment><USER29> My eyes, the goggles do nothing!!!

</comment><comment><USER30> How can code be "leaked"? Wouldn't this imply someone was able to terminal into one of their servers?

<comment><USER31> Any number of things could happen; maybe someone got access to a code repository, or a stray flash drive, or the web server was mis-configured and served the file as plain text (happened to fb once) etc.

</comment></comment><comment><USER32> if(isset($_COOKIE['4chan_auser'])&&isset($_COOKIE['4chan_apass'])){ $user = mysql_real_escape_string($_COOKIE['4chan_auser']); $pass = mysql_real_escape_string($_COOKIE['4chan_apass']); }

HAHAHAHAAHAHAHAHAA

Steal a cookie, gain access.. WTF

<comment><USER33> How do you "steal" a cookie?

<comment><USER34> Get on the same WiFi as your target, open up Wireshark and grab their HTTP communications.

To make this easier, there was/is a tool called Firesheep that can be used to hijack session cookies. The popularity of Firesheep caused many sites to enable HTTPS by default (e.g. Facebook did so).

<comment><USER33> If you need to be on the same WiFi as your target I really don't see the big problem, realistically speaking.

<comment><USER35> Common, shared wired LANs at offices and workplaces are a problem. Home LANs, where family members need privacy from one another, is also a problem.

</comment></comment></comment></comment></comment><comment><USER36> <font>? <table>?

Man, 4chan is worse than I thought.

<comment><USER37> whats wrong with <table> ?

<comment><USER36> <table> is for tables of information, not for layout.

But seeing as how I was downvoted, the important thing to remember is that any hint of levity strictly forbidden on Hacker News.

<comment><USER38> [https://news.ycombinator.com/item?id=7609289](https://news.ycombinator.com/item?id=7609289)

</comment></comment></comment></comment><comment><USER39> F* me. No wonder PHP has a bad rap..

<comment><USER40> I think the fact that you can drive a multi million user website that was once valued at $1.2b (by a VC admittedly) on 2600 lines of pretty bad PHP code _when most of the users are exactly the sort of people who 'd try to hack it_ is actually a testament to how good PHP is.

Redeveloping the site in Go, Dart, Python or Node, or whatever language you like best, wouldn't increase 4Chan's value in any discernible way.

At the end of the day, _it works_.

<comment><USER41> Please, _please_ tell me you're joking about 4chan having been valued at $1.2 billion dollars by _anyone_.

<comment><USER41> This itched me -- I've never gotten the impression that Christopher Poole was particularly stupid, and I couldn't imagine him reacting to a genuine offer of $1.2 billion for 4chan in any other fashion than by demanding cash on the nail and then _taking_ it -- so I scratched it.

The only thing I could find was a year-old thread from 4chan itself [1], in which the supposed VC never identifies himself, and in which (someone who is probably) Poole had the following to say:

>>this thread

>>my sides

>>the stratosphere

>

>If this is actually your profession, you should probably find a new job.

The advice never to believe everything you read is good advice in general; with regard to anything you read on, from, or about 4chan, it's indispensable.

[1] [http://4chandata.org/q/VC-estimates-4chan- worth-1-2-billion-...](http://4chandata.org/q/VC-estimates-4chan- worth-1-2-billion-a367656)</comment></comment></comment></comment>


Intelligent Machines: What Does Facebook Want with AI? - <AUTHOR> http://www.bbc.com/news/technology-34118481 <comment><USER2> Facebook wants to further mine the crap out of it's users identity and sell it to the highest bidder. I get several phishing emails a month that clearly utilize the contact lists of my heavy-facebook user friends. This happened without AI. I only anticipate worse with Zuckerberg's money-over-user security/respect business model.</comment>


Iowa's first 'agrihood' promises country living on edge of Des Moines - <AUTHOR> https://www.desmoinesregister.com/2702330002 <comment><USER2> Link didn't work for me. This may be the correct one: [https://www.desmoinesregister.com/story/money/business/2019/...](https://www.desmoinesregister.com/story/money/business/2019/02/14/iowa- agrihood-cumming-des-moines-country-rural-urban-real-estate-home-purchase- land-farm-middlebrook/2702330002/)

<comment><AUTHOR> Thank you!</comment></comment>


Copyright Shouldn't Hold Technology Back - <AUTHOR> https://www.eff.org/deeplinks/2016/09/copyright-shouldnt-hold-technology-back <comment> e-sushi I'ld say "technology" should be able to evolve beyond copy-and-paste without having to knock on the doors of intellectual property like a thieve in the night in each and every frigging situation like a little "cry baby". After all, there's always the option to offer a payment to the copyright holder to get according usage licenses… which tends to pay the rent for most people, companies, organisations, and institutions – including the EFF itself.

If "copyright" were _that_ limiting and/or superfluous, there wouldn't be much sense for EFF's use of a CC-BY license ( or their elaborate copyright policy blurb at [https://www.eff.org/copyright](https://www.eff.org/copyright) )

This is one of those times I'm wondering again: why doesn't EFF put its stuff into PUBLIC DOMAIN to lead the way (like some of us do with some projects)? Being against something they use themselves (see CC-BY) seems to be somewhat hypocritical from my point of view. But that might just be me standing on the soapbox of an "unlicense" (aka Public Domain) developer… ;)</comment>


NASA, Google unveil a quantum computing leap - <AUTHOR> http://www.computerworld.com/article/3013102/high-performance-computing/nasa-google-unveil-a-quantum-computing-leap.html <comment><USER2> I'm hopeful, but:

> The Google research paper hasn't been peer reviewed, so scientists have yet > weigh in on the latest results.

So I'll maintain skepticism for a little while.

Another note:

> it comes with some caveats -- not the least of which is that the computer > was engineered for the specific optimization task it was tested with.

I'm fine with this. While a general purpose quantum computer would be preferable, there is a high enough volume of optimization problems to make special purpose machines incredibly valuable.</comment>


What Twitter SHOULD be doing - <AUTHOR> https://medium.com/@liordegani/within-you-without-you-expanding-twitters-conversation-borders-338ab6f541a9

<comment><USER2> What they should do is recycle the freaking unused IDs. Also introduce follow/retweet-only accounts without IDs.

<comment><USER3> I guess it'll look quite empty after that.</comment></comment>


The cryptographically provable con man - <AUTHOR> https://dankaminsky.com/2016/05/03/the-cryptographically-provable-con-man/ <comment><USER2> The post linked to in the OP is an excellent explainer for those who aren't familiar with the process of signing a message using a Bitcoin address' private key:

[http://blog.erratasec.com/2016/05/satoshi-how-craig- wrights-...](http://blog.erratasec.com/2016/05/satoshi-how-craig-wrights- deception.html)

</comment><comment><USER3> <pedantry> Well, but he's not really "cryptographically provable" con man. It's just that, if he were not a con man, his innocence would have been cryptographically provable. Right? </pedantry>

<comment><USER4> Maybe not just pedantry ... there were serious discussions on a previous thread that he's really Satoshi but is intentionally deflecting so that a close inspection makes it seem as if he's not. Doesn't seem likely to me, though.

<comment><USER5> Serious discussions with priors that could lead to anyone claiming to be anyone and ending up being someone else on closer inspection?

May I have a link for that?

<comment><USER4> Sure there's a prior for that, as 0 and 1 are not probabilities.

</comment></comment></comment></comment><comment><USER6> Good on Dan for being a voice of reason and collecting the findings of reddit/hn/#bitcoin into a central location. And as he says, good on Gavin for being equanimical despite the vitriol being thrown his direction from some quarters. The only thing to do now is to watch this play out... and I hope it does continue to play out, rather than Craig just going silent again. That would be much less exciting.

</comment><comment><USER7> Another theory:

Craig is Satoshi, and people were on the verge of discovering that. So, smart as he is, he decides to reveal he is Satoshi, but in the worst way possible, so people thinks he is a fraud, and hence making sure he is off the radar for good and ever.

</comment><comment><USER8> Maybe whomever started Bitcoin lost any record of their early mining efforts. It's either that, or they're walking away from several hundred million dollars. Or they're dead.

<comment><USER9> Might have never stored the private key they mined to in the beginning. (I can see why someone with a specific ethic might start the currency that way--- especially if they were still optimizing for bitcoin to take off at all, similar to avoiding pre-mining.)

<comment><AUTHOR> It would be better to transfer the money publicly later to destroy the key. I think accidentally or non-provably losing the key to this is the worst possible thing -- no one can believe you, so they have to act as if you have the money, but you don't have control of it to do anything with it (including verifiably destroy it.)

<comment><USER9> Yes. Though hindsight is 20:20, of course.

<comment><AUTHOR> Except everyone involved in Bitcoin's creation was aware of about 20 years of precedent and discussion about these kinds of issues -- [http://cypherpunks.venona.com/](http://cypherpunks.venona.com/) \-- so it wasn't really hindsight

<comment><USER10> Everything before Bitcoin was really obsessed with anonymity, whereas Bitcoin was actually scared of centralization.

<comment><AUTHOR> Not everything (hashcash, some of Wei Dai's stuff, etc.) -- but I was more referring to how to do tests/proofs in mutually-distrustful environments, not the protocols themselves.

Bitcoin was exceptional in a lot of ways -- most importantly, getting traction! -- decentralization, the ramping up, etc.

<comment><USER10> I'm interested in more of your perspective here. I was around back in the Mojo Nation era as something of an observer, but there's lots maybe I didn't see.

<comment><AUTHOR> The good stuff was always buried deeply on threads, and mainly pre 1996. I should do something better with the archives to pull out the specific good stuff.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> What's puzzling here is that Wright proceeds with his charades as though he somehow knows the real Satoshi will not emerge to call him out on it. (There is some precedent for this: a long-dormant account controlled by the real Satoshi stirred to disclaim the identity of Dorian Nakamoto in 2014. [http://www.forbes.com/sites/kashmirhill/2014/03/06/bitcoin-c...](http://www.forbes.com/sites/kashmirhill/2014/03/06/bitcoin- creator-returns-to-internet-to-say-i-am-not-dorian-nakamoto/#14954ae07f43))

If Satoshi disclaimed the identity of D. Nakamoto in 2014, why wouldn't he disclaim the identity of Craig Wright today?

I do not believe, for an instant, that Wright is Satoshi. But given the history, it seems plausible that Wright might have once been in the know as to Satoshi's true identity. Should he know the real Satoshi(s) to now be absent, it would likely embolden him to undertake this scam...

<comment><USER12> >If Satoshi disclaimed the identity of D. Nakamoto in 2014, why wouldn't he disclaim the identity of Craig Wright today?

One reason he might disclaim Dorian is that he simply wanted the poor man left alone. The claim that Dorian was the creator of Bitcoin was not only completely ridiculous on its face, but also a huge intrusion in the life of a clueless old man.

Wright has brought a bunch of ridicule upon himself, but it's his own fault.

<comment><USER13> Maybe it's just because nobody believes Wright. Not much to discredit.

<comment><USER12> Yea, I agree with that.

</comment></comment></comment></comment><comment><USER14> Better than most shows on television at the moment!

<comment><USER15> I don't know. I think The Good Wife had a more plausible take on the Bitcoin founder than this current story.

</comment></comment><comment><USER16> The one theory I've seen that makes it make sense is that Dave Kleiman was the real Satoshi Nakamoto. Kleiman died in 2013. Wright is trying to set up a claim on hundreds of millions of dollars of bitcoins, if they can ever be recovered from Kleiman's effects.

<comment><USER17> Someone posted on his P2P Foundation account back in March 2014 during the Dorian Nakamoto fiasco. I'd think it's very unlikely at best that Kleiman is Satoshi based on that alone.

<comment><USER16> That account was later found to be compromised. It wasn't clear when the compromise took place, but quite possibly was before the email you mention was sent. See [http://www.forbes.com/sites/kashmirhill/2014/09/16/satoshi-n...](http://www.forbes.com/sites/kashmirhill/2014/09/16/satoshi- nakamoto-email-hack/#2b5bcd735fec).

</comment></comment></comment><comment><USER18> Would the real Satoshi Nakamoto please stand. Thank you.</comment>


Evolutionary Algorithms and Analog Electronic Circuits - <AUTHOR> http://hforsten.com/evolutionary-algorithms-and-analog-electronic-circuits.html <comment><USER2> A related article with some more complicated circuits [http://www.damninteresting.com/on-the-origin-of- circuits/](http://www.damninteresting.com/on-the-origin-of-circuits/)

This was evolving an FPGA to do things like detect tones or voice commands. Weirdly reminiscent of DNA, logic cells which were apparently useless would cause the circuit to break when they were removed. Neither did the layout work when transferred to an identical FPGA.

<comment><USER3> _Neither did the layout work when transferred to an identical FPGA._

Now that is quite fascinating. (The article goes into possible explanations, for those who care.)

</comment></comment><comment><USER4> "Not very good as a reference but considering that this was generated automatically I think it's a success"

Behold 80% of the appeal of evolutionary algorithms... people get so excited that they do _anything_ that they are willing to overlook that you burned CPU- hours of time to produce something that doesn't do it very well. There's this weird disconnect between how people speak of them and the actual standards applied to them that gets applied to very few other things. (Neural nets, perhaps. Even if they recently got better, they still were grossly overrated for a long time.)

<comment><USER5> There is an annual award given to the creators of genetic algorithms that produce results competitive with humans: [http://www.genetic- programming.org/combined.php](http://www.genetic-programming.org/combined.php)

Some of the results are really impressive. There are domains where stochastic optimization works really well.

And even when it doesn't generate human competitive results, it's still cool. It's a computer program doing something previously only humans could do.

<comment><USER6> Is this happening in 2015?

<comment><USER5> Yes: [http://www.genetic- programming.org/hc2015/cfe2015.php](http://www.genetic- programming.org/hc2015/cfe2015.php)

</comment></comment></comment></comment><comment><USER7> I studied EC a lot, and this is actually one of the strongest success areas for evolutionary algorithms. In general evolutionary computing does far better with real-world, analog, and physical systems than it does with brittle software systems. Other areas of success include mechanical component design, antennas, and materials.

The results must be post-validated of course, since in some cases it will over-optimize to quirks of the Spice or other simulation that's used to implement the fitness function.

<comment><USER8> Great point - they work well for anything where the optimization surface is relatively smooth, where small changes don't lead to highly suboptimal solutions. In programming, a single character can make a program go from working to not, so the likelihood of "discovering" a valid program is low.

<comment><USER7> There's a whole subdomain of genetic programming research that centers around the design of evolvable computer languages and instruction encodings. There are some _immensely_ interesting programming languages and instruction sets out there for which this is less true than for ordinary programming. But we still have yet to devise an encoding that is truly analog and smooth... except maybe for really exotic encodings that are too slow to be useful in any practical system. These are sort of like homomorphic crypto-- interesting but too compute intensive to run anything real.

</comment></comment></comment><comment><USER9> Nice. You may be interested in Kosa's work in this area if you're not already familiar with it:

[http://www.eecs.harvard.edu/~rad/courses/cs266/papers/koza-s...](http://www.eecs.harvard.edu/~rad/courses/cs266/papers/koza- sciam03.pdf)

</comment><comment><USER10> He needs to put resistors in series with both the signal source and the power supply. Also there should always be some kind of load.

With 0-ohm signal source impedance very strange things happen. For example, a common emitter amplifier will seem to have much better bandwidth than it actually does (hides miller and base capacitance).

</comment><comment><USER3> This looks fun. One could conceive of a three-pronged approach to circuit design:

* Manual placement of components, based on the designer's skill and knowledge

* Insertion of preexisting blocks from a library

* Specification of requirements for a generated block to satisfy, triggering evolutionary search as described in the article

I'm not sure how likely beginning with an existing design would impede the evolutionary algorithm from escaping a local optimum based on a bad decision, but one could integrate the third strategy in the above list with the first two in varying degrees.

Loosely related by analogy in the software domain: superoptimization. [1]

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

<comment><USER11> Not exactly this. But there is already a router (piece of software that is used to desing printed board out of scematic) employing GA [1].

You mix automatic optimization with manual routing (using your skill and knowledge) and can switch between these modes at any given point. Your manual edits could be used in new generations or you could just say to autorouter: "keep away from this area". I had some experience with it and was quite satisfied.

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

</comment></comment><comment><USER12> > To make this program useful it's probably necessary to add checks that power > used by components is reasonable.

Indeed. It would also be interesting to see power consumption addressed in the cost function.

</comment><comment><USER13> When I worked as a Research Associate I developed a genetic algorithm for the constrained via minimisation which was to help design circuit boards with the minimum number of vias/holes between the layers of the boards. Indeed it worked well . Unfortunately the professor took all the credit it was to me a good paying job. Search for constrained via minimisation using ga for more on the topic.

</comment><comment><USER14> How resilient is it to component tolerances? Have you tested the actual circuits to confirm that spice was accurate?

<comment><USER10> He should include monte-carlo tolerance test as part of the simulation..

</comment></comment><comment><USER15> [https://github.com/polysome/evolvable_motherboard](https://github.com/polysome/evolvable_motherboard)</comment>


Rails Installer for OS X - <AUTHOR> http://www.engineyard.com/blog/2012/railsinstaller-for-os-x/

<comment><USER2> The site seems to be down atm.</comment>


Ask HN: Glad the override feature is gone? - <AUTHOR>

At first I was vexed that the noprocrast "override" feature was taken away, but since Hacker News has become my main tool for procrastination, I must grudgingly admit I'm happy it's gone. Anyone else? <comment><USER2> Nope, I waited my requisite time and then turned the no-procast option off. So now it doesn't matter at all.

I'm actually not too happy pg did this without some sort of warning. Last time I checked, he wasn't my mother. At any rate problem solved now.

<comment><USER3> Why would you use a antiprocrastionation feature with a giant loophole? The override made the feature useless. Now it works and I am going to use it.

PG correcting this flaw has absolutely nothing to do with him "being your mother".

<comment><USER4> "Hey aaron, what do you think of this comment on HN?" Sorry, I can't read it until tomorrow =/

</comment></comment></comment><comment><USER5> I am fine with it being gone, though I must say I was finally starting to exercise self control myself. Maybe he can add an option for "allow over- ride".

</comment><comment><USER6> No, I was quite annoyed. I only turned it on to help _remind_ me when I might be wasting time, not _prevent_ me from reading HN. Without an override, that feature is useless to me.

<comment><USER3> If you only need a reminder just set minaway to 1.

</comment></comment><comment><USER7> Nope. I don't use noprocrast, but I imagine that the set of people who do are heavily skewed towards the more senior members of the HN community -- so removing the override and keeping them locked out is likely to have the effect of lowering the tone of discourse here.

<comment><USER8> What's the logic here? Aren't senior individuals more able to self-regulate?

</comment></comment><comment><USER9> I started using noprocrast again now that it is gone. I'm glad it's gone.

</comment><comment><USER10> Could I suggest an alternative to the maxtime/minaway method?

I was thinking have a set time when you know you are at work, (e.g. 9-5, Monday to Friday (or Saturday you poor soul)) and just have it disabled between that time. Perhaps even have an 'allowance period' that gives you X minutes per day for your break usage.

</comment><comment><USER11> What happens when you turn it on an you spend too much time on the site? Doesn't load? And isn't the other loophole simple logging out?</comment>


9 Steps to a High-Converting Landing Page - <AUTHOR> http://www.onboardly.com/customer-acquisition/9-steps-to-a-high-converting-landing-page/

<comment><USER2> I've been hearing the claim around here that photos of people convert better than images of products. This article endorses landing pages with few or no images, and specifically suggests pages with only a product image.

Anyone want to comment on how this article stacks up against conventional wisdom?

<comment><USER3> I think of photos of people on landing pages as being relatively dangerous. When you show a photo of someone, doing something, you're asking the visitor to put themselves in the place of the person they're looking at.

If you have a pretty narrowly-defined audience, you might be able to find a photo that really encompasses everything your audience wants to be. More often, though, you instantly suggest that the product is "for them," not "for me."

There are two ways I've gone about handling this. One is avoiding people altogether, focusing on the product or the output of the product -- this can still tell a story, and hopefully the visitor can relate to that story. The other general method is to use cartoonish or abstract illustrations of people, which can allow the visitor to more easily put themselves in place of the illustrated character.

A well-chosen photo of people might convert better with the right audience, but it's a much riskier shot to take, in my view.</comment></comment>


Rdb – a Node.js ORM with transactions, persistence ignorance and promises - <AUTHOR> https://www.npmjs.com/package/rdb <comment><USER2> Seems interesting ! I would definitely like more ORM for node.js technologies.

The concurrent are Sequelize ([http://sequelizejs.com/](http://sequelizejs.com/)) and Bookshelf ([http://bookshelfjs.org/](http://bookshelfjs.org/)), both very mature libraries (look at the Sequelize test suite, it's quite impressing !). Iroal, any comment on the rdb choices against these two big guys ? How can we expect rdb to evolve ?

<comment><USER3> And if you just want a flexible ORM without models, knex ([http://knexjs.org/](http://knexjs.org/)), which bookshelf uses.

I found knex + Postgres to be a great combination.

<comment><USER4> I really really really like Knex. While Mongo claims to be "easy" and "js- native", It's far easier doing complicated queries with Knex on Postgres than on Mongo with the official client.

I work on a mongo project and doing aggregate queries is really ugly and painful. Everyone praising mongo probably never made "advanced" queries like that or dismissed SQL as shitty and unsecure without ever using it.

<comment><USER5> What would be 'unsecure' about SQL? Not sure I ever heard that argument before.

<comment><USER6> unparamatarized queries are the usual issue, so not an issue with sql as much as how people misuse sql.

</comment></comment></comment></comment></comment><comment><USER7> Any chance Rdb plans to support a traditional callback style interface for those of us that prefer to stay away from promises?

<comment><AUTHOR> My plan was to stick to promises only. Unless there are lots of lots of developers that really wants callbacks.

<comment><USER8> please stick with promises. Promises are the only sane way to deal with async in JS. With people starting to use async/await they become even more compelling.

The people who defend callbacks either don't understand the benefits that promises provide, don't know about async/await or are suffering from stockholm syndrome.

Callbacks do not pass the reversibility test. If everyone had started out with promises and / or async/await, and someone proposed callbacks as a way to deal with this instead, they'd be dismissed as a fool. They're an accident of history and we should forget about them as quickly as possible.

<comment><USER9> Callbacks allow await/defer in Iced CoffeeScript, not to mention the other async libs as stated above.

Promises don't really offer any benefit to program structure overall, generally devs just end up creating long chains of anonymous functions rather than long nests of anonymous functions. Promises actually discourage flat code (and functional programming) for that reason. I understand they seem attractive but become a hack in complex situations.

<comment><USER8> > Callbacks allow await/defer in Iced CoffeeScript

Not the same thing as in ES6, also that project is totally dead.

> generally devs just end up creating long chains of anonymous functions > rather than long nests of anonymous functions

Not true in my experience, also not required at all when using async / await.

> Promises actually discourage flat code (and functional programming) for that > reason.

This is really not true, Promises are functional and composable, callbacks are imperative.

> I understand they seem attractive but become a hack in complex situations.

Just no. Callbacks lead to terrible "solutions" like caolan/async, callbacks make refactoring extremely awkward.

Callbacks don't even get to claim better performance, because they require a load of internal hacks in node/io.js to maintain state.

With async/await in the picture, callbacks so totally inferior I can't believe someone would attempt to argue otherwise.

</comment></comment></comment></comment></comment><comment><USER10> Nice.

I'm currently checking out ORMs for node.

What I found was Bookshelf, Sequelize and Jugglingdb.

I think Rdb needs SQLite support for development purposes and smaller projects.

<comment><AUTHOR> Agree

</comment></comment><comment><USER11> Is anyone working on auto-generated migrations in node.js ala. Django / South?

<comment><USER7> I believe Sequelize does this:

[https://sequelize.readthedocs.org/en/latest/docs/migrations/](https://sequelize.readthedocs.org/en/latest/docs/migrations/)

<comment><USER12> No it does not do this yet. See this issue [1]. The db:create task in the sequelize cli only creates a new stub migration file.

1 - [https://github.com/sequelize/cli/issues/8](https://github.com/sequelize/cli/issues/8)

</comment></comment></comment><comment><USER13> Does this allow users to execute custom SQL, in addition to ORM methods, and have it be part of the same transaction?

<comment><AUTHOR> It is not supported today. But it would't be any problem to implement it. Please create an issue if you want it.

</comment></comment><comment><USER14> Not sure I see the advantage over waterline ([https://www.npmjs.com/package/waterline](https://www.npmjs.com/package/waterline)) ?

<comment><USER15> Waterline is a joke, it doesn't even have transactions.

</comment></comment><comment><USER16> ORMs are not really required in a Node/Mongo/JSON setup anymore:

\- JSON's nature is already very 'object oriented' and I use in code JSON data like it saved—no translation beetween clunky SQL and objects is necessary (if I have a DB which saves JSON natively like Mongo)

\- Mongo allows to directly save JSON and stuff like migrations is stuff from the past since tables/collections don't have to be created

\- Mongo's Native Driver is low level and at the same time fully sufficient, the syntax is not beautiful and tons of libs sit on top to make it beautiful but I still don't see the need for a real ORM

So, Mongo's Native Driver is your best friend and validations are often a matter of a few lines. Or did I miss anything which is life saving I get from ORMs in a Node/Mongo setup?

<comment><USER11> Not everyone is only using Mongo with Node

<comment><USER16> Good point and I just checked: rdb seems to be for SQL based DBs.

But I am wondering who is using SQL based DBs with Node, feels ancient to me, except you build the next datastore for a bank but even then. Also Postgres with its JSON options does not give the feeling, flexibility and speed as Node/Mongo.

I could imagine that the larger part of Node users are working with Mongo, or not?

<comment><USER7> Mongo is great for when you're rapidly developing a product and/or still operating at a small-medium scale.

Once you start to really scale, you'll start to find a couple parts of MongoDB break-down:

1\. MongoDB has no concept of transactions and is not ACID compliant. These short-comings seem innocuous enough at first, but you end up with some crazy potential race conditions that you just end up praying you never face.

2\. Distributed MongoDB layers are difficult to implement as well as maintain.

3\. MongoDB Replica sets are unpredictable and unreliable in the speed at which they are able to stay up to date and require changes to your code to fully utilize (since you need to ensure you are always reading from a replica when you can, but only ever writing to the master MongoDB instance)

4\. At scale, MongoDB will consistently perform worse than Postgres for CRUD- based operations

5\. Do you have true relations between documents? Do you ever use Mongoose's convenient `populate()` functionality? If so, you are now making multiple db queries in series when trying to fetch a document(s) from a single collection. This starts to really hurt your query times once you get enough documents/relations in your mongo collections.

I'm sure I'm missing some, but these are some of the areas where MongoDB has fallen down for me in the past.

<comment><USER17> > Mongo is great for when you're rapidly developing a product and/or still > operating at a small-medium scale.

Yesterday somebody from a node-based consultancy gave a talk at work about microservices, where he remarked in passing that they tend to start projects with mongo, then wait for a schema to kind of 'fall out' of the application as it takes shape, and then switch to postgres or something. Which doesn't seem like an awful idea.</comment></comment></comment></comment></comment>


Geo-Origins – Fixing Location-Based Triggers (iBeacons, RFID, etc.) - <AUTHOR> https://github.com/csuwildcat/geo-origins/blob/master/explainer.md

<comment><USER2> I don't know why it's not implemented like traditional Bluetooth, by pairing. Each beacon vendor could generate a 6 digit code from a private key implemented like 2-factor auth. A corresponding iPad or device in a physical location could show the same code so users know they're pairing to the beacons in a store or location.

Then they proximity-fence these pairing requests so it only activates when they tap a device on a "pairing beacon."

<comment><AUTHOR> I'm not quite sure why you'd need all those layers of misdirection, this eliminates all of the complexity. If the platform knows a region in space is tied to an origin - like a Target store is tied to target.com - you have everything you need to enable seamless push notifications directly from the beacons.

Here's how the system works:

1) User walks into the store and receives the first ping from a beacon (or other location-based trigger)

2) The platform/UA shows a bit of UI asking the user if they would like to receive LBT content from the entity - for example, Target.com.

3) There are 3 options: disallow, allow for this location (aka: "Just this Target store location"), or allow for all locations (as in: "Allow notifications from all Target store locations"

4) After selecting to see notifications for the location, or all the entity's locations, the user no longer needs to do anything, they just receive content directly from beacons within the location.

This eliminates the need for every app to listen for beacons, and beacons can now pass content URLs, which the platform/UA can open directly. This way, there is no vendor or walled garden dependencies. The system grows organically, and scales without micromanagement.

Do you understand how that works? I can try to answer any other questions you may have.

<comment><USER2> That would not work because someone could throw a bunch of third party beacons in the target store constantly asking for permission requests.

And in a more likely scenario, walking down a crowded street would trigger endless pairing requests.

</comment></comment></comment><comment><USER3> Using a geofence for LBT permissions ignores the fact that BLE is being used for its low power properties. If a LBT needs to trigger a GPS lookup, we're going backwards.

<comment><AUTHOR> GPS need not be always on, the platform can minimize activation of GPS in a variety of ways. All current systems for location-based triggering are non- starters - they each fail in one or more of the following ways:

\- Forces apps to be the trust layer, which prevents wide-scale, predictable content delivery

\- Eliminates the ability to do seamless, proactive push content from LBTs

\- Requires the existence of walled gardens and vendor-dictated management layers that encumber the system and creates gatekeepers

This system solves all of these things for locations that can be tied to their owning origins.

Please continue the debate, I want to hear everyone's feedback.</comment></comment>


Best way to put your HN links for later read - <AUTHOR> http://bookmaark.herokuapp.com/

<comment><USER2> I think making two bookmarklets (push current URL and fetch next URL) for this service. Would improve it's usefulness dramatically.

<comment><AUTHOR> Actually yes, I have plans for something like that pretty soon. Thanks for the feedback.</comment></comment>


Google Hangout with Elon Musk and Richard Branson (live) - <AUTHOR> http://www.youtube.com/watch?v=Vy9y_YSpYxA

<comment><USER2> A very interesting talk between 2 thought leaders. Worth checking out if you've missed it live.</comment>


Ask HN: Camera array for small-volume Real-Time passive surveillance of biology - <AUTHOR> If you want to look at C. elegans (1mm long), you use a microscope. But of course, the field of view is small, and you can't just passively surveil a volume of say a few cm^3 and wait to see interesting and possibly unexpected behaviours.
Is there anything like this now? I'm thinking of something similar to wide-area airborne passive surveillance and recording, but for a small area.
What would we learn if we could record a room for a night and see every bedbug? Or record a patch of ground and see every ant? Or record a volume or area of a few cm^3/cm^2 and see everything down to 1 um resolution? Are there currently microscope arrays? <comment><USER2> Many scopes support region of interest detection. They will use a low-power objective to scan a large field of view, then switch objectives and only look at regions identified from the larger field of view. This really only works for things on slides.

You can definitely couple a macro lens to a DSLR and mount it on a turrent and scan, trading off field of view with time (depends on how fast you can scan, etc).

There are camera arrays ([http://graphics.stanford.edu/projects/array/](http://graphics.stanford.edu/projects/array/)) and an experienced practictioner could take these ideas and do all sorts of amazing imaging.

<comment><AUTHOR> Great, thanks! Was thinking about COTS image sensors but then the problem becomes how to get the light to them.

<comment><USER2> Maybe an array of jevois with NoIR lenses and an IR illuminator ([http://jevois.org/doc/Lenses.html](http://jevois.org/doc/Lenses.html)) with the jevois doing object detection in array mode over a large FoV, then another camera with a much nicer macro lens and high quality sensor (blackfly S w/ a DSLR macro) on a turrent that points to where you see objects of interest identified by the jevois object detector.

Would be a fun project.

</comment></comment></comment><comment><USER3> Look up Fourier Ptychography, i.e. like this presentation by Guoan Zheng [0]. Fourier Ptychography is basically a variation of Gerchberg-Saxton phase retrieval in the sense that both methods and their variations reconstruct images from constraints. In Ptychography for microscopy they come from low- resolution, small-Field-of-View image captures. You can do superresolution with it and extend your field of view.

Usually in microscopy, you have a very limited field of view but with the variations of this method, people have reconstructed multiple square-mm fields of view with a µm resolution. If you have multiple cameras, you can speed up the process [1]. This also has been done for volumetric samples with the ability to refocus.

You'd probably need high speed cameras and coherent illumination (for best superresolution results).

[0] [https://www.youtube.com/watch?v=hece_x37ITg](https://www.youtube.com/watch?v=hece_x37ITg) [1] [http://computationalimaging.rice.edu/databases/towardcca/](http://computationalimaging.rice.edu/databases/towardcca/)

</comment><comment><AUTHOR> Well, this looks like exactly what I was thinking of...

[http://horstmeyer.pratt.duke.edu/gigapixel-micro-camera- arra...](http://horstmeyer.pratt.duke.edu/gigapixel-micro-camera-array- microscope)

<comment><AUTHOR> Looks like those Duke people have commercialized this as Ramona Optics.

Ramona Optics [https://www.ramonaoptics.com/company](https://www.ramonaoptics.com/company)

SBIR for High Resolution Parallelized Imaging of Freely Swimming Zebrafish with a Gigapixel Microscope [https://www.sbir.gov/sbirsearch/detail/1323251](https://www.sbir.gov/sbirsearch/detail/1323251)

Ramona Optics SBIR info [https://www.sbir.gov/node/1155319](https://www.sbir.gov/node/1155319)

Others: [https://www.semanticscholar.org/paper/Wide-field- microscopy-...](https://www.semanticscholar.org/paper/Wide-field-microscopy- using-microcamera-arrays-Marks-Youn/ba6efc3e3e18abca7a09116ae72fd84ef74cf959)

[https://www.osa.org/en- us/about_osa/newsroom/news_releases/2...](https://www.osa.org/en- us/about_osa/newsroom/news_releases/2015/unprecedented_gigapixel_multicolor_microscope_powe/)

[https://www.osapublishing.org/oe/fulltext.cfm?uri=oe-21-2-23...](https://www.osapublishing.org/oe/fulltext.cfm?uri=oe-21-2-2361&id=248702)</comment></comment>


Can You Make Swiss Trains Even More Punctual? (Data Science Competition) - <AUTHOR> https://medium.com/crowdai/can-you-make-swiss-trains-even-more-punctual-ec9aa73d6e35 <comment><AUTHOR> We are very excited to introduce this new challenge :D

Feel free to ask any question here (or on Medium), we are around to help.</comment>


Google bans ads for payday loans - <AUTHOR> http://www.theverge.com/2016/5/11/11656088/payday-loan-ads-banned-from-google <comment><USER2> If Google believes that these companies charge too high interest rates, why doesn't Google (or someone else) offer the same service but charge a lot less? They would end up helping poor people that need emergency money while driving the "predatory" lenders they so dislike out of business.

By banning the ads they do not eliminate the need for emergency loans. It just means that those that need the emergency loans will not be able to get them anymore, or not be able to find the best deal for themselves, ending up worse off.</comment>


Closures explained with JavaScript - <AUTHOR> http://skilldrick.co.uk/2011/04/closures-explained-with-javascript/ <comment><USER2> Nice article :)

The thing that helped me understand closures was really thinking about _why_ they're confusing for beginners.

For example, let's say you show the following code to someone who's never heard of closures, and ask them what it should do.

      var foo = 0;

      var f = function() {
        return foo;
      }

      f();

The thing that's confusing to beginners here is that _there is no right answer_ to this question, and yet by being asked the question, you feel like you should be able to intuit the "right" behavior. For example, the previous code returns 0, but the analogous code will break in Ruby:

      foo = 0

      def f
        foo
      end

      f # => NameError: undefined local variable or method `foo' ...

And then you say, er, Ruby does closures too:

      foo = 0

      define_singleton_method :f do
        foo
      end

      f # => 0

How to handle this situation is up to the programming language: it might break, or it might use dynamic scope, or it might use closures/lexical scope (any others?).

Closures are initially confusing not because they're a difficult topic, but because their entire existence hinges on a programming language design decision that you, as a beginner, know nothing about. You can't see it in the text of the program. I think that if you clarify up front that someone, back in the day, realized that it would be pretty cool if languages worked liked _this_ , instead of like _that_ , then it makes understanding closures a lot easier.

<comment><AUTHOR> Thanks, and a really interesting perspective.

I find Ruby's rules on scope (and pretty much anything) pretty confusing. I really like the way Ruby does a lot of things, but it doesn't have simple rules like JS.

<comment><USER2> Metaprogramming Ruby [0] explains Ruby's handling of scope really well.

Also, you might enjoy a silly gem I wrote a while ago called ghost_attributes [1]. It uses closures to mimic attr_accessor. The funny thing about it is that your ghost attributes are completely inaccessible from outside the object, unlike normal instance variables, which are always reachable via things like instance_variable_get. Fun/weird stuff :)

[0] [http://www.amazon.com/Metaprogramming-Ruby-Program-Like- Pros...](http://www.amazon.com/Metaprogramming-Ruby-Program-Like- Pros/dp/1934356476/ref=sr_1_1?ie=UTF8&qid=1303494088&sr=8-1)

[1] <https://github.com/happy4crazy/ghost_attributes>

<comment><AUTHOR> Crazy! Yeah, Metaprogramming Ruby is on my wishlist. I understand why the rules in Ruby are complicated - it's to make the common case simpler. But I still like the simplicity of JavaScript.</comment></comment></comment></comment>


Is HTML a Programming Language? - <AUTHOR> http://web.media.mit.edu/~pliam/res/blog_1.html <comment><USER3> This article does not mention the phrase "Turing completeness" once. The core of its argument is just a half-assed comparison between HTML and machine language, because neither has explicit control structures, and HTML links are kind of like implicit control structures if you squint really hard. Lame.

<comment><USER4> Ran here to see this comment. If it isn't Turing complete, it's not a programming language. Arguably it's not necessarily a programming language even if it's Turing complete. E.g. c++ templates.

<comment><USER5> > If it isn't Turing complete, it's not a programming language.

Says who?

Turing completeness is nice and all, but it also comes with some baggage and difficulties. There's value in having constrained domain specific languages.

<comment><USER6> > Says who?

Says most of the people who care, and who therefore use the term the most.

</comment></comment></comment></comment><comment><USER7> This article prompts a staccato of reactions in me.

The first is to observe the Argument of the Beard.

Next is to think about how telling your VCR to start recording whatever's on TV at 3pm and stop at 4pm is known as programming it.

After that I get lost in a quagmire of musing whether SQL is a programming language.

After that I start thinking about Turing completeness, followed quickly by the observation that there are things that are Turing complete that I would not consider to be programming languages.

And then at some point I realize we're just idly shuffling words and the meanings of words around the table. That's where I suddenly lose interest because I've really got no reason to have a problem with the current vernacular meaning of the term.

<comment><USER6> > there are things that are Turing complete that I would not consider to be > programming languages.

Like what?

<comment><USER8> Lots of cellular automata, probably.

</comment></comment></comment><comment><USER9> Quote: "However, if you are configuring an application by setting its preferences, or an operating system by manipulating its system files, or a webpage by marking up its text with HTML, anything that will set up the future behavior of the computer to accomplish something for you, then these are activities that are so closely akin to anything essential that can be said about what programming is, that I no longer see the point in trying to forge a distinction."

Not programming, not programming and, yes, not programming.

</comment><comment><USER10> Honestly, I was expecting this article to go a completely different way. Namely, I expected it to talk about how <canvas> is Turing complete (and therefore, should be valid consideration as a programming language as much as LaTeX or Cxx templates are).

There's certainly use in confronting elitism and FUD, but having a technical kernel (see what I did there? :P) of truth supporting a more abstract argument would be far more compelling imho. I'd really love to see more discussions about <canvas> and what it means for the future of HTML as a language (and whether or not it will come to be a more fully-fledged programming language itself).

<comment><USER11> And yet he attacks elitism with his particular kind of elitism.

I'm not sure this is at all useful.

"Go get some more education at an institution other than a glorified vocational training center."

<comment><AUTHOR> I believe that "glorified vocational training center" is a self-depreciating reference to the author's home institution, MIT. I suspect that other members of the MIT community were the first order audience for the article and the thrust of his critique is that claims that HTML is not a programming language are structured as arguments from authority.

What makes

      (print "Hello World")  ; MIT/GNU Scheme

a proper program, and

Hello World

something else seems more rooted in opinion than any intrinsic difference.

<comment><USER3> How about this for an intrinsic difference: one language is capable of performing arbitrary computations (it's Turing complete), and the other is not?

<comment><USER10> The only problem with that is that, recently, there has been a resurgence of the notion of sub-turing complete languages as still being valid programming pursuits. E.g., see Coq.

I have not really come down on one side or the other (mainly because I do not have the requisite experience and have not yet had the time to research the question thoroughly enough to form a well-founded opinion). But, that programming languages must be Turing complete is not necessarily a given.

<comment><AUTHOR> The classification of Coq versus HTML is like that of classifying people as expats versus migrants, it reflects more upon the affinity of the person classifying for what is being classified than upon any objective distinction.

Computer Scientists use Coq and Web Designers use HTML. Denying HTML is a programming language is a mechanism for denying a particular form of legitimacy to a particular cluster of activities. It's not like you're average Java programmer could actually prove that Java is Turing Complete in polynomial time. Most people take it on authority that C is Turing Complete, and that's reasonable because that's the way science largely works.

<comment><USER10> It feels like you may have misunderstood my purpose. My point was not that HTML should be denigrated from the status of programming language where Coq is a programming language. My point was that the line is blurry (I think you and I agree on this), and that it is not a given that a "programming language" is necessarily Turing complete.

<comment><AUTHOR> It feels like you may have considered my reply an argument rather than a riff on your observation that Coq gets props as a programming language. When I see a programming language that comes with an infinite tape, I'll take the idea of Turing Completeness as a necessary condition for a programming language more seriously.

My point is that excluding HTML from the family of programming languages is a social distinction. And mentioning Turing Completeness is usually a way of cutting off conversation not opening it up.

<comment><USER10> Ahh, I must have misread; it seems you and I are on exactly the same page :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> If we define a programming language as a "language designed to communicate instructions to a computer," and then we observe that most "traditional" programming languages require an intermediary to make the computer "do what the program intends" (such an intermediary being a compiler or a runtime or some other transformation), then one could argue that HTML is a language, and the browser is such intermediary.

Therefore, HTML is a programming language, IMHO. It may be "primitive" in the pecking order of programming languages based on some arbitrary definition of sophistication, but it rises above the stated definition.

<comment><USER13> By this definition any input that a program processes would qualify, since inputs by definition "instruct" the program how to operate.

At that point you've robbed the term of any useful meaning.

<comment><USER12> Inputs are not instances of a computing language. They are arguments or parameters to the program.

<comment><USER13> HTML is not an instance of a "computing language". HTML is simply an input to a program.

</comment></comment></comment></comment><comment><USER14> There are two ways to go about answering this:

1\. You could try a formal definition -- such as Turing completeness

2\. You could accept a colloquial definition. This definition has to be extracted from the things that people call programming languages.

If you opt for #1, then you have to accept you have abandoned #2. There are things that are Turing complete which people in the ordinary use of English may not think of as programming languages. (For instance: an actual Turing Machine with the infinite tape).

If we go with #1, knowing full well that it may be counter-intuitive, then we are left with a technical question which, at least, can be answered. You can see if rule 110 or whatever can properly be implemented. You can decide if some feature of the browser allows for it and so forth. At least you know what the exercise is.

If you decide you want to capture people's intuitive sense of a "programming language" then you have to intuition monger. I think intuitions are informed by the use of the word "language" as well.

So, for instance, people may "program" a VCR, but no one calls that using a programming "language." This is because it does not feel language-like to us. Same with an actual Turing machine. If you transcribe the instructions of the Turing machine into instructions like "1 - go forward, 2 - print a 1, 3 - <USER2> back" etc, then suddenly it "feels" like a language.

If you accept that you are intuition mongering, I think you would have to poll people who are familiar with HTML and other languages and ask them. (I suspect they would say, in general, that it is not).

Of course, #2 may change as the language evolves and our sense of what a "language" is evolves with it.

</comment><comment><USER15> I'm not sure where you're seeing all this controversy, nor do I quite understand why you're so upset about it. Nevertheless, why don't we just judge HTML in terms of its intended purpose? Before CSS and Javascript and the separation of semantics, presentation and behavior I might actually have agreed with you. At this stage, though, I'd venture that HTML is designed for the purpose of describing the semantic notions of a document rather than computation. Since you ask us to be humble I'll oblige and concede that not all programming languages have to be turing complete (there are useful languages that aren't). But surely it has to be designed with computation as a purpose? Even CSS fullfills that criteria to a higher degree. If not, you might as well argue that any arbitrary language at any level in Chomskys hierarchy constitutes a programming language. It's been a while since I read SICP but I really don't think this is what Abelson and Sussman had in mind.

<comment><USER16> > I'm not sure where you're seeing all this controversy, nor do I quite > understand why you're so upset about it.

FWIW, the post is from September 2003:

[http://web.media.mit.edu/~pliam/res/blogettes.html](http://web.media.mit.edu/~pliam/res/blogettes.html)

</comment></comment><comment><USER17> HTML is a presentation language, XML is a data language, JavaScript is a programming language.

HTML is more like Powerpoint, XML like MS-Access.

<comment><USER18> HTML is like Powerpoint? Wow, if only it was that easy. It's more like Excel IMO if we really want to make such an asinine comparison.

<comment><USER19> how would I add two numbers in html?
1+1=2

<comment><USER20>

<comment><USER6> Javascript is not HTML. Both can usefully exist without the other.

</comment></comment></comment></comment></comment><comment><USER21> No.

</comment><comment> drew-y The green text on a black background makes this incredibly hard to read.

<comment><USER22> Just whip up a little Javascript function and drop it into your HTML between the relevant tags and refresh your cached page. Oh wait... I meant reprogram the color settings in your HTML.

<comment><USER23> Or you can modify the CSS:

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


Seven Rules of Thumb for Designing Web Experiments [pdf] - <AUTHOR> http://www.exp-platform.com/Documents/2014%20experimentersRulesOfThumb.pdf <comment><USER2> Good post. A bit intimidating at first, but this paper has some real insight and is worth a read.

What makes this paper so good is that the opinions are primarily data-driven, not intuition driven. Which leads to insights you can trust.</comment>


No, Classical Liberalism Isn't a "Fraud" - <AUTHOR> https://www.libertarianism.org/columns/no-classical-liberalism-isnt-fraud <comment><USER2> This article is a great illustration of the fundamental problem with libertarianism.

 _> [C]lassical liberals don't think corporations are any more altruistic, so we propose to carefully sequester them from the source of special privilege: government. What Cooper seems not to understand (though he seems close at times to grasping it) is that corporations would rather not compete; they'd rather appeal to "the sovereignty of nations," which, as we have noted, is their originator, to hobble or outlaw their competitors._

The glaring omission in this analysis is that government, while it is _one potential_ source of special privileges for corporations, is not _the_ source of special privilege. Simply keeping government out of the affairs of business will not prevent corporations from reaching positions from which they no longer have to compete.

As we've seen countless times over the last few hundred years, corporations can reach such a position quite effectively without any help from government whatsoever, by driving their competitors out of business (monopoly), or by colluding rather than competing (oligopoly), or through other means of imperfect competition. And when that happens, there is only one actor with enough power to free up the market again -- government.

Asking (as the article does) for government to "confine itself to the protection of individual liberty" is, therefore, a call for society to accept these market failures as effectively un-fixable. (Which is perhaps why libertarianism is such a popular philosophy among those who run the corporations that would rather not compete.)

<comment><USER3> I think "the protection of individual liberty" in this case includes regulation of corporations which act against liberty. The request is that the government not grant special privileges to some corporations refers mostly to things like subsidies and special contracts. On the other hand, if a corporation is acting in a way that puts people in danger, for example excessive pollution or selling defective products, there's no basic ideal of classical liberalism or libertarianism that would prevent the government from acting to stop it. The point of this article is that the idea of libertarians opposing all government regulation is false. They tend to want to restrict but not abolish it.

That's not to say that it's a flawless philosophy. It's definitely one that's created out of idealism and faith in humanity, which might not always be warranted. In a way, it has become self-defeating in its success because it has empowered individuals to believe they're wiser than they are, leading to people who are more easily manipulated by well-crafted rhetoric that stokes the ego and convinces them that they know something that others don't. Characterizations of different groups as stupid and maybe even a little evil are particularly effective for this kind of manipulation, like the kind that the author here argues against.

</comment></comment><comment><USER4> _Classical liberals, pioneering class theory, have shown that business and government often partner to serve the interests of the powerful, to create a favorable environment for well-connected industries and companies...._

Hear hear. But to know that means knowing a little history - about places like the Caribbean and Hawaii - and law - like when US corporations gained personhood in the late 1800s. Knowing history, it's self-evident. Which is why smearing and disappearing history has so important to these folks for soooooo long.</comment>


Ask HN: I have no problems to solve - <AUTHOR> It's interesting, everyone says to build something that solves one of my own problems. That's a valid suggestions seeing as solving ones problems can be both exciting and engaging. But when I think about it, I really don't have any problems of my own to solve. I have worked on side projects before but they usually end up on the back burner because I lose interest. Maybe I am not realizing that I do have problems that can be solved with tech.<p>So my question is: How do I find problems to solve (mine or others, doesn't matter)? <comment><USER2> I faced this issue myself. Then I realised something:

I wasn't striving for anything.

People face problems when they have an ambition. They want to get from A to B and the process in-between is often messy so they use software or information to make it less messy.

What I'd suggest, then, is to start picking up hobbies for the sake of having hobbies. I started going to the gym, for instance, and have thought of much better ways to create a workout tracker.

I started writing novels a couple of years ago and have the insight into making a better application for novelists.

When I started traveling, that also sparked ideas.

Stop thinking about solving a problem. You should really focus on giving yourself problems. Be a beginner again. Create an imbalance in your life, then resolve it.

:)

</comment><comment><USER3> I'm sure the problem is that you just aren't thinking about things hard enough* or just lack enough motivation to really follow-through, which is a separate (primarily non-technical) issue to solve. You would be unique in the world if you really had no problems that could be solved/helped with technology.

However, despite the common wisdom of scratching our own itches, when I'm working on outside hobby projects I often find it more interesting to solve other people's problems because it is more of a learning experience. Find a lab scientist or a teacher or a rapper (Jay-Z alone has 99 problems), and engage them in figuring out what problems they have that can be solved by technology. You are likely to learn a lot about what they do, which is cool, and you'll be more motivated by having a collaborator to work with on solving that person's problems. This may even serve you well commercially, if you care, because you can more easily find underserved niches. Every programmer wants to write a code editor, not every programmer wants to write networked, collaborative curriculum planning software.

[* Or perhaps you are thinking of them too hard. Sometimes it is good to just constantly be asking yourself if there is a better way to be doing whatever it is you are currently doing as opposed to sitting down and having some fruitless "brainstorming" session where you are trying to analyze what your problems are out of context.]

</comment><comment><USER4> One simple way to find new problems is to follow the advice once given by Deep Throat: "Follow the money!"

What I mean is look into your own spending patterns (or those of your friends/ parents/ neighbours/ colleagues) and ask yourself why does something cost as much as it does? Can it be made more cheaper? Or if it is already cheap, can the difference consumer saves be used for some meaningful, complementary services/items?

Thinking this way can reveal many interesting and unexpected answers and the best thing is that this quest takes you out of your room, since you have to follow the money trail and understand how different businesses work. Doing that as an outsider is likely to spark many interesting thoughts.

</comment><comment><USER5> I know!

I was the same, no real "problems" to solve, and the few ideas I did have amounted to fairly straight-forward CRUD-style solutions. I started implementing one of them, and then started reading an Algorithms book.

From there, a few very old ideas coalesced in my brain, and exploded. Now, I'm not solving a MY problem, so much as solving a challenging problem that I think will hold my attention for awhile. I'm hoping to have something to push out to github in the next few weeks.

Morale of the story: search for problems to solve, and you'll solve the problem of not having a problem to solve. :)

</comment><comment><USER6> I have quite the opposite problem, too many problems to solve, and not enough time/resources to build everything. I figured I could describe my thought process, and maybe it will help you come up with ideas too. It's a pretty basic three step process; 1. choose a topic (or industry, or domain, or space, or whatever you want to call it) that you personally enjoy, or have deep knowledge/experience. 2. on a white board, write down all the different aspects or components that comprise whatever topic you choose, and next to each component, write down a person or role that's associated with each component. 3. take each association you've built and look for two things from the person's and/or role's perspective; within the context of the topic, look for a pain point and/or a new capability. In my opinion, the key is being able to rationalize things from other people's perspectives. Building the associations is a good exercise that will get the brainstorming going. Choosing a topic you personally enjoy or have deep knowledge/experience will provide you with insights and unique perspectives that you can leverage to build something of value. Some of my best ideas were the result of correlating these insights and perspectives with the pain points and/or capabilities identified above. Hopefully this thought process will help you come up with some killer ideas!

Regarding the problem I'm experiencing, I've been experimenting with a new approach that is similar to the Idealab approach used by Bill Gross. Understanding the effectiveness of focusing on one project at a time, this experimental approach is to validate ideas, protect their IP, and then build teams to execute independently. So while I work on one Project at a time, the team(s) I've built can execute other Projects (and resulting Products/Businesses). The value that I'm providing is the validation of each idea with potential customers, as well as the protection of any associated IP (via patents). The team would, of course, own the majority of each Business and I would take a small percentage. The way I see it, an approach like this is great because of two reasons; one, it's great practice for me in terms of team-building and customer validation. two, I get to watch these crazy ideas be executed, resulting in new Products that would make life better for everyone (me included!). It will be interesting to see how this works out! If you would be interested in checking out some of these Projects, let me know!

<comment><AUTHOR> I would love to see some of the projects!

</comment></comment><comment><USER7> You need to look at the more discrete problems you face - there's probably lots of things you do that take 100x longer than they should because they haven't been automated or optimized for today's world.

</comment><comment><USER8> If not having problems is a problem to you maybe you can start there.

</comment><comment><USER9> Hmm. I just posted this Ask HN: [https://news.ycombinator.com/item?id=6574962](https://news.ycombinator.com/item?id=6574962)

</comment><comment><USER10> What do you do besides programming? Most of the projects I end up taking on come out of my non-programming interests.

<comment><USER11> Yeah, that why I tried to build a home brewing automaton [https://jeena.net/brewing-automaton](https://jeena.net/brewing-automaton) but yeah, I didn't get very far yet besides buying all the parts ^^

<comment><USER10> What do your friends and family do? Find someone you know who is really good at what they do, in a non-programming field. Ask about their workflow, and try to find the areas where they could have better tools. Then start to build those tools.

The most innovative and useful ideas seem to come from a mix of high level domain expertise, and high level technical ability. If you don't have both of those, find someone who has the piece you are missing.

Edit: sorry, assumed you were op.</comment></comment></comment>


ColdFusion security - <AUTHOR> http://protogenist.wordpress.com/2012/08/22/coldfusion-security/ Security is especially important in web-based applications, such as those you develop in ColdFusion. ColdFusion developers and administrators must fully understand the security risks that could affect their development and runtime environments so they can enable and restrict access appropriately <comment><USER2> what is this? Did you just copy the two paragraphs from some handbook? I miss additional information, e.g. about known attacks or vulnerabilities.

<comment><USER3> Yep. They are completely useless posts with stolen content that isn't even any good. Here's more:

<http://news.ycombinator.org/submitted?id=samayaranjan></comment></comment>


Show HN: ProfilePerfecter "Your Online Wingwoman" - <AUTHOR> http://www.profileperfecter.com/

<comment><USER2> Seeing as how this is on hacker news, are these "women" reviewing photos human or part of our migration to look good for our robot overlords (all hail!)? Because the latter would be so much more awesome.

Also I think this is a great idea since often people post photos that don't quite compliment them, even though there is a positive emotion associated with the photo, others see it differently. A nice way to get a human (or robot) review of stuff.

however:

a) seems to prey on people's emotional state when they are desperately hunting for a date. Basically I have no reassurance that these "women" are in any way good at rating profiles, or would be helpful. I may feel its better but it may not be.

b) why do women need be the only reviewers? Again pointing to (a). Men can do an equally good job granted that they have appropriate experience in the field, as they may know what works vs "what I would like, as a woman".

(b) seems to be the ux problems, users don't really know what they want, instead professionals know how to get to what the users want. %s/users/women %s/professionals/some\ men

<comment><AUTHOR> Very good points! THX!

Right now its all women, although I'm experimenting w/ Mechanical Turk to rate photos and other things. Hopefully I can lower costs by using our robot overlords.

I don't mean to prey on emotions, I just want to offer a service to improve your online dating experience.

I agree, men could be equally useful in judging profiles, I have to find out the comfort level guys have with other guys critiquing them. Personally I wouldn't care.

Not sure I understood your last point exactly, please elaborate..

<comment><USER2> Joke attempt. Men who are good at picking up women may be the best advisers for men looking to pick up women, while women may indicate what they'd like to see from a guy but their advise may not be the best advise in how to pick up women.

Ex: A woman may have an idea what she'd like to see. However she may have no idea how to attract other women. :P Whereas the ladies' man (Leon Phelps)... you get my point. (<http://www.imdb.com/title/tt0213790/>)

</comment></comment></comment><comment><USER3> Showed it to a single friend of mine and she posted this tweet: [http://twitter.com/#!/SlightlySerious/status/123865223177310...](http://twitter.com/#!/SlightlySerious/status/123865223177310208)

<comment><AUTHOR> well you instantly settled my "will women be open to this?" issue.. THX!</comment></comment>