Keymaster.js: painless keyboard shortcuts for javascript - <AUTHOR> https://github.com/madrobby/keymaster

<comment><USER2> Hmm. Binds all events to `document`, which means that if you type something in a text field, it'll still trigger the event. (One of the TODOs is "Make behavior with INPUT / SELECT / TEXTAREA configurable.)

Thing is, jQuery Hotkeys (<https://github.com/jeresig/jquery.hotkeys>) is more versatile (since you can bind events to any element), works under a wider range of browsers, and is nearly as lightweight (if you already depend on jQuery).

Though, I do like the hipness of using "⌥" and "⌘" instead of "alt" and "meta". I might make a fork of jQuery Hotkeys just for that.

<comment><USER3> It doesn't trigger events if you're in a INPUT/TEXTAREA/SELECT.

The todo refers to making this configurable in a per-shortcut fashion.

<comment><USER2> Ah, my bad. I didn't catch the line "if (tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA') return;", which is indeed a sensible default.

</comment></comment></comment><comment><USER4> Why would you store a minified version in the VCS, especially not having it in sync with the original source code? Shouldn't it be an artefact kept out of the VCS and built automatically by, for example, make and UglifyJS?

<comment><USER5> It's more convenient with a minified source layoung around somewhere. Also it's quite small:

(function(a){function j(a){d=a||"all"}function i(a,c,d){var g,h;d===undefined&&(d=c,c="all"),a=a.replace(/\s/g,""),g=a.split(","),g.forEach(function(a){h=[],a=a.split("+"),a.length>1&&(h=a.slice(0,a.length-1).map(function(a){return e[a]}),a=[a[a.length-1]]),a=a[0],a=a.length>1?f[a]:a.toUpperCase().charCodeAt(0),a in b||(b[a]=[]),b[a].push({scope:c,method:d,mods:h})})}function h(a){var b=""+a.keyCode;b in c&&(c[b]=!1)}function g(a){var e,f;f=a.target.tagName,e=""+a.keyCode;if(e in c)return c[e]=!0;if(f!="INPUT"&&f!="SELECT"&&f!="TEXTAREA"){if(!(e in b))return;b[e].forEach(function(b){(b.scope==d||b.scope=="all")&&(b.mods.length==0&&!c[16]&&!c[18]&&!c[17]&&!c[91]||b.mods.length>0&&b.mods.every(function(a){return c[a]}))&&b.method(a,b.key,b.scope)===!1&&(a.stopPropagation(),a.preventDefault())})}}var b={},c={16:!1,18:!1,17:!1,91:!1},d="all",e={shift:16,option:18,"⌥":18,alt:18,ctrl:17,control:17,command:91,"⌘":91},f={backspace:8,tab:9,enter:13,"return":13,escape:27,space:32,left:37,up:38,right:39,down:40};document.addEventListener("keydown",g,!1),document.addEventListener("keyup",h,!1),a.key=i,a.keyScope=j})(this)

<comment><USER6> By putting the source on github you're inviting people to use your code in their projects, and pick it apart. It's next to impossible to pick apart like this. In addition, a minified version is a build product, which you don't put in a VCS. Offer the minified version as a download, that's what that feature is there for.

<comment><USER7> Putting build artifacts in source control does seem a bit strange. Nevertheless, it's very common practice with JavaScript libraries.

</comment></comment></comment></comment><comment><USER8> To a javascript mortal (i.e. someone who lacks sufficient proficiency to write or contribute to a library) this is refreshing. Looking forward to ignoring event.keyCode in my next project. Thanks for this.

</comment><comment><USER9> I like the fact that this library has no dependencies. I suggest that the __MAP_ variable in keymaster.js should be equal to the _specialKeys_ variable defined in jquery.hotkeys.js.

[https://github.com/jeresig/jquery.hotkeys/blob/master/jquery...](https://github.com/jeresig/jquery.hotkeys/blob/master/jquery.hotkeys.js)

in order to cover all special keys.

</comment><comment><USER10> Did I miss the demo gh-page ?

</comment><comment><USER11> Cool. I have a nit:

91 for Mac meta/command is the left-hand button in webkit only. It's 224 in Firefox, and the right-hand one in webkit is 93.

Also, how to I bind to page up/down?

</comment><comment><USER12> Why is IE < 9 support a low priority? Adding support would be pretty simple and wouldn't add much code, and IE < 9 is still used by a significant proportion of users.

</comment><comment><USER13> Please add todo for unbinding key maps (specific/all). For example if page contains ajax loaded partials.

</comment><comment><USER14> Why do we have a semicolon at the start?

;(function(global)

</comment><comment><USER15> Look, github is great and all, but will linking to your github repo really entice me to use your library? If its brownie points you're looking for in using github, you lost them by not providing a demo of the library and only a tiny bit of code that explains what it does.

<comment><USER16> One of things I like about github is that it's done a great job of enticing developers to write good README files. I've seen many projects that do a fine job of introducing the project, listing things like license, dependencies, etc., and showing example code of how it works. Often times it also links to a demo or screencasts. For most projects, this seems good enough -- most project web sites don't add any more value.</comment></comment>


Improving Performance of PHP for Arm64 and Impact on Amazon EC2 M6g Instances - <AUTHOR> https://idk.dev/improving-performance-of-php-for-arm64-and-impact-on-amazon-ec2-m6g-instances/ <comment><USER2> With Apple and Amazon pushing ARM this hard, we should see some amazing chips in the next 5-10 years.

I haven't been this exited about hardware in a long time. Maybe it's because of my Raspberry Pis, but I'm childishly giggly.

<comment><USER3> I'm also not sure why I'm excited about ARM64 hardware as well. At least it's partly because in the imbedded world ARM operating systems are prevalent.

Also, it's clear Intel rested on their laurels and resisted real innovation for a _long time_. Now with heavy hitters entering the field (Apple, Amazon, etc), hopefully we see some real innovation in this silicon space.

What I'd like to see is SoCs with accelerated AI chips, similar to what's in the recent iPhones. If that type of hardware becomes widely available on the macs we almost all of us in SV develop on, then the libraries will follow.

<comment><USER4> Almost all develop on? lol!

<comment><USER5> Some people live in bubbles within bubbles.

Fortunately, we have data to confirm our suspicions: [https://insights.stackoverflow.com/survey/2020#technology- de...](https://insights.stackoverflow.com/survey/2020#technology-developers- primary-operating-systems)

<comment><USER6>
        Windows   45.8%
        MacOS     27.5%
        Linux     26.6%
        BSD       0.1%

Huh, I didn't expect the split to that even. That's pretty gratifying, in my opinion. That's far, far closer to 33% per major platform than I thought possible. (all possible apologies to the BSD demons out there, we love y'all and I wish it were more like 25% per major platform, all 4 of them)

</comment></comment></comment></comment></comment><comment><USER7> There are lots of work happening on Ruby as well. Example [1]. It seems everyone is hiding their geeky excited inner child and having fun working on it.

I am starting to wonder if Apple timed this all along or did the two ARM announcement all within 6 months happens to be coincidence.

[1] [https://bugs.ruby-lang.org/issues/17021](https://bugs.ruby- lang.org/issues/17021)

</comment><comment><USER8> The correct url is: [https://aws.amazon.com/blogs/compute/improving- performance-o...](https://aws.amazon.com/blogs/compute/improving-performance- of-php-for-arm64-and-impact-on-amazon-ec2-m6g-instances/)

</comment><comment> rob-olmos (In case this isn't changed to the official AWS blog link)

"There are two other patches that impact the performance of the WordPress- NGINX benchmark, and both have been applied to master and PHP-7.4 branch:"

A patch to disable the use of huge pages in memory allocator fixed a 10% performance regression: [https://github.com/php/php- src/commit/928c42211f737640e4dc3c...](https://github.com/php/php- src/commit/928c42211f737640e4dc3c9702ba833c3059bddf)

The patch to enable the Zend Optimizer on ARM64 accounts for about 5% of better performance on M6g instances [https://github.com/php/php- src/commit/4d7df449d0ab389b01b45f...](https://github.com/php/php- src/commit/4d7df449d0ab389b01b45fa1bb9bf2b4a8755545)

</comment><comment><USER9> > "The JIT is currently developed on x86 and is based on Lua's JIT. As Lua's > JIT supports ARM64, ..."

I'm confused when they say it's based on LuaJIT? Do they mean PHP is being transcoded to Lua and run by LuaJIT.

Or do they mean that PHP-JIT is based on "DynASM" \- which is a subproject of LuaJIT?

[http://luajit.org/dynasm.html](http://luajit.org/dynasm.html)

<comment><USER10> Yes, they are using DynASM. [https://github.com/php/php- src/blob/master/ext/opcache/jit/R...](https://github.com/php/php- src/blob/master/ext/opcache/jit/README.md)

</comment></comment><comment><USER11> They have their work cut out for them if they want to support PHP 8 on ARM since that version will come with a JIT.

<comment><USER12> The article includes benchmarks of PHP8 beta on AArch64.

Quoting: "PHP-8 plans to feature a new JIT compiler that optimizes the PHP byte-code in the Opcache. The JIT is currently developed on x86 and is based on Lua's JIT. As Lua's JIT supports ARM64, we work with PHP developers to enable and to tune the Opcache JIT in PHP-8 to get the best performance on AWS Graviton processors."

<comment><USER11> That's awesome. I haven't kept up... last I saw they were rolling their own. LuaJIT is great.

<comment><USER13> They absolutely are rolling their own JIT (doing otherwise would reduce its value substantially or simply be infeasible.) The sentence above is just badly written in the original article. The PHP 8 JIT uses the "DynASM" library to help generate code in memory — which was originally developed for use in LuaJIT 1. (LuaJIT 2 does not use DynASM for its own runtime code generation, but it does use DynASM instead as a sort of "super" macro assembler when you compile it, making it easier to write its optimized, per-architecture interpreter.)

But "just" putting encoded instructions in a memory buffer is the easy part of it all, and that's all DynASM does. You still need thousands of lines of code backing it up to actually generate the right instructions, and implement appropriate optimizations.

</comment></comment></comment></comment><comment><USER14> Are there similar articles out there for other languages like Python or Node?

<comment><USER15> I'm assuming node already is fast on ARM since it uses the same javascript engine as a major mobile web browser.

<comment><USER16> And CPython is already slow on everything. :D

But PyPy has an arm64 JIT since last year: [https://morepypy.blogspot.com/2019/07/pypy-jit-for- aarch64.h...](https://morepypy.blogspot.com/2019/07/pypy-jit-for-aarch64.html)

</comment></comment></comment><comment><USER17> Now we have following companies agressively pushing ARM64 optimization.

1\. Amazon

2\. Apple

3\. ?? Add your here. :)

<comment><USER18> In the next 15 years, we'll say the same thing with RISC-V.

<comment><USER19> Has there been much traction in building RISC-V application processors? Something like a RISC-V Raspberry Pi style SBC would be interesting to see, but the only thing like that I am aware of was enormously expensive (the HiFive Unleashed @ $999). I think the semi-open, high-volume, competitive ARM SoC market is going to make it very hard for RISC-V to find a niche in higher performing devices.

<comment><USER20> how about [https://www.seeedstudio.com/Sipeed-Maix- Cube-p-4553.html](https://www.seeedstudio.com/Sipeed-Maix-Cube-p-4553.html) ?

RISC-V Dual-Core 64-bit, with FPU and some 'machine learning' accelerator

or cheaper [https://www.seeedstudio.com/Sipeed-Longan-Nano-RISC-V- GD32VF...](https://www.seeedstudio.com/Sipeed-Longan-Nano-RISC-V- GD32VF103CBT6-Development-Board-p-4205.html)

<comment><USER19> Those are both microcontroller-class RISC-V processors (of which there are many), not something capable of running Linux.

<comment><USER20> I get your point.

You still can get linux on the K210 [https://www.cnx- software.com/2020/02/17/how-to-build-run-lin...](https://www.cnx- software.com/2020/02/17/how-to-build-run-linux-on-kendryte-k210-risc-v-nommu- processor/)

and it seems it's mainlined now: [https://www.phoronix.com/scan.php?page=news_item&px=RISC- V-C...](https://www.phoronix.com/scan.php?page=news_item&px=RISC-V-Changes- Linux-5.8)

</comment></comment></comment></comment></comment></comment><comment><USER21> Any benchmarks with x86 proc? Nice to see ARM being supported more and more but what are the performance vs Intel / AMD CPUs?

<comment><USER22> > With the software changes in PHP-7.4 and PHP-8, WordPress can serve up to > 17% more pages per second on M6g.4xl vs. M5.4xl [M5.4xl is AWS's default x86 > processor]. Combined with the 20% lower cost of M6g instances, running > PHP-7.4 and WordPress provides up to 34% better price/performance on M6g > instances vs. M5 instances.

</comment></comment><comment><USER23> Thanks to Amazon and Apple CPUs are Sexy again.</comment>


Show HN: Art as a Service: F(x) → [Object Art] - <AUTHOR> https://theblackbox.ca/hn.html <comment><USER2> I've been mulling on this for a day now. I have some concerns. I am not trying to be rude by asking this, but I think it bears consideration: Do you think that exposing an API to your practice is the means by which "technical people" can access art? Do you think it is the only means?

You make some claims about the "divide" between art and engineering. By inserting yourself as a mediator between these two fields, do you think you are reconciling these worlds? Because to me it seems like you are capitalizing on this difference instead of actually attempting to stitch the rift together. By manipulating liminal markets, you are closely mimicking the behavior of tech startups. Is this in the interest of your art, or just your practice?

<comment><AUTHOR> This process has been helping me define the project, that's for sure. By being an API I would say there needs to be a amount of technical competence, or at least knowledge of how to communicate using it. But communication through an API lends itself to a differing language and conversation. The context and nature of the materials is of log files, and that's my prime concern. Nowhere near the only means of access, there is no divide between technical and non- technical ceramicists. This is just a weird tool in a toolbox, an access method of many. I'd actually love to see what a ceramicist would do around a similar model.

I'm not reconciling any divides, if anything I'm drawing a arbitrary line in the sand when high tide is approaching. Inflammatory at best. What I do know is collage using textbooks, Model M keycaps, square bracket forms and pornography is fun and holds meaning. My engineering colleagues can understand the underlying language more clearly. Where does that come from? But there is a different logging mechanism in the world now that just makes the question `createArt(arg1, arg2) painting` exist, it's an option over doing it yourself but you're the curator. My friends work with IoT devices and collect some fun data, now they can pass it off to me pragmatically.

A few years of HN got to me. But it is modelled after other SASS startups, the model works and I don't have to invent the infrastructure, that's what other services are for (boxes all the way down). But BlackBox is a service, and operates as such. I'm undecided on if this a credit to the work, but it damn well is a property. It's not the first time I've reached for a similar method of expression though. A few years back I created [http://projectexas.appspot.com](http://projectexas.appspot.com) (oh god it's a broken mess) just to showcase/contrast that data. Perhaps this is a extension of that mindset? Thank you for pointing that out, I had not actively noticed! But is it viable? That act of capitalization funds the whole show after all. Operating entirely in the interest of sustaining the practice and possibly finding a market. That's a comment on startup/capitalist culture if I've ever seen one. A few projects have had publicly available APIs [1], but I'm not sure something like this exists.

Seriously though, try asking someone overtly to send you logs/resources, It's kind of hard. I really just want some newspaper clippings and posters from the insides of servers. I really want to be called, to be a funnel for curated data another side effect of a giant mechanism. And if you're reading on Hacker News, there's a good chance you can understand that desire. And I want to talk to you via walls.

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

</comment></comment><comment><USER3> Can someone explain what is this and what it does?

Non native English speaker here who found the introductory lines on the website very confusing.

<comment><AUTHOR> Sorry MrBra, poetics don't usually translate very well.

I'm trying gauging if there is a market for Artworks from a Engineering perspective. It's near and dear to me, but the money just doesn't seem there, support the Arts and all that.

The project is trying to create meaningful Art (paintings) for a technical minded audience. To do this we expose an API for submissions and have a simple web flow for submissions. The content of these submissions is arbitrary, I use them like one would use posters in a collage[1]. As fragments of the whole.

There are no examples of my work, nor will there be. It's up to you to jump in. For that, we have the docs.

[1]: [https://en.wikipedia.org/wiki/Collage](https://en.wikipedia.org/wiki/Collage) [edit: docs]

<comment><USER3> The whole website experience is frustrating.

Are those painting being returned as a digital work or are you talking about actual paintings?

I am trying with Get Started, it is supposed to teach me how to start using the API, I'm presented with only a choice "Oil Paintings". If I click on it, I am then presented a form which asks me to input "some text", upload some images, and type in "some links".

I then go on clicking, thinking that this is just an example of a subset of the API. Instead I am presented with a price indicator slider. I guess the sense of it is "tell me how much you want to pay" but I have seen no example of what the API does and honestly at that point I stopped investigating because I am not interested anymore. This must not have been the part of the website I was looking for.

I go back and see "programmable art". I am not sure again. If the works are being done by a machine using functional programming (where given a parameter the result is the same) why there can't be no examples???

Then my eyes are caught by "Handcrafted Artisanal Emoji", again it's confusing if this stuff is man-made or machine-made and it just feels this has been shoved in the page just as a different fallback product.

Everything really seems unconnected and there is not one clear direction.

Also, you might be the next Victor Hugo, but today you are not that or are not yet known by that, so simply saying "hey trust me, you will like this" it is not enough.

<comment><AUTHOR> Sorry I didn't make it clearer, I'll try and address all your concerns in this monster of a comment.

The API docs are at [http://theblackbox.ca/api](http://theblackbox.ca/api) (in the navbar, and two buttons on the homepage), the _rest of the site_ is a simple form based method to interact with the project. The API is just the "ideal" way of using BlackBox, but it is not the main focus.

These are physical oil paintings [Statement: "Blackbox transforms arbitrary data into physical objects. That's it.", Oil paintings can't be digital, "Talking via Walls"], that take days of effort to put together and a few weeks to dry plus shipping time. This is not a API that returns imagery, it's an API that puzzles over inputs, smokes a bunch of cigarettes and ships a tube with canvas to your door! The API is only for longer running processes. For example, you have a pile of code, IRC logs and photographs it would be better to ZIP them up and upload them through the single-use mechanism. A good use of the API would be a IRC bot that uploads messages off a trigger ["lol" after a message or something] and then finalizes the painting on some other trigger ["!paintitblack"]. The API is meant for piece by piece submissions.

As far as identity goes, visual styles are extremely easy to map to an artist, throwing examples on there is the equivalent of using my real name. I'm not $NAME, making paintings using the visual imagery that devs can understand, painting on stripped apart CRTs and looping videos instead of a static underpainting, trying to move dead Cubism towards continuous methods or trying to create a work to be puzzled over and interpreted. I'm not $NAME with a body of work and documentation, a CV and BFA whose process and history can be understood. I'm a metaphor for/am an opaque mechanism/abstraction with inputs and outputs.

I'm assuming the identity of a piece of infrastructure, an anonymous construct, a neutral mask. BlackBox is a performance piece, that satisfies the Interface for a API, while providing a space (between creator/painter) for exploration of new space (read: Your servers). Blackbox collects materials for collage in a space where corporeal beings cannot! If I simply wanted collage materials, I would wander and collect them. But I want an equivalent in terms of data fragments (logs, requests, error messages, anything!), captured from your infrastructure, preferably in transit.

If I am $NAME, this turns into a way to pragmatically commission my works (although, it currently does satisfy these criterion) and that is just a little less then this project aims for. Collage is investigation.

Examples were going to be self-documenting via a nice unique hashtag on a card allowing the viewer to choose if this is private conversation or public status symbol? A few of these floating around could give you an idea. At the end of the project the full set of my documentation is released and my name, etc.

Although it doesn't really matter, because no one has taken the first interaction. So does anyone even want developer orientated Art? The capitalist answer is No.

</comment></comment></comment></comment><comment><AUTHOR> Creator here, this project stemmed Go Interfaces, #TAKEMEANYWHERE (LaBeouf and company) and there was no existing tool like BlackBox. I created BlackBox for the sake of composing, what will you do with these tool in your box?

I feel it's more coherent then jodi.org, but just barely.

[edit: spelling]

<comment><USER4> Serious question: What do you define art to be? I've taken some introductory Art class, but really never got a clear answer of what art is. How does art differ from kitsch?

<comment><AUTHOR> That's a tricky question because of subjectivity and the shift towards a postmodern lens. The question what is Art becomes entirely dependant on the viewer/creator.

For me Art is the act of expression. To poets, the reading. To painters, painting. To hackers, hacking. The object is simply a object left over documenting the process (although utmost attention is provided to the object during the act).

Kitsch I would define as engaging that creation mechanism with substandard intent. Maybe to copy a photograph with paint, or just muck about on a canvas because there is an hour to kill. When the focus is the documentation, it becomes programming for programmings sake, and loses the artistic merit.

At least, through my eyes.

</comment></comment></comment><comment><AUTHOR> [edit: we should be back up now, please comment on further errors]

</comment><comment><USER5> Looks like it got hugged to death :(

<comment><USER6> For the benefit of those who see the article but can't reach the site, I think one of the interesting parts of the project is the artist's statement about how the idea was sparked by interacting with friends in technical fields who don't have any art on their walls and are sort of caught between not wanting to buy cheap prints or posters and a lack of comfort/vocabulary for obtaining better art.

So, the artist is making an API where your role as the requester is in providing data that the artist will use as inspiration to create and send an oil painting within your budget.</comment></comment>


FAILfaire-discussion of failed mobile projects, NYC 4/14 - <AUTHOR> http://failfaire.org/about/

<comment><AUTHOR> while i know that HN is not an events board and hope it never turns into one - I think this particular gathering is notable because so few events are ever _focused_ on failure as a learning experience.

typically what you get is some uber-successful entrepreneur using their failures as a way to add drama and depth to their story as a smashing success. shouldn't we give a little credit to failure on its own? i think so.</comment>


Hardware cost evaluation of the posit number system - <AUTHOR> https://hal.inria.fr/hal-02131982 <comment><USER2> Facebook apparently achieved a performance gain with their designs [https://code.fb.com/ai-research/floating-point-math/](https://code.fb.com/ai- research/floating-point-math/)

<comment><USER3> For a posit based float with 127 unique unisgned values. If you can tolerate that little precision, you can implement arithmetic as a smallish lookup table.

<comment><USER4> Tensor cores seem like a fit...

</comment></comment></comment><comment><USER5> I have not read the paper yet but the abstract says that they compared two hardware adders synthesized from C++ code. It seems like a fair comparison but I wonder whether it might be possible to hand design a much more efficient posit adder that is more competitive with hand designed floating point adders. I can see how the number of lookup tables used in synthesis would be proportional to the number of gates used on a dedicated chip though so maybe there would be no difference in comparing hand optimized adders on ICs.

</comment><comment><USER6> Bummer. The posit number system ([http://www.johngustafson.net/pdfs/BeatingFloatingPoint.pdf](http://www.johngustafson.net/pdfs/BeatingFloatingPoint.pdf)) is super-cool, and its inventors often speak of its potential performance advantages. On the other hand, their claims did seems a little "too good to be true" \- variable-width fields require mux gates, and somebody needs to pay for those.

</comment><comment><USER7> Am I interpreting the delay results correctly? That's the time needed for the operation add/multiply to complete?

Because there isn't much difference in that regard... values deviate no more than 25%, which is not insignificant, but not overwhelming either.

What I find even more suprising: Is there almost no difference in latencies for FP-operations between software-implemented and hardware-supported FPs?</comment>


I Know I'm Supposed To Follow My Passion. But What If I Don't Have A Passion? - <AUTHOR> http://www.npr.org/blogs/money/2013/05/09/182403459/i-know-im-supposed-to-follow-my-passion-but-what-if-i-dont-have-a-passion

<comment><USER2> There are some advantages to following your passion, if you unambiguously have one. And often there are disadvantages. But pretending to have one is not a reasonable strategy.

As a first approximation, I'm a fan of Cal Newport's thinking on the subject. He claims that passion _follows_ mastery, and that therefore passions are not discovered, but rather constructed, and that deliberate practice can lead you there. My own opinion is that this summary only captures one side of passion, but I think in many ways it's the most powerful side, and also the side that's the most actionable (and thus relevant when someone is asking for advice).

[http://calnewport.com/blog/2009/11/24/are-passions- serendipi...](http://calnewport.com/blog/2009/11/24/are-passions- serendipitously-discovered-or-painstakingly-constructed/)

[http://calnewport.com/blog/category/features-rethinking- pass...](http://calnewport.com/blog/category/features-rethinking-passion/)

It does occur to me, though, that I may be being persuaded by well-polished rhetoric that appeals to my biases, so if anyone has evidence or arguments that he's a slick-talking demagogue, I'd like to hear about it. =]

<comment><AUTHOR> Hey, thanks for sharing that!

So Cal Newport is effectively saying that humans are inherently competitive, and they'll feel passionate about something once they start kicking ass at it.

That certainly helps, and I think it would hold true for people who start off with something they already kind of like. But then there are all those stories of kids whose parents forced them to ice skate or take piano lessons until it completely squelched any passion the kid had for the activity. So, I'm not sure I completely agree with CN.

<comment><USER2> I'm not sure "competitive" captures it, exactly. Sort of? I mean, obviously some people like being better than other people, sure. But I think some people just like being _good_, full stop. But of course you don't know what "good" means without comparing yourself to other people, which means it's sort of epistemically connected to competition. But I think it's still not the same thing.

ALSO, I can think of several thought experiments that appear to contradict CN, and I'll add yours to the list, because I totally agree. I've met kids like that, including an ex-friend who rebounded from his parents' forced piano lessons so hard that he ended up confined to the psych ward. He mastered piano AND violin, but he didn't develop passion for either.

Here's another example that is contrastive with CN. I personally am fascinated by dissecting P&P RPG rules, and assessing which are "good" according to an ill-defined metric that interests no one but me. Does it even make sense to talk about mastery at this activity? I can remember being interested in this when I was a little kid; it's an enduring passion. I don't think it's explicable by "mastery".

These situations illustrate what I meant by "this summary only captures one side of passion".

ON THE OTHER HAND...

I do believe that many-or-all people derive enjoyment from mastery, and at some point this is related to passion. I think the reason I like video games SO MUCH is partly because they let me experience the sensation of mastery, cheaply. When you combine that with a goal of being economically relevant (a goal that I think has both ethical and selfish motivations), it makes sense to cultivate mastery at something useful-and-not-antifun, and hope that the mastery becomes a passion.

And to reply to your cousin-comment, I think some people are masterful and passionate about getting the details right, and they can be tax auditors, and their passion overlaps with their work. And some people can be masterful and passionate about intricate systems, and about securing victories, and they can be patent lawyers and their passion overlaps with their work. I am 100% sure there are passionate patent lawyers. And some people can be masterful and passionate about... bullying people? I dunno if anyone can be passionate about debt collection, actually, but two outta three ain't bad.

</comment></comment></comment><comment><USER3> It's a BS baby boomer ideal that everybody should have some "passion" -- and it should be their work too.

Apparently merely living your life like a normal person (going to school, getting a job, enjoying a few hobbies, having kids, watching some tv, etc, as people in all societies have done for centuries) will not do.

And the "passion" better be something grandiose and pretentious too.

<comment><USER4> I disagree. The problem lies in the definition of "passion," which a lot of people take to mean that it's going to be some sort of thrilling, meaningless underwater basket weaving. In reality, combining interest and hard work can lead to more fulfillment than simply drudging in and out of an 8-hour work day to collect a paycheck. When a person simply believes that they're working for a paycheck, their satisfaction will tend to decrease, as the paycheck starts to seem smaller and smaller with regard to the amount of time they're putting in. 8 hours a day is no small chunk of one's life. It also doesn't have to be the most fulfilling time in a person's day, but to say that having a passion for your work is a BS ideal (and to attribute it to baby boomers at that) is oversimplifying the issue.

That said, you're completely right that living a normal life is not enough for some people. These people will tend to be either extraordinary or extremely depressed, all the while thinking they're normal/below normal.

<comment><USER3> > _In reality, combining interest and hard work can lead to more fulfillment > than simply drudging in and out of an 8-hour work day to collect a > paycheck._

And how will that work to fill societies needs for waiters, garbage disposal guys, cleaning ladies, supermarket clerks, miners, clerks, accountants, etc etc? There are tons of jobs where almost nobody has a "passion" for. At worst people follow them because they need to feed themselves, at best because they feel they can do that line of work competently and make a decent buck. No passion involved. They still need to be done.

<comment><USER4> You'd be surprised by how passionate waiters can be about their jobs. None of these claims are universal, and not everyone can be passionate about their jobs. I agree that society needs garbage men (and garbage men actually get paid quite a bit), but that doesn't mean that for those of us who have more of a choice/desire to find fulfillment in work we should completely ignore the idea of seeking such fulfillment because some others choose not to.

</comment></comment></comment></comment><comment><AUTHOR> ...then you become a well-paid cog working for someone else who does have a passion.

<comment><USER3> Or a non well-paid cog. Like 90% of the people out there, you know.

In what universe there are either people that "follow their passion" or "well- paid (!) cogs"?

<comment><AUTHOR> Yes, or a poorly-paid cog... The point of the article was that you can better optimize your earning potential if you don't follow a passion.</comment></comment></comment>


Why I became an Android fanboy - <AUTHOR> http://news.cnet.com/deep-tech/?tag=rb_content;overviewHead

<comment><USER2> I like Android's openness and the freedom to hack it.

I'm just concerned that Google may be too accepting of poor moves from hardware and network partners just to gain market share and penetration.

HTC's Sense UI is a mild example of this, but I've seen what Vodafone does to phones in the name of branding and it sucks. Disabling half of the phone's hardware capabilities for arbitrary PHB reasons, polluting the phone unboxing experience with their crapware apps all over the place.

Apple didn't stand for that, and I'm glad they didn't. I hope Google will have the balls not to, either, because Android is starting to grow on me and may be on my next phone, even though I'm still in the Apple camp.

<comment><USER3> This only relates to this one device, but I have a Nexus One on Vodafone and was pleasantly surprised to find Vodafone didn't mess with it in any way... it's virgin android. Lovely.

Of course, they may revert to their old tricks on future models. Just don't let it hold you up getting one now.

<comment><USER4> That's because it's a "Google experience" phone. Any phone that has the Google logo on it can't be messed with in any way. Vodafone couldn't mess with it if they wanted to since Google wouldn't let them sell it if they did.

<comment><USER5> Then Google needs to back up "Google experience" with some customer service. Otherwise, that term will mean "nifty device, bad service" forever.

<comment><USER6> I don't see why another company couldn't do the service part, and it could still be the "Google Experience".

<comment><USER5> There's chicken & egg problems here that Google is in a better position to overcome. If no one buys a "Google experience" phone because the customer service is bad, then there isn't going to be a big enough market to make a 3rd party company profitable.

<comment><USER6> Usually when I buy something I speculate on there being no customer service experience at all. My N1 works fine, no need to get in touch with Google.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> _First, the browser. Web pages load fast. Even with a Wi-Fi connection, the Ion and iPhone 3G just didn't have the processing horsepower to fetch the bits and parse HTML well. The Desire was the first mobile phone I've used that felt like a member of the broadband era, not the dial-up era._

Not a fair comparison. The iPhone 3GS would be a better comparison in this case. He's essentially giving the iPhone a 1 generation handicap.

<comment><USER7> I've got a Desire and it renders pages about 30/40% faster than a 3GS.

And that's before the Froyo update which is alleged to have 2 to 3x speed increase due to JIT goodness...

<comment><USER8> I doubt JIT will do anything to speed it up, since it's likely that the browser component is 100% native code.

</comment></comment></comment><comment><USER9> One nit to pick: some Android phones do have the pinch-to-zoom enabled in the default browser. I know for a fact that my Droid does, and I believe the Nexus One has it as well.

<comment><USER10> 'strue (N1 here) but it does not work all that well. you can also zoom by double-tap or by using a pair of +/- buttons at the bottom of the screen, and I often find myself zooming accidentally by hitting the latter.

As a matter of fact I'd say the browser is one of the weaker aspects of the phone. I hope they improve this soon; I'm not sure what impact Android 2.2 will have, but my understanding is that it's only out to developers this week, rather than the general public for a while yet.

<comment><USER11> I really, really like the double-tap functionality in the browser. It's great for reading articles and HN. I don't know why he griped about the animation for it - I find it one of the key features of the browser, and would miss it desperately if I used any other phone.

I do wish there was an option to disable the +/- buttons from appearing, though - with pinch and double-tap, I never need them..

<comment><USER12> > I do wish there was an option to disable the +/- buttons from appearing, > though - with pinch and double-tap, I never need them.

Agreed. CyanogenMod makes this easy, but it should be added to the stock OS.

</comment></comment></comment></comment><comment><USER13> A link to the article itself (instead of the blog): [http://news.cnet.com/8301-30685_3-20005011-264.html?tag=mnco...](http://news.cnet.com/8301-30685_3-20005011-264.html?tag=mncol;title)

</comment><comment><USER14> I'll tell you why I'm not an Android fanboy - the confusing UI and inconsistent hardware.

Nothing made this more clear when I was trying to use my wife's Nexus One for turn-by-turn navigation in LA on the weekend. Hidden menus were very frustrating, and the clunky keyboard implementation meant I tried for voice recognition. Firstly, it sends voice recognition to Google (what! Voice recognition on the iPhone blows the Android experience out of the water due to this alone), but we need the navigation immediately (as we realised en-route we needed to stop somewhere else). Then the Android just hangs and gets stuck on some "please wait" screen.

I have never seen an iPhone get stuck randomly unless it's a hard crash. Then I needed to figure out how to 'reset' the map app -- another exercise in frustration. Ultimately it proved easier to use my iPhone and read the directions out myself. It basically sums up every experience I've had with Android - frought with frustration and unnecessary problems.

<comment><USER14> The downvoting in this thread is interesting - it's not like the frustrations being aired are overly harsh or unfair. I think it's fine to air contrary viewpoints, surely.

<comment><USER15> You are most likely being downvoted for muddling the object(s) of your criticism. The Google navigation app runs on Android but so do other navigation apps. You've made a set error in your logic confusing the subset for the superset.

A fair criticism would be to try different apps, weigh them out and present a measured response based on that analysis or specify that you're criticizing Google's app specifically and constraining the boundaries to that app and not the platform it runs on.

</comment></comment></comment><comment><USER16> one more to the "what's bad"

multitasking is arcane and weird.

you never know when you app will be on the back, runing on it's own state. or when it will be killed for memory and the previous state restored. this is mainly a pain with the Aldiko ebook reader he mentions on the article and Opera.

put both of those applications on the background, and go do stuff.

if you didn't used much memory, you get the last book open on Aldiko and opera with the tabs.

if you did used more memory, the OS still show those apps as open (if you hold the home key) but changing to them will give you initial states. no more open tabs in opera. no more the current book open on aldiko. you even get the loading screen again of opera mini.

And since i installed a process killer, that shows what _really_ is running --hint, it's not what the long-press-on-home-button tells you, i keep seeing (and killing) the mp3 store. I have NEVER clicked the mp3 store icon. it does not show up as a battery user on the battery use list. but it's always running... what gives?

but all and all, i like it. android is the PC revolution happening on the mobile market. Just like the mainframe lease is done today, the mobile abusive billing will be soon.

<comment><USER17> The Aldiko and Opera issues you mention are bugs in those programs, not in Android. They aren't properly saving their states.

<comment><USER16> Let's try another one then.

1\. open gtalk. (this one should be coded correctly, right?) and type anything. do not send.

2\. long press home.

3\. go to another app. let's say, browser.

4\. long press home.

5 select gtalk.

awesome! your text is there. awaiting you to send it.

now, repeat step 1 to 3. but this time also open google maps, and google earth... and let's say google navigator (you are tring to confirm where something is)

now proceed with steps 4 and 5.

oh no! your text is not there anymore! did the guys that coded google talk do not know how to use their own OS? or you just took your information out of nowhere?

<comment><USER17> I consider that a bug. From what I've heard, Android makes handling app switching straightforward to handle from the programmer's perspective.</comment></comment></comment></comment>


Are top CS theorists nice people?  Would they even talk with you?  (comment 25) - <AUTHOR> http://blog.computationalcomplexity.org/2009/09/why-you-shouldn-not-go-to-focs.html

<comment><USER2> Wow, I had the luck of meeting Aaron a few years ago. I have actually referenced him as when I learned the limit of my own intelligence - I had a 4.0 gpa as a CS major and thought myself quite bright, until I was simply blown away by the orders of magnitude greater ability to think about complex problems that he possessed.

It's incredibly disheartening to read that post. It seems tragic that someone like Aaron would be shut out due to not attending the right school.

</comment><comment><USER3> I met Simon Peyton-Jones at a dinner once, and he came across as a really nice guy. He seemed interested in what I was doing, even though it's leagues away from what he does, and not nearly so 'interesting'. Highly recommended.

<comment><AUTHOR> He is not a member of this community.

<comment><USER4> SPJ's not a member of the top CS theorists?

<comment><AUTHOR> His research has nothing to do with what is considered CS theory in the US and Canada.

<comment><USER5> "His research has nothing to do with what is considered CS theory in the US and Canada."

So what _is_ considered CS theory in the US and Canada?

<comment><AUTHOR> See:

<http://rjlipton.wordpress.com>

<http://blog.computationalcomplexity.org>

Also check out the STOC, FOCS, and SODA conferences.

<comment><USER6> So your assertion is that theoretical computer science is complexity theory and algorithmic analysis?

How about any of these?

Semantics

Concurrency theory

Theories of refinement

Type theory

The Curry-Howard Correspondence (and results derived from it)

(Finite) automata

...

Shall I go on?

Those are all "theoretical CS". Programming language theorists qualify as "theoretical CS" practitioners in most cases. Simon Peyton Jones certainly qualifies.

I think you have a strange, narrow definition of theoretical CS that isn't shared by many people.

<comment><USER7> _I think you have a strange, narrow definition of theoretical CS that isn't shared by many people._

You're wrong in the "not shared by many" part.

[http://weblog.fortnow.com/2009/03/lets-congradulate- gerard-h...](http://weblog.fortnow.com/2009/03/lets-congradulate-gerard-huet- who.html)

<comment><USER6> > _You're wrong in the "not shared by many" part._

At least the first dozen comments on that link support my position that programming, logic and semantics are all "theoretical computer science". You appear to have produced an example of one person questioning whether his definition of TCS is too narrow, and then pages of comments from people telling him that it is.

What was your point, again?

<comment><USER7> _What was your point, again?_

You obviously didn't read the thread.

Highlighted therein is the contrast between TCS scenes in US and Europe. That is the amichail's point. These are two separate communities scarcely communicating with each other.

In the "first dozen of comments" you have Mitzenmacher, member of program committee of leading US conference comparing your field's importance and utility for TCS (as defined in the US) with that of e.g. chemistry's.

<comment><USER6> I did read the thread, thanks.

The "contrast" is being highlighted, but I can't see anyone in there seriously advancing the idea that all of the things I've described aren't "theoretical CS" - they just suggest that there aren't many people in the US doing them. One commenter rightly notes that there are plenty of people doing the kind of "theoretical CS" I'm talking about at CMU, for example (and I can think of a handful of other places doing similar work in the US).

So I stand by my original assertion: the definition of TCS as being exactly complexity and algorithmic analysis is a particularly narrow definition that is inconsistent with the way in which most people use and understand "theoretical computer science".

<comment><USER7> I won't argue about semantics of theoretical in theoretical computer science.

It is my experience that people in casual conversations automatically assume topic to be complexity theory, despite I'm in Europe.

Or maybe I will, just a bit ;) Because in fact, in casual conversations noone seem to be insiting, or in fact using adj. theoretical when talking about languages, semantics, logic, universal algebra, category theory. This is computer _science_ after all, no need for special adjectives. It would be a bit like calling category theory a "theoretical mathematics".

Fact is, major part of the community uses term exclusively in the meaning we talk about. It could be argued if rightly and people outside may justifiably think in broader sense. Maybe better words could be found instead of theoretical, such as "analytical", and in fact I recall one of European departments reorganizing into two institutes, one for "Analytical CS".

<comment><USER6> I think the distinction is useful as it stands. Given that a lot of computer "science" is an applied "science" (I use scare quotes deliberately because I think some of the "science" content is dubious), the "theoretical" distinction makes it obvious that you're talking about a _theory_ of computer science, not the application of those theoretical concepts to create things.

> _It is my experience that people in casual conversations automatically > assume topic to be complexity theory, despite I'm in Europe._

What one community decides to define itself as isn't really a concern of mine. I'm also in Europe and I've found that "theoretical computer science" is pretty widely understood to mean the kinds of things I'm arguing that it means.

> _It would be a bit like calling category theory a "theoretical mathematics"_

So why would it make any more sense to apply it to complexity theory? It's not like work on languages, semantics or logic are any more "applied" than complexity.

<comment><USER7> _What one community decides to define itself as isn't really a concern of mine._

Ehh, then I won't be able to convince you that it's not true that what you called crazy view on TCS is in fact common view. Not that I was able to do that anyways; I'm not that eloquent.

Amichail said SPJ is not member of that community and that's perfectly true. You opted to that on ontological grounds. Fine. I've shown that leaders of CS theory in US doesn't give a flip about that ontology and just mind their own business. TCS community is fragmented in two disjoint ways.

Why T in TCS then at all? Maybe because most of people are not linguists and doesn't care. Mathematicians for example doesn't care at all about naming. Most common path of least action is just call the thing by the surname of whomever was loudest shouting about it. They rightly assume it's just irrelevant anyways even if troublesome at times. By the Arnol'd principle name almost never reflects of who actually made the discovery anyways and the rest of msthematics' ontology and semantics is horrendous, [http://cornellmath.wordpress.com/2007/07/12/unfortunate- math...](http://cornellmath.wordpress.com/2007/07/12/unfortunate-mathematical- names/). I can perfectly imagine category theory being more relevant to programming than resolving PvsNP. Conversely TCS is about computation and computability and rest are further abstractions, so this can be argued any way one wants.

<comment><USER6> > _Amichail said SPJ is not member of that community and that's perfectly > true._

My argument was that it is impossible to exclude SPJ from any sensible definition of "theoretical computer science", unless you are taking those words and re-defining them to mean something other than what they actually mean as a collection of words.

I accept that there may be a group of people who call what they do "theoretical computer science", and who believe that nothing else is "theoretical computer science", but in that case, the onus is on those people to remember to translate "theoretical computer science" as a term into "complexity theory" when they talk to people outside the complexity theory community, because the rest of us have a much stronger claim to the general meaning of the term, which encompasses both this idiosyncratic use of "TCS" as well as all of the other things that it can correctly be taken to mean.

Allow me to make my argument entirely concrete:

Let's say that I do "organic chemistry" and I go to organic chemistry conferences with other organic chemists. Obviously there are other sub- branches of chemistry. If I decided to stop calling what I do "organic chemistry" and start calling it just "chemistry" instead, to the exclusion of any other kind of chemistry, you can understand why people would be very confused (and probably a little annoyed) when I start telling them that Alfred Nobel wasn't a chemist.

I will go even further to say that the test for a sensible definition of "theoretical computer science" is probably which people it includes, and SPJ would probably be on that list, IMHO (along with Hoare and Milner and countless others who are excluded by this supposedly widely-held definition).

And I really don't think it's widely-held _outside of the community that calls itself the TCS community_ , which by definition, doesn't make it a "widely held view", does it?

<comment><USER7> _impossible to exclude SPJ from any sensible definition of "theoretical computer science"_

Yes, there is. Vide my last sentence above.

Proving that is futile because you want to argue anywas and as I said I'm not that eloquent.

Nobody takes away from SPJ of what he is.

Edit: you expanded your argument after I wrote above. I don't feel like I have anything useful to say. Not that I felt that in the first place, I just gave a counterexaple showing of how world stands. Next time I'll run into someone I'll first ask what school he attends and who is his advisor instead of arguing about what he semantically meant describing his field. Then it would be evident what he works in and if we have anything to learn from eachother insetad of wasting our both time for idle argument.

<comment><USER6> > _Next time I'll run into someone I'll first ask what school he attends and > who is his advisor instead of arguing about what he semantically meant > describing his field._

If you actually meant the reverse of that, then I agree that would be a far superior topic of conversation than school of origin or advisor.

<comment><USER7> No, superior way would be to refrain from talking with people at all when I clearly see I'm not up to challenge. Especially to refrain from meta discussions.

As Richard Hamming said, one may either just do research accepting things as they are, or changing people's minds, but not both.

By the way, last time I checked there was no satisfactory definition of "computer" amongst various theoretical computer sciences. Thank god it's not my problem.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I do research in an area that is tangent to CS theory. My experience with meeting some of these people is exactly this: they will not pay attention to you if you are not from their clique.

Also, every time I visit this blog I see comments on the same theme: that theory-oriented conferences are managed by a clique, that others don't feel welcome... So, my general feeling is that they have deep problems in their community (and I don't mean theoretical problems).

<comment><USER6> That's actually true of computer science in general. Ever turned up to a web conference? Or an OO conference? or a Java conference? I guarantee you that I feel as out of place and excluded in any of those forums as I'm sure you do in a theory conference.

The thing about any "community" that is well-defined enough to justify having its own conferences is that it has its own set of foundational assumptions and jargon, and conventions. If you don't know these things, you're going to have trouble participating at a high level.

I don't think it's so much that people will not "pay attention" to you - it's probably just that what you are saying isn't very interesting. The thing about non-theory CS people interacting with theoretical CS people is that they usually present exactly the same arguments/problems/ideas that everyone else does. Believe me, you get _really_ bored by the seventeenth time you have to address the question "but what if the theorem prover has bugs in it?!", pronounced with the swagger of someone who believes they have just hit upon a novel idea.

I imagine that if I turned up to a gathering of high-energy particle physicists, I don't think they would pay much attention to my thoughts on the subject either.

It's not dismissive behaviour, either. It's actually just a common mistake within CS to believe that you can turn your hand to any part of CS - you're essentially participating in a very high-level discussion.

To answer the original question, I've found people in the top echelons of theoretical CS to be extremely patient and friendly.

I asked some really silly questions of top researchers (in one-on-one or small group situations) as an undergraduate that probably _deserved_ to be answered with disdain - I still cringe in retrospect. The most biting retort I ever got was "Oh, that's covered in <such-and-such-a-paper>, which is worth reading if you're interested in this". Hardly a telling-off. For the most part, people have always taken the time to explain things from first principles, or re- state them in ways that I could understand.

The idea of the ivory tower is a bit of a misconception. You're talking about very, very smart people who are usually more than accommodating when it comes to answering genuine questions or just engaging in discussions. I would jump at the chance to talk to them about anything and everything - it'll be interesting to say the least, and they are some of the nicest people you'll meet in CS.

<comment><USER2> Clarifying point - although coliveira's comment was as something of a true outsider, the original comment in the linked article was from a published phD student in theory who felt snubbed based on his response to "What school do you go to?"

<comment><USER6> Oh, duly noted. That wasn't obvious to me from my initial reading of the article.

That said, that's certainly contrary to my experiences. Most smart people are suckers for interesting research, and if you're doing something interesting, people will feel like discussing it.

Of course, most people often like talking about their own work more. If that's really a concern, just school up on the work of a few people and ask them about their research in a semi-intelligent way. It's just human that we're often much more interesting to ourselves than other people are.

</comment></comment></comment></comment><comment><USER9> Much of this is likely psychological -- in casual conversation at conferences, I definitely ask people about what school they go to rather than what their research project is. Whenever I ask someone about their research project, they launch into an often lengthy synopsis which typically requires ten minutes of clarifying questions to even understand. Then, they may offer to forward me their paper which I must accept or feel callous.

<comment><USER10> How about "what are you working on, in ten words or less?" it sounds mean, but it really _is_ what you want from the other person, isn't it?

</comment></comment><comment><USER11> It's important to understand that when you're young, it can be difficult to tell the difference between elitism and social awkwardness.

<comment><USER12> That still doesn't explain why conferences in _other_ CS fields felt so much more welcoming to the OP.

</comment></comment><comment><USER11> Complaining about "Ivies" in the context of CS theory is a bit goofy. Princeton is in the top echelon for theory, but I'm not sure the other Ivies would crack the top 5.

<comment><USER13> 'Ivies' is used (erroneously)* as a blanket term to descibe a number of elite institutions (think Stanford, MIT, Caltech, Berkeley, top LACs, etc.)

... connotation.

<comment><USER14> the correct term is "top tier" or "tier 1" schools. The "ivies" are a sports league of schools that all happen to be good at academics: dartmouth, harvard, brown, columbia, yale, princeton, upenn, cornell.

<comment><USER13> I'm well aware of this. I was simply remarking on how it is sometimes used.

</comment></comment></comment></comment><comment><USER15> Rajeev Motwani was a very nice guy and would certainly talk to you. He's the only top CS theorist I've met.

</comment><comment><AUTHOR> If it is indeed the case that many of them are dismissive to those who are not likely to be useful to them in research, is this logical behavior?

CS theory requires the highest IQ of any subfield of CS to succeed at the highest levels, so perhaps this behavior is reasonable.

<comment><USER16> I spent a month at Princeton this summer, working alongside current Princeton students and a handful of the people that work at Princeton.

Princeton people are usually very bright. Not all of them are—many of them are capable of regurgitating academically and not much more—but overall it's a community of smart people. It is _not_ , however, particularly brighter than a handful of other communities. Perhaps there's less riffraff, so you only have people above average there, but there's this perception that you have to be a genius to be Ivy and that's simply not true.

Until my stint at Princeton, I was a "Princeton child". I grew up loving Princeton, I wanted to have a Princeton degree on my resume and live in the enormous castles that Princeton calls dorms. After staying there, I came away with the perception that Princeton's a great college, but it's not head-and- shoulders above any number of other great colleges, and there's nothing special about the people that go there. (They also put up fake ivy on new buildings, which I consider false advertising.)

Another way of putting it: The smartest group of people I've ever worked with was a group of twelve writers who I met when I was sixteen. They were all pretty remarkable people. Of that group, two went to Princeton, one went to Brown, a handful went to schools like Vassar and NYU, and a few went to shitty NJ public schools like I did for a year. So when you're talking to people from shitty public schools, remember that there're people there who could put half of Princeton to shame. Not everybody there's going to be brilliant, but not everybody at Princeton's brilliant either.</comment></comment>


OpenBSD Foundation Welcomes First Iridium Donor: Smartisan - <AUTHOR> http://undeadly.org/cgi?action=article&sid=20161123193708 <comment><USER2> That is, their first iridium-level donor; Smartisan gave $280K (!)

Does anybody know anything about Smartisan? What differentiates their devices and OS from other Android devices and derivatives?</comment>


Netflix: Container Scheduling, Execution and Integration with AWS (2016) [video] - <AUTHOR> https://www.youtube.com/watch?v=4OLlKGT7aVQ <comment><USER2> I get scared every time a big company releases their framework, fearing that it will become the new standard to build even the smallest of websites.

I've used React extensively and you're almost forced to use it if you want to be hired anywhere (I'm talking front-end development).

The trend nowadays seems to be to adopt any framework that huge companies use thinking that it'll be good for you. Honestly, do we really need all the complexity of the what the biggest social network in the world uses, to build a project 1/1000 the size?

I'm sticking to PHP/MySQL because I'm productive with them, I build small apps used by 10-20 employees at the most, I don't need NoSQL to scale horizontally to million of users and don't really need Node since it doesn't really matter if it's real time and PHP is found on every hosting platform—including the one all my clients have been using for years. I currently use React but all I do is CRUD operations and some visual effects, I'm thinking about moving to web components to lose Webpack, Redux, Babel, and a 200MB installation to save 100-200 orders/week on a database.

<comment><USER3> Personally, I really dislike PHP, but I agree with your sentiment. You do what you have to do to solve your customer's problems, using tools you know will work.

At work I have written a couple of CGI scripts in Perl, because that was the easiest, fastest way to get a working solution to a relatively small problem. I know CGI is totally '90s, and Perl has not been hip for at least a decade, but damn it, it gets the job done quickly without fuss.

I kind of suspect that with PHP the situation is comparable to Perl - you have a well-tuned, mature interpreter, a rich library ecosystem for almost any task you can think of, and a community of experienced developers.

<comment><USER2> Definitely.

PHP isn't perfect at all, with all its inconsistencies and counterintuitive constructs, but it works great. Lots of libraries you can install with Composer, most people know at least some PHP.

On top of that, unless WordPress isn't rewritten in a new language (which won't happen) PHP won't go anywhere.

Perl is fine, too. We solve problems for clients who pay us to get the job done, not be brag about how we use the latest, coolest technology.

</comment></comment></comment><comment><USER4> Why should they release it?

<comment><AUTHOR> This site was mostly created as a joke after I watched a couple of @aspyker's great presentations about Titus and realized that we have a huge amount of exciting work to do to get our own container platform on AWS to the same level.

Netflix should do what makes sense for them. I understand that doing a good job of releasing a very complex piece of software as open source is hard and takes a lot of effort.

<comment><USER5> Could be a more useful site if it had been on a domain like [http://www.isitopensourceyet.org/netflix/titus](http://www.isitopensourceyet.org/netflix/titus) or similar. (note domain does not exists. At the time of writing...)

<comment><AUTHOR> I'll happily create a redirect once you build that for us. :)

</comment></comment></comment></comment><comment><USER6> Seems there are plans in the works via clouddriver: [https://github.com/spinnaker/clouddriver/search?utf8=%E2%9C%...](https://github.com/spinnaker/clouddriver/search?utf8=%E2%9C%93&q=titus&type=)

I'm sure they will eventually, but it probably takes a big amount of effort to prep and polish something for oss consumption. Thankful for all the netflix oss tools that are already in the wild!

</comment><comment><USER7> There are other container schedulers that run on AWS, after all: Mesos, Kubernetes, Diego, Nomad and probably a dozen others.

Several of these are built into platforms: Mesos in DCOS; Kubernetes appears in Deis, Rancher and OpenShift; Diego appears in Cloud Foundry (for which it was created to replace a previous scheduler).

Disclosure: I work for Pivotal, we contribute to Cloud Foundry and our Spring folk do a bunch of work around Netflix OSS.

<comment><AUTHOR> This thread has some of the motivation for why Titus is exciting in my opinion: [https://news.ycombinator.com/item?id=14526452](https://news.ycombinator.com/item?id=14526452)

Kubernetes, Mesos/DC/OS and the various other options are all valid solutions if you need to run in many diverse environments. Titus runs (ran?) on top of Mesos before they built an ECS integration.

That being said, there's interesting benefits to the approach of not trying to abstract the IaaS and deeply integrating with one or two clouds instead. You get to leverage much more of the cloud(s) you've decided to adopt if you don't immediately try to abstract them away.

<comment><USER7> > _That being said, there 's interesting benefits to the approach of not > trying to abstract the IaaS and deeply integrating with one or two clouds > instead._

I actually thought about mentioning Convox in this vein, as it is intended to be for AWS only.

> _You get to leverage much more of the cloud(s) you 've decided to adopt if > you don't immediately try to abstract them away._

It depends on the services. For the bulk services (blobstores, VMs, networking, queues, databases etc) the big 3 support, you can usually have some degree of migration without too much pain, if you're using one of the platforms correctly.

For example, on migrating a Cloud Foundry platform from AWS to GCP, you can switch your service brokers from AWS to GCP. Apps that ask for a database won't, in general, know or care who's providing it.

Another thing is that a fair amount of the specialising services now have portable alternatives. A good platform can integrate these on an equal basis. At the moment there's an effort to extract the Cloud Foundry service broker model so that it can also be used by other platforms[0], so this will become even easier with time.

Where AWS still have a sustained lead is on sheer breadth of offerings. But my hunch is that Google know this is the first real opportunity to produce a second revenue stream comparable with advertising. They're going to brute force their way to near-parity with a lot of engineering and money.

[0] [https://www.openservicebrokerapi.org/](https://www.openservicebrokerapi.org/)

</comment></comment></comment><comment><USER8> [https://www.slideshare.net/mobile/aspyker/netflix-and- contai...](https://www.slideshare.net/mobile/aspyker/netflix-and-containers- titus) says: "Deeply support AWS (not trying to abstract IaaS)". I'm wondering how much value Titus has outside Netflix as compared to say Hashicorp's Nomad?

<comment><USER9> So, disclaimer: I work on Titus.

We have a lot of odd integration points with _Netlfix OSS_ and AWS.

It's funny, but providing simple things like a metadata service is valuable. Our internal Service Discovery relies on it (which is OSS). Also, VPC- integration isn't in Nomad, and again, the Netflix ecosystem expects it. These little integrations make your container appear more EC2 VM/Netflixy, and help leverage the ecosystem.

<comment><USER10> That makes a lot of sense.

Releasing this even without abstracted integration sounds reasonable to me - this is a system you built primarily for internal use, and you're engineering strictly atop AWS.

If the community wants support for other providers, someone else can come along and re-integrate with another provider, and maybe see if/where it's possible to collaborate with you guys on small changes that allow for easy maintenance for everyone.</comment></comment></comment>


Do Your Estimates Suck? - <AUTHOR> https://landshark.io/2020/02/12/do-your-estimates-suck.html <comment><USER2> I applaud the willingness to be open about how bad one's estimates are. However, I don't think the full significance of the low correlation coefficient is appreciated here. It's not just that the estimates need to be multiplied by 3 (or 4 or any other number). The correlation coefficient would not go up if one did that.

The real lesson is that knowing the estimate, doesn't really tell you much about how long it will take, regardless of how you modify it. This is important to realize.

I talk about this more here, in the first section: [https://www.rosshartshorn.net/stuffrossthinksabout/managing_...](https://www.rosshartshorn.net/stuffrossthinksabout/managing_software_developers/)

But long story short, the real lesson is not to spend too much time on predicting, but rather on prioritizing.

<comment><AUTHOR> > Managers are so deeply prejudiced against the idea that their job requires > predicting something which is intrinsically unpredictable, that they will > refuse to believe this regardless of how much evidence is presented

Good quote. The tool I linked to is in part built to provide evidence of the difficulty of prediction.

> The real lesson is that knowing the estimate, doesn't really tell you much > about how long it will take

Yes and no. My guess is that most teams can improve their accuracy to some degree if they track their accuracy over time. I agree in your greater point of inherent unpredictability though.

</comment></comment><comment><AUTHOR> Author here. I'd love to hear from anyone that finds the free estimate evaluator I link to in the article useful.

Here's a direct link for the impatient: [https://without.fail/estimate- accuracy/](https://without.fail/estimate-accuracy/)</comment>


Retro game fun in the city: life-size version of "Pong" - <AUTHOR> http://www.amusement.net/2013/07/31/retro-game-fun-in-the-city-life-size-version-of-pong-presented-in-nantes/ <comment><USER2> Can we get Mame running on city billboards please ? :-)</comment>


User finds crypto miner in "free" 3D modeling software - <AUTHOR> https://www.reddit.com/r/3Dprinting/comments/bsnez3/psa_gentleman_in_creality_fb_group_discovers/ <comment><AUTHOR> Quoting:

 _little blurb about it on the CEO 's linkedin [https://www.linkedin.com/in/rafael-lima- ab97a860/de](https://www.linkedin.com/in/rafael-lima-ab97a860/de)

We are creating the first decentralized computing network, distributing professional free software and monetizing it through crypto mining and blockchain Technology._</comment>


How are you spending your time? - <AUTHOR> http://oskarth.com/spendtime.html

<comment><AUTHOR> Some context: this is part of discussions that have taken place at Hacker School [0] on learning goals and doing things that scare you as a programmer [1].

0: <https://www.hackerschool.com/>

1: <https://twitter.com/al3x/status/258631420665274370>

</comment><comment><USER2> I am glad you mentioned feedback. For me that has really become a key concept in software engineering and even other areas, like business.

</comment><comment><USER3> I have been looking at ANTLR for trying make a DSL. Ever since I did a Joos1 compiler in school, I'd love to make something awesome.</comment>


Links between Paul Graham's essays - revisited - <AUTHOR> http://www.solipsys.co.uk/new/PaulGrahamEssays.html?YC_News

<comment><USER2> Is there a standard tool that does this? Especially for, shall we say, _highly interconnected_ webpages? I need it for Overcoming Bias.

<comment><USER3> Yes, it's called python.

Write a crawler that examines all local links, and builds a graph (it needn't be anything fancy; a collection of nodes and edges is enough, but you'll have to detect cycles when building the graph), and then print it out in graphviz .dot language.

Then you can feed it into neato [either through a command-line pipe, or construct one using Python's subprocess module], _et voilà_ , instant pagemap! :)

You can also use some of the rendering modes and scrape position data for the rendered nodes, if you want to generate a clickable imagemap.

<comment><USER4> Here's a first cut implementation in ruby. Requires the "hpricot" gem. Outputs a dot file to stdout. <http://gist.github.com/35841>

Output from the above is at: <http://jey.kottalam.net/tmp/obgraph.out>

I tried rendering this with "dot -Tcmapx -oob.map -Tgif -oob.gif" but dot segfaulted after 70 minutes. The code as posted at gist only outputs nodes for articles written by Eliezer in an attempt to make the dot file a manageable size. Tips/fixes appreciated.

<comment><USER2> Yeah, it's that thing with the segfault that I worried about. "Highly interconnected." Thanks for the graph, which I may be able to use for my own purposes even if I can't show it.

There's got to be standard graphing tools for things that are highly connected...

<comment><USER5> When Daniel J. Bernstein made his DAGs of standard crypto algorithms (<http://cr.yp.to/cipherdag/cipherdag-20070630.pdf>) he mentioned that they'd crashed every standard drawing tool he tried. He makes a reference to "...my own drawing tools, which are much more careful in their use of memory." Unfortunately, I'm not sure where to obtain DJB's drawing tools.

</comment></comment></comment></comment></comment><comment><USER6> A tool like this would be ideal in locating the moment when a person stops producing original thought, and starts repacking his old thoughts in new structures.

<comment><USER7> One or two links to an old post would not deteriorate the quality or freshness of content. In fact a lot of times one might be interested to get broader idea of the author stream of thoughts, for the ones not interested thye just have to blind to hyperlinks.

May be it would become restructured content if there are too many outward references like the... "Undergraduate" post. But even that when you look into this post the hyperlinks are for keywords like "essays", "hacker", "computer science", what you "love", hack a "blub" on windows ..

</comment></comment><comment><USER8> This is cool - led me to <http://www.paulgraham.com/javacover.html> in which I read "Historically, languages designed for other people to use have been bad" which makes me feel a little less insane for spending the morning working on my "pet language".

</comment><comment><USER7> In your words what does this graph imply ? I would be great if PG himself can see something through this and respond.

My take: \- The most referenced (high in-links) posts are more dear to PG or most popular/strong in his line of thought.

\- The ones with high outgoing links at times might mean they are restructured thought as 'markessien' noted.

\- For a personal blog like PG's does higher interlinking reduce readability or make the content richer ? I guess the reader chooses this.

<comment><USER9> It measures some combination of how general an essay is, how early it was written (I usually add these links when I first write something, so most links are only backward in time), how much I like it, and sheer randomness (at least half the time I don't bother to add crosslinks).

Larger numbers of outgoing links probably don't imply recycling. If anything it's a sign I think an essay is good and will get lots of readers, so it's worth trying to spread that traffic around. (These predictions are often wrong, though. I find it practically impossible to guess which essays will get lots of traffic.)

<comment><AUTHOR> Is it not worth considering putting "forward" links into older essays, so that when you write an essay it gets referenced by other essays, even when they're older?

Perhaps you don't have time, but would you consider adding links that other people suggest?

It would be interesting to do to this what I do with my SiteMap, and colour nodes darker if they have more traffic.

<http://www.solipsys.co.uk/new/SiteMapExpt.html?YC_News>

</comment></comment></comment><comment><USER10> I like the idea, but it would be more meaningful if you could link for semantic reasons - that would be a very nice tool, could even be used by authors who want to put a book together from various essays they've written, etc. Or help you focus on an area of writing you're interested in by the author. I mention this because looking at the graph you can see that things that are related are not necessarily linked.

<comment><AUTHOR> This would be really cool. Can you suggest a way, given two essays, to decide if, semantically, the first should point to the second? If an author could use a tool like that it would mean that links could be discovered rather than inserted by hand.

That would be valuable ... you've made me think ... I may have a way of doing something close enough.

Hmm.

<comment><USER11> Latent semantic analysis can be used to measure the similarity of two documents.

<http://en.wikipedia.org/wiki/Latent_semantic_analysis>

I found examples in ruby and python in this blog, which is unfortunately down just at the moment [http://blog.josephwilk.net/ruby/latent-semantic-analysis- in-...](http://blog.josephwilk.net/ruby/latent-semantic-analysis-in-ruby.html)

<comment><USER12> Gregor Heinrich has a good paper on Latent Dirichlet Allocation, which I believe is an extension of Latent Semantic Analysis. It is a model which can be used to group documents based on semantic content. He gives the mathematical details and the "punchlines" for implementation. The model takes as input a collection of documents and outputs a topic label for each word in each document. The documents can be plotted in K-dimensional space, where K is the number of possible topics, by using the proportion of each topic in a document as its coordinates. Documents which are closer to each other have topics more similar to each other. You could then use your favorite clustering algorithm or a simple distance threshold to decide which should documents should link to each other.

The paper is here [PDF]: <http://www.arbylon.net/publications/text-est.pdf>

C++ implementation: <http://gibbslda.sourceforge.net/>

(note, I haven't used the C++ implementation).

<comment><USER11> That looks even better. I'm going to try this out in my pet project.

Thank you.

</comment></comment></comment></comment></comment><comment><USER13> I wonder if someone can use the PageRank algorithm or something similar to determine which essays are the most prominent. It's hard to tell with this graph which is the most connected essay - is it "Taste for Makers", "What You Can't Say", "Great Hackers", or something else? It would also be interesting to correlate this with the Google PageRank for these pages, and traffic data (if it's available).

<comment><USER9> Here are the ones that get the most traffic, with daily page views:

         1760 Stuff
          770 What You'll Wish You'd Known
          403 How to Start a Startup
          365 Why to Start a Startup in a Bad Economy
          349 Why Nerds are Unpopular
          294 How to Do what You Love
          274 Web 2.0
          247 Great Hackers
          207 How to Make Wealth
          187 Lies We Tell Kids

<comment><USER14> "Stuff" is my sending the given link to my female relatives to dissuade them from, or to reduce their practice of, being packrats. I'm pretty sure there are other users out there that do the same...

<comment><USER9> You're right. There are rarely referring urls for it, which implies that it spreads primarily by email.

</comment></comment></comment></comment><comment><AUTHOR> Updated again to include new essays. Also, the RSS feed has been removed, and a couple of other spurious links, just 'cos I was there and could do it.

I'm still interested in additional links based on semantics.

</comment><comment><USER15> Awesome!

One small thing, it looks like you included the RSS link from the bottom of the page in the list of essays.

<comment><AUTHOR> Re RSS: Hmm. Oh well, Wabi Sabi.</comment></comment>


Your brain is your key: Brainprints could replace passwords - <AUTHOR> http://www.binghamton.edu/magazine/index.php/magazine/feature/your-brain-is-your-key <comment><USER2> And you're supposed to change it every 90 days ;)

No, seriously: things you _know_ and things you _have_ can be invalidated. How do you invalidate a brainprint, a part of who you _are_? Ergo, you still need another (revocable) auth factor at the very least.</comment>


Cell: Lisp in Javascript - <AUTHOR> http://cell-lang.org/ <comment><USER2> Hi everyone, original author here. Thanks for all the feedback! My friend posted this before it was really ready for public consumption.

My goal here was to learn how Lisp works at a really low level. I'm planning to add the features you would expect from a Lisp (e.g. macros) very soon.

<comment><USER3> That's a very nice beginning, I love being able to interpret Lisp in the browser!

Your interpreter would be even more awesome if its interface was a file buffer instead of a toplevel. But so far, great work!

<comment><USER4> Have you taken a look at clojurescript? It is a very mature project that lets you use lisp in the browser: <https://github.com/clojure/clojurescript>

</comment></comment></comment><comment><USER5> I found one bug: you cannot create a zero argument lambda, e.g. (lambda () 42) will not work. You could also benefit from separate `let' construct, because simulating them with lambdas is a bit painful.

Apart from that, it works quite nicely (I was positively surprised you went for lexical scoping), but without macros, you can hardly say it's a Lisp, it's a language with Lispy syntax.

<comment><USER6> > You could also benefit from separate `let' construct, because simulating > them with lambdas is a bit painful.

> without macros, you can hardly say it's a Lisp, it's a language with Lispy > syntax.

These two things go together: many lisps have let as a macro that uses lambda internally.

> I was positively surprised you went for lexical scoping

Indeed; that makes for a much more usable language.

</comment></comment><comment><USER7> Consider a different name -- "Cells" is the name of a cool Common Lisp library by a ... let's say notorious ... Lisp programmer.

<http://common-lisp.net/project/cells/>

<comment><USER8> What's notorious about Kenny Tilton?

<comment><USER9> He was a regular poster on comp.lang.lisp, and one of the contributors there described him thusly:

 _"Ken Tilton is an aquired taste - if you can ignore his inflammatory remarks his advice is usually good. When I first saw some (most!) of his posts I initially thought WTF! but think of him as someone with Tourettes Syndrome and just look at what he is saying not how he is saying it!"_

There's a couple of fortune cookie files of quotes from him (collected by someone else, but you can find them on his blog), they do make for funny reading, but you can see how some of this would sting if the remarks were directed at you: [http://smuglispweeny.blogspot.co.uk/2010/08/fortune- cookie-f...](http://smuglispweeny.blogspot.co.uk/2010/08/fortune-cookie-file- number-two.html)

</comment></comment></comment><comment><USER10> Cool. I have been working through the lessons in Nathan's University (<http://nathansuniversity.com/>) which take you writing a Lisp interpreter (though admittedly with less rigor than this project) in Javascript.

Definitely recommended if you want a starting point for something similar and don't know where to begin.

</comment><comment><USER11> Gotta shout out to my own Lisp-in-JavaScript interpreter from long, long ago: <http://joeganley.com/code/jslisp.html> ... far less complete than this, but perhaps interesting to someone for archeological reasons or something.

</comment><comment><USER12> Thank you for implementing command history :).

There is a slight bug though. Since the position gets updated after the position is calculated, the displayed value is out of sync.

So entering

1

2

3

And then typing: UP (3), UP (2), DOWN (1)

Displays 1, rather than 3.

</comment><comment><USER13> nice job! I like how clean the source is, it would be really easy to extend or use as a base for writing ones own interpreter.

</comment><comment><USER14> Why does this happen:

        (def a 3)
        3

        a
        null

a should be 3, not null.

<comment><USER15> Same thing happens if you just try to pass it a bare 3. I'm thinking nothing gets evaluated without parens.

</comment></comment><comment><USER16> good work, just was checking arc in js; <http://jonathan.tang.name/files/arclite/index.html> and was surprised to see cell on hn.

</comment><comment><USER17> here is a basic lisp interpreter written in python: <https://github.com/keithgabryelski/plisp></comment>


Ask HN: What software can I build you for free? - <AUTHOR> I've built multiple products over the past few years and none have ever solved a problem.  Mostly because I was building solutions and looking for problems.
I love building software but like it much more when I'm building something that someone needs and will use.
So, I'd like to build something that someone would use.  I'm not interested in being paid for building anything.  If I build it, you can use it free forever.  It may be nice to monetize it with other users at some point but not the short term goal.
So, what would you like me to build you? <comment><USER2> Build a "review anything" site that uses incentive model of the NEO economy: anybody contributing a review earns Chrons that they can use on the site to read other folks' reviews or they can use them anywhere in the NEO economy, or exchange them for USD or Euros _. The entries (reviews) will be accessible only to visitors willing to reward the review creators with Merits by paying Chrons. Chrons can be earned anywhere in NEO, which includes writing own review in this site you might buid, or buy them for USD /EUR. This way Chron currency will gain/maintain its value against national currencies.

Of course you will also earn Chrons for every hour of your work developing the site, but more importantly you will earn Merits as a percentage of your choosing from every transaction made in the site.

More info: merit.world. API is available to hook this proposed site into Rovas - the heart of the NEO economy. Use the contact there to get in touch.

_ this is coming before this year's end. First there will be auctions where people will bid their Chrons to buy euros we have allocated for this purpose. The exchange rate will be then used for regular currency exchanges.

p.s. of course the API allows builders to create any other solution that wants to use the NEO reward mechanism. For example, turning (FOSS) soc. network like diaspora* into "meritware" would be cool too.

</comment><comment><USER3> I'm sure something like this already exists, I just haven't put too much effort into researching if a solution exists yet. If so I'm all for suggestions!

Intro - General Contracting company with 25-40 projects running at any given time across the continental United states. Each project has 1 On-Site superintendent. Each project has an assigned Project Manager who typically oversees 3-5 projects at a time. Many subcontractors are also re-used on various projects once you find one that does good work.

Problem - When a project comes to an end, or a 2 week delay hits a particular job, the On-Site superintendents get shuffled around from site to site. This can be said for subcontractors as well. Communication is key when trying to get all moving parts into place, and if a new project starts knowing what team members you have available vs what members are being used would be valuable to receive at a glance.

Idea/Solution - Have a simple map, with the ability to 'pin' a particular person/subcontractor or group to the map. Have the ability to add job #, contract # or other notes to the Pin. Have start/end dates be added to the pins. Have this be available company wide as read-only for those who need it simply to know who is where in case the main coordinator is busy. Have it be editable by select people within the company or even have one admin account if having an entire AD setup with permissions would be difficult.

Would prefer to be self-hosted, however have no problems using it online if it had proper security measures.

<comment><AUTHOR> Oddly enough, I have a similar in my current job. How can I get in touch with you? Maybe I can spin up a prototype. Let me know.

</comment></comment><comment><USER4> A censorship free p2p reddit-like based on ipfs.</comment>


I love Elixir and want to share my findings and get you excited about it as well - <AUTHOR> https://www.getrevue.co/profile/tjeerd <comment><USER2> all this is is a forwarding page to a vanity site, not even the site itself.</comment>


Show HN: Online Screenshot OCR – clipboard or drag and drop - <AUTHOR> http://structurise.com/screenshot-ocr/ <comment><USER2> <Alt-PrintScreen> -> Paste -> Click [Process Whole Image]

Looks convenient, but what is the typical use case?

<comment><AUTHOR> QA people are always pasting screenshot images into bug trackers. May be they can now paste searchable texts.

<comment><USER2> Do you mean that this component can be integrated with web issue tracker?

<comment><AUTHOR> Through clipboard it certainly can be integrated with any normal text-editing process.

To integrate it directly one probably need to use structurise.com SDK which is non-free and Windows-only.</comment></comment></comment></comment>


Scaling a site I wrote 2 years ago and need advice on correct planning methods - <AUTHOR> http://www.reddit.com/r/programming/comments/cum65/so_im_scaling_a_site_i_wrote_2_years_ago_and_need/ Cross post from reddit, hopefully this will bring more insight!<p>Thanks <comment><AUTHOR> Cross post from reddit, hopefully can gain more insight here.

Thanks</comment>