K-Stash: A search engine for your useful links – for devs and researchers - <AUTHOR> https://k-stash.com <comment><USER2> The problem I find with this entire segment of the industry - is that nothing seems to work as I grow and change. Everyone is actively trying to achieve vendor lock in. It's true for Evernote, OneNote, Notion - and all the other things too.

To make it worse, none of them are better than pen and paper. I want the ability, from my desktop to clip sections of pages, capture pages, annotate them, etc. I want to have the same experience on phone and tablet whether iOS, Android, or a mixture thereof. I want to annotate with notes, that I want to _remain_ as handwritten notes, but be legitimately OCRed for the purpose of search. I don't want to click anything to make this happen; on a tablet this means just write and go. Rocketbook is the closest I've gotten to that, and it was still unbelievably far away from the goal set.

So now, I'm back to pen, paper, and OneNote. I hate it - but it's currently (and not two months ago) the best answer for me.

<comment><USER3> Does Rocketbook have OCR now? I used them when they first came out but the lack of OCR limited what I would use them for.

I just tried to start the app after reading your comment and apparently I have to log in or something and I have no idea how to do that. It was such a cool idea that it's a shame that it never quite got its act together.

<comment><USER2> They do - though it no longer solves any of my other needs. I use their whiteboard sticker things so that I can have pictures immediately go into a OneDrive, Google Docs, or email destination. That they solidly got right and it's one of my favourite things.

Admittedly, with the android share button, it's not really that useful, though I love it.

</comment></comment></comment><comment><USER4> A recent thread about a similar product: [https://news.ycombinator.com/item?id=24004588](https://news.ycombinator.com/item?id=24004588)

Personally, I think just those limits make this a non-starter for me. 30 resources per topic over 250 topics is a total of just 7.5k links, which is nothing. Charging $19.99 a year for that (and that's introductory pricing!) is insanity, especially when there's free bookmarking tools, some of which are even open source or self hosted.

E: Some less similar alternatives:

[https://news.ycombinator.com/item?id=24199419](https://news.ycombinator.com/item?id=24199419)

[https://news.ycombinator.com/item?id=19346985](https://news.ycombinator.com/item?id=19346985)

[http://pinboard.in/tour/](http://pinboard.in/tour/)

I'm not affiliated with any of the alternatives I've listed.

<comment><AUTHOR> Thank you for your comment. It may sound a coincidence but I've updated the pricing and bundle limits (there was a typo in the pro 30 instead of 130..) just some minutes ago.

Have a good day!

<comment><USER5> Your pricing should be much higher in my opinion, something like $20-25/month, but then give those customers pretty massive access. (unlimited everything)

Doing the math here, for you to make a starter engineering salary off this project, you'd need to hit $10,000/month - which would mean around 40,000 paying basic users or 12,000 paying pro users.

If this hits the front page you'd maybe get around 50,000 hits to the site - which means your conversion needs to be around 80% (for Basic).

Whereas if you had a free plan and a pro plan that was $25/month - you'd only need 400 people. Which is a conversion of 8% from this particular traffic source.

Your call, but I think lower prices these days speak to me as the developer not being all-in on their particular product - even if you are, it's just the optics of it.

If I really need this, you can bet I'd pay $25/month for it.

The Roam Research guys do a good job at this, even if their product is not yet at 90% refinement, just the fact that they are willing to charge a higher price makes me believe they will actually put the work into it to make it better. There are students and researchers that do NOT want to bother with storing the files to build that graph, hooking up VSCode with a graph-editor addon (there are many), all they want is a thing that does what it says it does. And they pay well for it.

</comment></comment></comment><comment><USER6> It looks like people are discussing alternatives here, so I wanted to give a quick pitch for my setup.

I stash my useful links in Asana. For those who haven't used it, Asana is like a big, organized to-do list. Each link I want to keep becomes an Asana task. I can organize them the Asana way, using tags or projects (task lists), or I can just put useful words in the description so I can search for them later.

Asana probably wasn't built for this use case, but it works pretty darn well. My most important workflow is being able to send the current webpage I'm reading to Asana using just a few taps, and Asana supports that easily -- the official Chrome extension is specifically for doing this, and the Asana apps support the Android and iOS share integrations.

In addition -- and this is important too -- I feel pretty confident that Asana (and thus my data) will still be around in 5-10 years. I'm not sure if I can say that about almost all of its competitors.

Note: I'm not affiliated with Asana. I'm familiar with Asana because I used it at work, but other to-do apps might also work for bookmarking. If you have one in mind, let me know in the replies!

</comment><comment><USER7> Has anyone a good open source, self hosted alternative of this?

Since I don't know any, I was thinking of starting something like this at some point.

Something to save interesting bookmarks/lightweight media (gifs, memes, ...) or even small blog articles. Make it federated, with some full text search feature ala elastic search but more lightweight, with a reddit like interface.

<comment><USER8> I just use a folder with (text) files. E.g. if you call them

keyword1-...-keywordN

you can `find` for keywords and `grep` for content and put in everything you want. You could also use subfolders for topics.

I don't see what K-Stash offers more.

<comment><USER7> I mean the whole point of this is to have a crawler who look for the texts in your links, index them, then you can search a link when you just vaguely remember something the page in question mentioned.

</comment></comment></comment><comment><USER9> I mean this kindly: I highly recommend you hire a copywriter to go over your site. The spelling errors and grammar issues undermine confidence.

</comment><comment><USER10> Personally, I have a github private repo where I put everything in named directories.

Small cleanup every now and then.

Can't recall where something is? Grep it.

</comment><comment><USER11> The tiers are a bit strange.

Free/Basic/Pro gives you 15/40/130 resources per topic.

I would routinely use the maximum for even simple pieces of research and 130 feels like way too small a limit.

I would honestly expect to see those limits tripled at least.

</comment><comment><USER12> I love the idea of this, but frankly, this seems like a system that becomes more useful if you use it for a long long time. And for systems like this, I need a guarantee that there won't be "exciting news, we got acquired, and tomorrow all our services are shutting down."

I know that's a bit of a downer take, and maybe I should just not hang out on HN with this attitude, but I really wonder if I'm that alone with this opinion...? It's the same issue I have with roam research, the same issue I had with Mendeley.

<comment><USER13> You are not alone. The first thing I went to look for was an export feature. No mention of it on the landing page.

<comment><USER14> The Pro and Premium plans seem to have a JSON export. "We allow you to export your data only if you pay enough." Hmm.

<comment><USER13> I see that it was now added to free tier too. Nice !

</comment></comment></comment></comment><comment><USER15> Love the concept. I have been in need for a tool/service like this for a while. I now resort to creating my own slack workspace and using channels as a way to save links. Using chrome plugins is a crappy alternative. I don't know if I would pay for it though. I would be amazing if after all the links you add, the system "predicts" or "recommends" what other links would be a good fit in this category, or help you auto organize better.

</comment><comment><USER16> Best way to save important stuff for me is to just email it to myself :/ Crude but effective, even with GMail's less than optimal search.

<comment><USER17> I haven't used it in a very long time, but pushover.net was my go-to for many years. I just use iOS Notes now. I would suggest checking pushover out as a replacement for email.

</comment></comment><comment><USER18> Not exactly a dev-specific tool, but I created a mind map for storing all the interesting stuff I've read/want to read in different formats than just plain text:

[https://mapsofmind.com](https://mapsofmind.com)

No restriction on "topics" or "maps" or anything. Fully free to use.

</comment><comment><USER19> Vannevar Bush should've followed up his article with "As we may organize".

It's a pretty unsolved aspect

</comment><comment><USER20> Looks nice!

I wrote a chrome extension for natural language searching of bookmarks a while ago ([https://chrome.google.com/webstore/detail/bookmark- search/fc...](https://chrome.google.com/webstore/detail/bookmark- search/fcjphnojgeikgjajhlihdjnljnbpfhmi)), I like your grouping of topics though (so you can see everything in the topic, not just the search results).

I don't really understand the comments complaining about the pricing; there's a free version, or the paid versions are really not that expensive. If I find myself wanting something more than bookmarks for links, $3/$10 a year seems fine to me for the productivity gain.

</comment><comment><USER21> Why would I pay for a beta with extremely low topic-limits, especially when there are great tools that do this for free? I'm sure this is a fine tool, but this honestly needs to be very compelling in order for me to pay in order to change my workflow.

</comment><comment><USER22> Good concept. Interface a bit clunky still. Needs a browser extension or something or it's gonna involve a lot of cutting and pasting. No obvious way to jump-start collections from existing data or broad searches. Has potential though.

</comment><comment><USER23> I think you misspelled "retrieval" on your homepage

<comment><USER24> Twice...

</comment></comment><comment><USER8> Functionally I do not see any additional value compared to a simple 'grep' or 'find' on a folder with notes.

</comment><comment><USER25> This is kind of similar to an open source knowledge base project [0] I am working except instead of just for webpages it allows you to pretty much index anything you want (including links and their contents)

[0]: [https://github.com/Uzay-G/archivy](https://github.com/Uzay-G/archivy)

</comment><comment><USER26> fwiw Diigo [https://www.diigo.com/](https://www.diigo.com/) was the tool I ended with last time I was looking for something like this. It's already got things like bookmarking plugins, page archiving, outlining, tagging, in-page annotation, highlighting, sharing, search, exports etc.

I've now been using Diigo for over three years now; it's been reliable, its feature set feels very complete, works well, and they seem to have a sustainable business model based on subscription plans e.g. I consider the $40 p/a I pay for standard somewhat of a bargain.

Always interested in new shineys, but what is K-Stash's unique value proposition vs Diigo?

</comment><comment><AUTHOR> Thank you for your support guys! 5 of you have already bought the premium plan.. this is insane! I'll do my best.</comment>


One month with the OnePlus 2 - <AUTHOR> http://venturebeat.com/2015/09/25/one-month-with-the-oneplus-2-the-good-the-bad-and-the-meh/ <comment><AUTHOR> Good read, though think the author was maybe a little generous given the described "bugs" in the software. I just couldn't use a phone like that.</comment>


India's two e-commerce biggies, Flipkart and Myntra, to merge - <AUTHOR> http://www.nextbigwhat.com/flipkart-acquires-myntra-funding-297/

<comment><USER2> Both of them are loss making companies</comment>


HTTP Caching Tutorial - <AUTHOR> http://www.mnot.net/cache_docs/

<comment><USER2> This seems like a nice introduction guide to caching but it seems a bit dated.

It does not mention using varnish, memcache, redis or anything similar. And it talks of CGI scripting being one of the most popular ways to generate content.

<comment><USER3> Written in 1998. Go, ColdFusion!

But I've found a lot of current devs are missing some of the basics that folks used to have to know so it doesn't hurt to talk about HTTP response headers and the like every now and then.

<comment><USER4> > _Written in 1998._

And I assume that we're seeing a cached version of the site, which is probably the joke.</comment></comment></comment>


Search on imdb and get movie info in Node.js - <AUTHOR> https://github.com/newvertex/imdb-search <comment><USER2> I haven't checked the code, but if you are actually searching and parsing IMDB.com then you are violating IMDB's user agreements. There are certain titles that are not available for you to use. However.. IMDB allows you to download and use most of it's contents: [http://www.imdb.com/interfaces](http://www.imdb.com/interfaces)

Instead of downloading and parsing available data and reinventing the wheel, I would also recommend using 3rd party free APIs like [http://www.omdbapi.com/](http://www.omdbapi.com/)

Just a thought...

<comment><USER3> It's using OMDB.js:

const omdb = require('omdb');

<comment><USER2> Ah okay! And ugh... boring. And HN title is misleading.

</comment></comment></comment><comment><USER4> This is just a very thin and worthless wrapper around [https://github.com/misterhat/omdb](https://github.com/misterhat/omdb)

<comment><AUTHOR> This module use Javascript ES6 Promises for search on movies and get movie with just use a simple generated id with this module for each movie on list of movies on result of search, also it's keep last result of get method.(last movie)

</comment></comment><comment><USER5> Nice work!</comment>


Xiki: The Command Revolution - <AUTHOR> https://www.kickstarter.com/projects/xiki/xiki-the-command-revolution <comment><USER2> I'll plant my lawn sign to lobby for support. I think this is such a completely new way of running a shell it's worth investing in to see how far it can get.

Maybe I am a computing retrofuturist, but I like anything that pushes towards a Plan 9 / Smalltalk / Jef Raskin like dynamic, configurable, adaptable, programmable, textual user interface.

Also, recognition is always better than recall. I hate the UNIXy command line. I have limited brain capacity and I don't want to lard it down with knowing that it's ssh -p but scp -P. If this can help with that, awesome.

<comment><USER3> >> ssh -p but scp -P

I hate inconsistent command line interfaces, too. If you type `ssh` it dumps usage information. Most commands will respond to `command --help` (but not ssh, irritatingly). Failing that, you can write shell functions to wrap your own interfaces around commands -- I do this all the time.

<comment><USER2> Exactly, and I believe that Xiki is trying to make that flow much more pleasant. :)

</comment></comment></comment><comment><USER4> Here's the github url for those who don't find the kickstarter helpful - [https://github.com/trogdoro/xiki](https://github.com/trogdoro/xiki)

Xiki has been there for a couple of years at least, because I remember trying it out more than a year back, had to install a _lot_ of dependencies! Nevertheless, its an interesting project!

<comment><USER5> Yes, me too. Sounds like creator wants to get on top of it and clean all that up, so I hope this kickstarter succeeds. Great project and I want sublime support! :) Backed.

<comment><USER6> Indeed! Thanks so much for the support!!

</comment></comment></comment><comment><USER6> Hey! Project creator here! I'll answer all your questions here and try and clear up the writing. Ask away.

<comment><USER7> Some things that are unclear:

1\. on kickstarter page: "getting Xiki working in other text editors, like Sublime and Vim." on github: "It has a web interface, but runs best from a Xiki-enabled text editor"

What is a Xiki-enabled text-editor, i.e. what text editors does it support currently?

(FWIW I don't like web-based editors, so it is quite important that the text editor is a real application. I edit blogposts/wikipages with vim and git too, wherever possible, because I just have a feeling of uncertainty that if I press the wrong thing / click the wrong place by accident the browser will loose everything that I typed)

2\. security?

If anything can be a command then what happens if I open a malicious file? Do I have to be careful where I click? What if they use Unicode tricks to disguise the command?

3\. predictability

similar to #2: how can I know what will happen when I "run" something if commands can be in any place, and interact with anything? Is there a way to preview what the command would do, and what it would interact with?

4\. can I install as non-root?

I want to use the system ruby, and I want to try xiki without installing anything as root (except system packages provided by the distribution). The instructions on the github readme are confusing: it shows the sudo instructions, and some rvm instructions, neither of which meet my simple requirements.

I tried running 'bundle --path vendor/bundle', but it failed with an error:

       Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/bin/ruby2.0 extconf.rb
      mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

      Gem files will remain installed in /tmp/xiki/vendor/bundle/ruby/2.0.0/gems/json-1.8.1 for inspection.
      Results logged to /tmp/xiki/vendor/bundle/ruby/2.0.0/gems/json-1.8.1/ext/json/ext/generator/gem_make.out
      An error occurred while installing json (1.8.1), and Bundler cannot continue.

5\. why ruby?

I'm not a Ruby developer, but I might want to try Xiki. Or is Xiki intended only for Ruby developers? But see #4 for the troubles I run into, it currently looks like one needs to know how to debug Ruby's build system in order to run your application.

<comment><USER6> 1\. Currently supports Aquamacs and Emacs. "Xiki-enabled text editor" means a text editor with a Xiki plugin installed. Which, in turn, means you can run Xiki commands right from that text editor (or IDE).

2\. Yes, you need to be careful. Similar to being careful to which commands you paste into your shell, and which .sh files and scripts you run and which packages you install. It won't auto-run anything though. And since everything is plaintext, it should help people to review for malicious intent. Maybe some checking for special characters would be a good feature to add.

3\. There's no way to preview. If you don't know what a command will probably do and don't trust the source, you probably shouldn't run it. There is a keyboard shortcut for jumping to the source code though!

4\. Yes, you can run as non-root. The current version is a bit out of date, and has a rough install process (the Kickstarter is all about improving that). Currently you need ruby 1.9. I need to fix that soon - it probably won't be hard.

5\. Ruby is a pretty decent language for manipulating text, and getting stuff done quickly, so it's a good fit for Xiki. You can make a Xiki command via a .py, .js, or .coffee file though, so you don't need to know ruby to make commands!

</comment></comment></comment><comment><USER8> Last year I went to a tech talk where the creator of Xiki was showing off the product's features set. He has definitely put a lot of thought into it's design, and Xiki improves a developers workflow once you get use to the commands. I believe the creator also offered anyone who wanted to pair-program with him a call; definitely wish I had jumped on that opportunity.

<comment><USER6> The offer is still open. Let's pair! :)

I want to pair with a bunch of people during the campaign. I think misc pairing on open source projects is going to be a huge part of how we devs connect with each other. What better way to get familiar with a project super quickly than to pair with one of the core members. For the core members, the benefits include motivation, getting fresh ideas, and getting perspectives from new users.

</comment></comment><comment><USER9> My suggestion: lose the frantic, cheesy music in the video. It made watching the video thoroughly unpleasant.

<comment><USER10> Seconded. It's like you're telling me, "we don't believe in our product so have some cheesy music to up the hype". Music was worst part. I was trying to ponder your invention and failed.

Corollary: spend years working on product, ruin it with one stupid customer- facing decision like annoying music. Talk about your one-percenter.

<comment><USER6> Sorry you don't like the music. I showed it to a bunch of people and they said good things about the music.

The music was actually created via the xiki "piano" command (and then enhanced with garage band). I was going to emphasize that but ran out of time... There are 16 backers so far (and only a few are friends) so hopefully it hasn't ruined it for everyone.

<comment><USER11> I was also annoyed by the music. Way too many sounds going on. It's a nice demo though, but the video would be better without the music.

Be careful about feedback from friends (or even just showing your stuff to people IRL). Friends and family are often too nice to provide usable feedback. On the internet, people will be brutally honest which is awesome when you want to know of every single little defect with a product.

</comment></comment></comment></comment><comment><USER12> Am I the only one here that really liked the video and the concept of Xiki in general? I thought it looked really interesting and I'm going to try it out tonight on my laptop.

<comment><USER13> I've been psyched about this project since it was brought up a month or two ago in a discussion about tree viewers here on HN. Its pretty compelling, even if it may not integrate well into developers' workflows. Now I've just got to find time to start using it...

</comment></comment><comment><USER14> What is xiki? Why does it bring the power of the command line to everyone?

The kickstarter page seems to assume I know what xiki is and why it's different from say bash.

<comment><USER15> I think it's struggling with the fact it's kind of a hard thing to pigeonhole or label, and people may need to watch both videos, perhaps even with pause/rewind, to perceive all its aspects.

There's overlap with IPython notebooks. There's command-aware autocompletion. There's direct-two-way-manipulation of textual artifacts.

Maybe it could be thought of as an "MVC" IDE, but in pure-text, where familiar Unixy commands can be the "VC" parts... and you don't so much "run" them once but position them for re-use, and their output can be made directly editable with effects on the original inputs. (As just one example, what if editing the output of "ls -l" was enough to change permission bits, owners, or names of files, or truncate them to a new length?)

It even reminds me a little of the Englebart "Mother of all Demos", in the surprising/dangerous depth behind simple outline-menus.

Note I'm just assessing from the videos: I haven't used Xiki myself. If I were using it, I think I might handle it like a loaded weapon: it seems powerful enough to do a lot of filesystem damage in a few experimental keystrokes!

</comment></comment><comment><USER16> Here is the Github repo - [https://github.com/trogdoro/xiki](https://github.com/trogdoro/xiki) and the official website - [http://xiki.org/](http://xiki.org/)

</comment><comment><USER17> This looks suprisingly like Acme ([http://plan9.bell- labs.com/sources/plan9/sys/doc/acme/acme.p...](http://plan9.bell- labs.com/sources/plan9/sys/doc/acme/acme.pdf))

<comment><USER18> Yes, and the extensions are similar to what the plumber provides.

</comment></comment><comment><USER19> Some discussion about Xiki from around two years back:

[https://news.ycombinator.com/item?id=4512928](https://news.ycombinator.com/item?id=4512928)

I can see a use for this, especially for technical FAQ building, I do a lot of that.

Not sure if this could ever be more than a power admin/developer tool. But good luck anyway!

</comment><comment><USER20> Looks cool.

I am slightly concerned when it comes to security and "noobs" pasting commands without getting stuff.

Think rm -f ~/

Would be great for stuff that is to unique(only happens once ever) to write automated bash scripts for. The problem is that one might not know that in advance, and suddenly one has to scripify it for real.

<comment><USER21> At least make it tense and exciting:

(((RANDOM%6)==0)) && rm -rf / || echo _Click_

</comment></comment><comment><USER22> I get excited each time I see an attempt to improve the shell, e.g. Mosh [1] and TermKit [2]. I believe that there is room for improvement. But I also think that the UI itself might be in its best form because it is as simple as: type the command, hit enter, get the result. And also equally important, its very efficient.

I don't see that it can replace Bash but it can be useful in some cases. I really liked the Git functionalities.

[1] [http://mosh.mit.edu/](http://mosh.mit.edu/) [2] [https://github.com/unconed/TermKit](https://github.com/unconed/TermKit)

</comment><comment><USER3> Issuing commands to a computer with a "mouse" \-- ridiculous! It will never work.

More seriously-- why does this need funding? If the idea is clear enough and people see a need for it, someone will help finish it or write their own version as open source.

Having watched the second video, which is better, it looks to me like there could be some good ideas here; but a lot of them could be implemented on their own. Some could even be done with short shell functions in bash.

</comment><comment><USER23> I think Xiki might help me escape the editing environment of the shell and REPLs provided via the shell (specifically the bash shell of Mac OS X Terminal, and various Scheme REPLs.) I want to work just as I can in TextEdit, or for that matter in the humble HTML textarea: put the cursor anywhere and start typing or deleting. The Mac OS X program Eddie permits some of this.

</comment><comment><USER24> Using zsh convinced me that clever and dead-easy autocomplete and hinting is what will save textual interfaces; I don't have precise metrics but it really feels like pimp-slapping tab and ctrl-r all the time saves me a lot of typing.

This project seems to take that idea in a really cool direction.

Makes me want to try it.

</comment><comment><USER25> I watched the whole video, and I still have no idea how it would improve my life compared to using bash...

<comment><USER15> Try also the 'Older Video' further down the page; it may especially help those familiar with usual shells/editors.

</comment></comment><comment><USER26> Backed.

There's some negativity floating around here with regards to the video, but I'm glad I watched it before reading the comments. The video clearly shows what Craig has in mind for this tool, and the music gives some character too. Best of luck with this campaign!

</comment><comment><USER27> This made me cranky. "What if?" Why on earth would I want to juggle like this?

</comment><comment> vertex-four This looks like it brings the work of Native Oberon's TUI[0] to *nixes. Awesome!

[0] [http://www.ethoberon.ethz.ch/eve/NOVPC.png](http://www.ethoberon.ethz.ch/eve/NOVPC.png)

</comment><comment><USER28> The git navigation actually looks amazing.

</comment><comment><USER22> Is it supports SSH and curses applications (e.g. vim)? I didn't see it in the videos.

<comment><USER13> There's an experimental web interface that's part of the project. I imagine that an ncurses interface could be built on top of the xiki API in some fashion, although I don't think that is really a use case that the creator has envisioned per se.

</comment></comment><comment><USER29> Reminds me of [https://github.com/unconed/TermKit](https://github.com/unconed/TermKit)

I really don't want or need this. It's solving a problem I don't have.

</comment><comment><USER30> Thanks but I'll stick with fish shell. [http://fishshell.com/](http://fishshell.com/)

<comment><USER31> It looks like it could be a lot more than what fish brings to a regular terminal. Don't get me wrong I use fish everywhere nowadays but this good be way more.

<comment><USER30> Looks like. I have little faith that this guy will be able to implement it from what I saw.</comment></comment></comment>


Oracle VM VirtualBox 5.2 Is Now Available - <AUTHOR> https://blogs.oracle.com/virtualization/vbox52 <comment><AUTHOR>
      Notable enhancements in this release:

      - VM export to Oracle Cloud Infrastructure Classic (OCI Classic) format
      - Automatic, unattended guest OS installation for Oracle VM VirtualBox Virtual Machines
      - Improved Virtual Machine Tools, including a new dynamic interface to manage Virtual Machine configuration and snapshot capabilities
      - New Global Tools handling
        * Virtual Media Manager manages media attributes like size, location, type and description
        * Host Network Manager simplifies managing corresponding networks and their attributes
      - GUI accessibility
        * New GUI icons for VirtualBox on all platforms (Windows, Linux, Oracle Solaris and Mac OS X)
        * Enhanced Virtual Machine Selector
        * Extended audio settings, with the option to enable/disable audio input/output
        * Snapshot Pane updates allow easier management of snapshot attributes, like name and description
      - <USER2>
        * Device enumeration support for audio backends (optional)
        * Support for host device callbacks (optional) and further enhancements
        * HDA emulation now uses asynchronous data processing in separate threads
      - <USER3>
        * Support for CUE/BIN images as CD/DVD media including multiple tracks
        * Support for the controller memory buffer feature for NVMe

<comment><USER4> Just FYI, when you post content like that, it is completely unreadable.

<comment><USER5> How?

It's formatted monospaced text, its perfectly readable to me.

<comment><USER6> It doesn't wrap on mobile and you have to scroll horizontally to read it all.

<comment><USER7> Nor does it wrap in Firefox, so pretty annoying on desktops as well. Unless you're using a large monitor.

</comment></comment></comment></comment></comment><comment><USER8> FYI this will break the current version of Vagrant if you use the VirtualBox provider (which is default): [https://github.com/hashicorp/vagrant/issues/9080](https://github.com/hashicorp/vagrant/issues/9080)

<comment><USER9> Ugh figures I read that after updating.

</comment></comment><comment><USER10> I searched the release notes and manual but couldn't find an answer. Does anyone know if this release fixes the problem of not cleanly shutting down the guest OS when the Windows host does an automated update/reboot? It's really annoying to have Windows run an update overnight and see that it did a dirty shutdown of my Linux dev instance guest.

Virtualbox has a "save state" option. It would be nice if it would perform a "save state" on all guests when the host reboots.

<comment><USER5> This strikes me as a windows issue, not a VirtualBox one. How does windows kill applications that have not exited, how long does it wait to do so, etc?

<comment><USER10> The VirtualBox process is notified of Windows shutdown and power management events. It can choose to save the state or "power down" the guest OS. There is a setting to manage the default action to take, but it doesn't seem to work reliably.

[https://www.virtualbox.org/manual/ch09.html#idm9348](https://www.virtualbox.org/manual/ch09.html#idm9348)

<comment><USER5> I wonder if its taking too long to save state, so windows kills the process and proceeds with its reboot

<comment><USER11> That's probably it, Windows 10 is incredibly aggressive in killing applications when rebooting for an update. In corporate settings it's even worse, we're currently having a glitch where, no matter what our administrators specify as policy, computers _will_ just randomly reboot sometime after Patch Tuesday for a reboot. Without notification, without a chance to save your work. Just _poof_.

</comment></comment></comment></comment></comment><comment><USER12> Given that Oracle seems to have the midas shit touch (RIP John Dunsworth), does anyone have suggestions on Virtualbox alternatives? VMWare is the obvious one I guess.

It's great that they have released 5.2 and that they are adding new things. Virtualbox is a handy tool for me and I'm just afraid one day soon Oracle will turn it to shit.

<comment><USER13> On Linux, I've been using kvm with libvirt and virt-manager as the GUI.

<comment><USER14> Have you gotten Windows to work well as a guest?

I could never get it to work as well as it does with VirtualBox.

<comment><USER13> I don't know about working as well as it does in VirtualBox, but with the QXL guest driver to do screen resizing and clipboard sharing, it's not too bad.

</comment></comment></comment></comment><comment><USER15> What's the current state of GPU passthrough on VirtualBox?

Currently I dual boot between Windows (games) and Linux (everything else). I would _love_ to just single-boot into Linux as a host and then have a Windows VM for games that need it. But that's only practical if the VM has full access to the GPU, and last I heard GPU passthrough on VirtualBox was kind of hit or miss.

<comment><USER16> You can use Qemu for that. I used to do that for a while, but found it annoying. Dual boot is much better imho, especially since it barley takes any time.

When I had issues, I had no clue if it was because of my config, the game being buggy, the nvidia drivers being buggy, etc. etc.

Also having to have "two"of everything is annoying as well.

<comment><USER17> You don't really need "two" of everything. You can have one monitor connected to two video ports, and a single mouse and keybord, a pass them through.

QEMU itself can be run via a short script, and it only requires to be run as sudo.

You shouldn't really have issues in a general sense: with the correct setup, after a short time (having exhausted the tweaking options) one will experience if the machine is compatible with VGA passthrough, or not. In the latter case, the problem is that either the guest doesn't work at all, or that it has performance problems.

The is at least one radical advantage in having a virtualized Windows: rollbacks. When I use a Windows guest, I don't care whether I'll take malware or not, since to rollback is trivial.

</comment></comment></comment><comment><USER18> I wish I didn't have to choose between Docker for Windows (which requires Hyper-V enabled) and Virtualbox (which requires Hyper-V disabled afaik) on Windows 10, both are useful.

</comment><comment><USER19> Tried it a few weeks ago to run Windows, guest os got corrupted right after installation. Searched Google and apparently this happens quite a lot. I'd say you get what you pay for, but KVM works fine. It's just slow because there's no graphics acceleration.

<comment><USER20> Never had any corruption ever with VirtualBox.

<comment><USER21> I have. And a whole onslaught of numerous other issues. Most of them seem to be documented in bugs 5+ years old that never get fixed.

I was once a Virtualbox fan boy. But, I'm going with KVM and Vmware moving forward.

</comment></comment></comment><comment><USER22> Just a friendly reminder, from a former Oracle employee who was laid off recently, that Oracle is cancerous, rapacious, and DOES NOT respect you as a user or customer.

They WILL audit you. They WILL sue you. They WILL harass you. They WILL deceive you. Period. End of story. And they will make 100k easily off of you.

DON'T use Oracle products unless you are prepared to deal with these types of arbitrary, long, painful battles.

</comment><comment><USER20> Bridged networking not working in Virtualbox 5.2 - Windows 10 x64 Host with Windows x64 Guest at least. I had to go back to 5.1.30.

</comment><comment><USER23> Does anyone has a screenshot? I am curious to know how those "new GUI icons" look like, but don't want to install it just for see them.

<comment><USER16> Here you go:

[https://imgur.com/a/uSt73](https://imgur.com/a/uSt73)</comment></comment>


Brian Harvey: Why SICP matters - <AUTHOR> http://www.eecs.berkeley.edu/~bh/sicp.html <comment><USER2> I am one of Brian Harvey's student progeny. I still consider the SICP as my favorite computer science book, and in retrospect CS61A one of my favorite and most important courses. There is something amazing about a course that takes one from "square can be defined as (define (square x) (* x x))" to writing an interpreter, and be something a mere mortal _can_ work through in a few months. And that's just chapter one to four out of six in SICP, if memory serves.

I like Python, and use it in industry. Ruby, Go, and C also. In the past, I wrote Common Lisp professionally as well. I do not pine for Scheme or CL, although both had some of their own unique charm. Nevertheless, I think Brian's sentiments about Scheme's clarity in stripping away what can seem to be the 'magic' in programming while maintaining an absolutely rigorous representation that can actually be executed are spot-on. There will be plenty of time in practical work to reintroduce some magic to make practical tasks easier, but there is but a precious few years -- or indeed, just a semester -- to examine the structure of abstraction at its very core.

<comment><USER3> I love the story where the creators defined a Lisp interpreter in Lisp, and then one said, "you know, we don't have a Lisp compiler, but I could compile this source by hand." It's quite an elegant concept when you accidentally create a fully-functional interpreter overnight.

<comment><USER4> The quote:

> Steve Russell said, look, why don't I program this eval..., and I said to > him, ho, ho, you're confusing theory with practice, this eval is intended > for reading, not for computing. But he went ahead and did it. That is, he > compiled the eval in my paper into IBM 704 machine code, fixing bug, and > then advertised this as a Lisp interpreter, which it certainly was. So at > that point Lisp had essentially the form that it has today...

a shorter version from "History of Lisp" page 9:

> S.R. Russell noticed that _eval_ could serve as an interpreter for LISP, > promptly hand coded it, and we now had a programming language with an > interpreter.

</comment></comment></comment><comment><USER5> > What MIT decided was to move from a curriculum organized around topics > (programming paradigms, then circuits, then signal processing, then > architecture) to a curriculum organized around applications (let's build and > program a robot; let's build and program a cell phone).

While this is offered as an excuse for switching away from SICP, I don't like this either.

Programming paradigms are the perfect introduction to programming. First, it naturally teaches you one of the most fundamental concepts in computer science (abstraction) by example; with the SICP approach, you learn about abstractions by constructing your own idioms for abstractions within a programming paradigm!

Second, applications become easier and easier to develop the more one learns to break out of a single paradigm and borrow ideas and tools from each as needed - otherwise, it's easy to get stuck in a rut and miss a simple but elegant solution to the problem at hand. Being able to cross-pollinate features or ideas idiomatic in one language to another gives you a Leatherman instead of an x-acto knife.

Having a fundamental grasp of programming paradigms makes programming languages feel like a second skin, rather than an obstacle sitting between the brain and the binary output.

<comment><USER6> He goes on to write,

" _Perhaps in time the applications-first approach will spark a revolution as profound as the one that followed SICP, but it hasn't happened yet._ "

Put the way he's written described it, "a curriculum organized around applications", I don't think it will. You have it right: too many trees, not enough forest.

Does anyone who has taken the new MIT curriculum have any comments?

<comment><USER7> Sorry, but what "profound revolution" followed SICP?

It was a mighty fine course and text-book. But where's the revolution?

Where are the guys that were taught SICP that went on to do "revolutionary" things?

And if they do exist, how do they compare to a control group that just learned with UNIX/C/C++ and the like?

(Downvotes? I thought we're taking compute SCIENCE here. Where's the science and the proof? If one didn't know any better he would have thought I was stoned for insulting some holy scripture...)

<comment><USER8> > Downvotes? I thought we're taking compute SCIENCE here.

From SICP:

'Underlying our approach to this subject is our conviction that "computer science" is not a science and that its significance has little to do with computers.'

(Don't know about the downvotes or anything. Just thought that was like vaguely funny.)

</comment></comment></comment></comment><comment><USER9> "In my experience, relatively few students appreciate how much they're learning in my course while they're in it."

How true! I hated CS61A when I was in it, and I thought nothing was practical and everything was a trivial example. Sorry Brian! I failed to grasp the depth of all the 'trivial' examples. I never appreciated the complexities of the class until I started being a TA for it, and I never truly loved the class until I lectured it.

Notes, homeworks, etc, available here: <http://www- inst.eecs.berkeley.edu/~cs61a/su10/>

</comment><comment><USER10> Awesome point about just how language agnostic the course was: the key idea that every programming language has 3 components (primitives, one or more means of combination and one or more means of abstraction) and once you figure those out you can do the same things in just about any other language is really not highlighted enough. Still haven't seen any other programming courses that point that out: getting bogged down in syntax trivia seems to be the pattern of the day.

</comment><comment><USER11> "Courses that teach those languages spend at least half their time just on learning the notation."

Spot on. This describes exactly my experience of my Pascal-based course back in 1986 - and it was way more than half. I didn't come across SICP until 10 years later, and it was a revelation, I didn't realise how much more productive an introductory course could be.

</comment><comment><USER12> I was turned onto the SICP lectures[1] though people talking about them on HN, and I was just floored by them. They still give me goosebumps when I watch them. It's like watching a video of someone completely in their element and at the top of their game, like the lecture equivalent of the 2007 Wimbledon Finals or something.

And of course, the book is awesome too. And it rewards repeat readings.

[1] [http://ocw.mit.edu/courses/electrical-engineering-and- comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-001-structure-and-interpretation-of-computer-programs- spring-2005/video-lectures/)

</comment><comment><USER13> Gist.io: <http://gist.io/4076068>

Edit: Uh, why downvote? Not complaining, just curious; I have done this before for plaintext articles and will do it again, but only if it's welcome.

<comment><USER14> I don't personally feel strongly about this, but why bother taking a plain text article written by someone else and re-publishing it in plain text somewhere else? It doesn't add any value, and just adds noise to the discussion here. Also, the original author may not appreciate your republishing their work.

</comment></comment><comment><USER15> If you are already well versed in SICP you might be interested in the advanced follow-up class to SICP from Prof. Gerald Sussman:

<http://groups.csail.mit.edu/mac/users/gjs/6.945/>

</comment><comment><USER16> SICP has wonderful materials to touch on so many important and elegant concepts in CS that it should be taught to any serious CS students. It's not about the language Scheme itself but all the underlying CS ideas. You might be able to learn those concepts here and there from time to time. SICP ties them in one comprehensive course.

My experience with SICP is a case of after the fact. I've learned and wrote LISP codes long before touching SICP. The learning process was reading existing source codes and going through reference materials. It's not until I went through SICP that suddenly all these concepts and ideas became so clear.

</comment><comment><USER17> Brian Harvey was a wonderful, wonderful teacher. Most of what I have learned in CS since has been more-or-less an addendum to his version of CS61A. The world just doesn't make hackers (and teachers) like that enough.

</comment><comment><USER18> I can't help feeling that this attempt to render a previously excellent course more commercially viable by making it more superficially appealing for students is directly linked to this story: <http://news.ycombinator.com/item?id=4785246>

If everything is always forced to justify itself commercially, then everything will implode into a hideous, hollow caricature of itself. Everything becomes a flashy excercise in deceit and con artistry if it wants to survive. Quality and substance can never hope to win against marketing.

</comment><comment><USER19> My high-school CS teacher structured his course around SICP--he worked with Brian Harvey to build the curriculum--and looking back I can definitely see the power of this approach.

I agree whole-heartedly with what he's said in this piece and hope that others can continue to reap the value of SICP. It's made me a clearer thinker and better programmer.

One might say that SICP is unique in as much as it transcends coding as an act of "slinging code at a screen", pushing readers to think carefully about the nature and design of their programs. That's only a sliver of what it does, but it's ever so easy to miss that as a beginning programmer.

Yeah, it definitely takes discipline to get through, but it's quite rewarding.

</comment><comment><USER20> Is this still true?

"The language in which you'll spend most of your working life hasn't been invented yet, so we can't teach it to you. Instead we have to give you the skills you need to learn new languages as they appear."

<comment><USER21> God I hope so.

</comment></comment><comment><USER22> While on the coursera online scala irc chan we discussed other material, SICP came with sentences like 'rumors made me read it'. This book lives by itself.

</comment><comment><USER23> As someone who hasn't been able to get enough motivation to read past the first few pages of SICP, I _really_ wish someone made a TryRuby.org like thing using SICP.

Please!

<comment> qu4z-2 You mean to give you a scheme REPL?

Because I'm skeptical of the use of transforming SICP into a "tutorial" style. It's the kind of book that you need to read and think about.

Having said that, finding a REPL that's compatible with it can take a little bit of time. Personally I quite like GambitC which I seem to recall is fairly compatible.

</comment></comment><comment><USER24> i start reading SICP a week ago, and let me tell you, its like i am actually re-learning programming with this book! SICP is amazing.

<comment><USER25> Watch the video lectures, too. I actually liked them better than the book.

</comment></comment><comment><USER26> The best cs book by a mile. One can't help but fall in love with programming after reading SICP. I'm now reading Peter Norvig's Paradigms of AI Programming. It's another classic. I've also listened to video lectures of Brian Harvey. I think his own twists to SICP such as starting the course with functions on words instead of numbers are invaluable too.

</comment><comment><USER27> I just finished watching MIT 6.00SC for the hell of it. It was really sad experience.

Of course, prof. Guttag is really a big-shot and seems like no one could say anything, but I cannot even properly describe how much worse it was than CS61A by Brian Harvey.

It is not just Python, it is ugly Python, boring Python, without any hint of elegance it could be. No list-set-dict comprehensions, which is what makes Python interesting, very few slicing examples and one or two use of yield.

I must say that usage of classes was reasonable - only when there were even a small advantage to structure the code this way, but it is just boring stuff.

Each lecture of CS61 keeps you alert and awake, and curious, time passes unnoticed, and you almost feel how a new connections growing in your brain,) while in 6.00CS you're forcing yourself to to stay alert, almost yawning.

So, if one is engaged in self-education just do CS61A and _old_ 6.001 classic videos. After you can skim trough all those mainstream Python-based courses very quickly with great ease. I can do 4-5 lectures per day.)

<comment><USER28> Where might I find the CS61A videos? A cursory search found the Brian Harvey course page at

<http://inst.eecs.berkeley.edu/~cs61a/sp11/>

but the lecture webcasts link seems to be broken

[http://webcast.berkeley.edu/course_details_new.php?seriesid=...](http://webcast.berkeley.edu/course_details_new.php?seriesid=2011-B-26281&semesterid=2011-B)

<comment><USER29> I believe you're looking for <http://inst.eecs.berkeley.edu/~cs61AS/fa12/>

<comment><USER28> Thanks! From his note about Scheme not surviving his retirement, I thought he was gone.

</comment></comment></comment></comment><comment><USER30> We need to start discussing about OO in general. We have a generation (or two,three in internet time) that think that OO is the epitomy of software engineering. We have Haskell, Ocaml, and others that can do better

<comment><USER31> Why haven't they? Success in practice is hard to argue with. Theory can always sit in the corner, winning every debate by staying above the fray of the dirty real world, and never get much of anything done.

Please don't attempt to rebut with Real World Haskell, unless you have read the book and gone on to build a widely deployed application.

</comment></comment><comment><USER30> am i wrong in thinking in the Common Lisp thinking that data and methods don't belong together? In production environments we at least have extensions methods in c#, but man i still love generic functions in CL style. Why am i wrong?</comment>


Show HN: UI pattern for truncating long integers/strings in tables - <AUTHOR> https://github.com/jessekorzan/truncated-cells <comment><USER2> This looks good, but it reminds me of a problem I've noticed in this situation: the truncated cells have virtually no information.

Take this example data:

        999995
        999998
        999999

Imagine we have 5 display digits available; the default method is to display

        99999
        99999
        99999

But it might be better to show the distinguishing digit. eg:

        99..5
        99..8
        99..9

However I don't know what the best design or display pattern for that would be.

<comment><AUTHOR> Nice eye. Thanks for this... good enhancement. A good option for display, as it depends on what kind of numbers are being displayed and compared (fractions vs. big whole numbers).

<comment><USER2> In my case I was thinking of long strings such as SQL queries. We would show a few initial words, but in SQL they're typically the same.

For example:

        select sum(sales) from tablexyz where region = 'West'
        select sum(sales) from tablexyz where region = 'South'

In this case I think we want the distinguishing word or token, and we can fill the remaining space with text from the left, eg "select sum(sales)..'South'".

I could write out some javascript for this, but IANA front-end or css expert.</comment></comment></comment>


Jack Dorsey Almost Went to Facebook  - <AUTHOR> http://allthingsd.com/20131009/bilton-twitter-book-co-founder-jack-dorsey-almost-went-to-facebook-and-more/?mod=atdtweet <comment><USER2> If it is true that he was reduced to the powerless role of chairman early on, then what should I make of the story that he spends a full work-day at both twitter and square? [1]

1\. [http://www.businessinsider.com/jack-dorsey-says-hes- working-...](http://www.businessinsider.com/jack-dorsey-says-hes- working-16-20-hours-a-day-at-square-and-twitter-2011-6)

<comment><USER3> A few things.

First, that article is from over two years ago.

Second, that article is itself three years after he was removed from the CEO role.

From what I understand, after Ev was removed as CEO and as Biz Stone was on the way out, Dorsey was basically invited to step back into an active product role. There were numerous conflicts between Ev / Biz / Dorsey and Costolo has a much better relationship with Dorsey.

<comment><USER4> And Dick Costolo said earlier this year (maybe late last year) that Jack hasn't been involved on a day-to-day basis in quite a while.

</comment></comment></comment><comment><USER5> What's the value of reading books like this? Seems like a gossip rag. We look down at people who read celebrity tabloids but this is no different just because the drama happens inside an office.

<comment><USER6> One obvious value of this "gossip rag": investors evaluating Twitter's IPO getting an idea of the volatility in Twitter's management.

<comment><USER7> ... 2 years after the fact?

</comment></comment></comment><comment><USER8> I'm impressed at how quickly Nick Bilton's article, which is a fairly rich and interesting narrative, is summarized with an "executive as celebrity" headline that could easily appear in People magazine (if you substitute Hollywood for tech).

</comment><comment><USER9> I wonder how the dynamics of the Valley would've changed had Dorsey moved to Facebook? ;)

</comment><comment><USER10> not interesting.

<comment><USER11> Quite. I have no idea who this guy is, and thousands of people work at Facebook.

<comment><USER12> Jack Dorsey is the creator of Twitter and Square.

</comment></comment></comment><comment><USER13> The shutdown will likely cancel Twitter's IPO, they are not out of the woods yet.

<comment><USER14> In terms of overall market conditions or what else?</comment></comment>


Just Say No to Facebook's Internet.org, Says Inventor of World Wide Web - <AUTHOR> http://timesofindia.indiatimes.com/tech/tech-news/Just-say-no-to-Facebooks-Internet-org-says-inventor-of-World-Wide-Web/articleshow/49257003.cms <comment><USER2> I'd have much less of a problem with this if it wasn't being branded as "Internet". The whole premise of the Internet is that it's, well, the Internet. As in, a singular global network of connected machines.

If they want to launch FacebookNet or MiniNet or FooNet or whatever, more power to them, but this isn't the Internet and shouldn't be branded as such.

<comment><USER3> Reminds me of this...

[https://en.wikipedia.org/wiki/Kwangmyong_(network)](https://en.wikipedia.org/wiki/Kwangmyong_\(network\))

 _Upon a request, whole websites may be downloaded from the Internet, undergo review and censorship, and be published on Kwangmyong_

</comment></comment><comment><USER4> Why are people so insistent that Facebook's Internet.org is a bad thing? Is no internet really better than limited internet? These people have almost no internet right now. A lot of these countries can now use Google and Wikipedia. It's either total freedom for free, or no freedom at all?

<comment><USER5> In my opinion, no internet is better than a limited internet. With no internet, people WANT the internet very badly. With no internet, ambitious entrepreneurs see a market willing to pay for their services.

No internet births wireless ISP's and Co-op internet and mobile providers.

If there is a free, but limited, internet then customers might not be willing to pay money for internet service anymore and there won't be enough demand for a business to try to bring real internet to those areas.

<comment><USER6> > In my opinion, no internet is better than a limited internet.

All of the proposed charitable objectives(as opposed to Facebook's own interests) would be served by just providing free internet with a limited data cap.

Customers would want more data badly, local entrepreneurs would be free to make any kind of app to serve the poor, rather than being restricted by Facebook's guidelines, and can even be not disallowed to compete with Facebook.

The problem with internet connectivity in India is that rural areas do not have good coverage or fiber or even copper. Internet.org doesn't address any of this, so this is NOT aimed at the poor.

It is instead aimed at teenagers, who can't pay for their own data packs yet, but still have access to smartphones. Facebook is trying to ensure that no startup ever takes mindshare away from Facebook.

<comment><USER4> I don't know if this is practically true for a lot of these countries. In a lot of these countries, a vast majority of the population doesn't have easy education, and are often poor. Countries like India have a much better percentage (but still small) of the population that can afford the internet, that ISPs are incentivized to grow and expand. Countries like Zambia -- not so much (I don't actually know if internet.org is in Zambia). I don't know that a small business in Zambia has the capital to expand considering how many people can afford it.

<comment><USER6> Interesting question.

Should foreign companies be allowed to create monopolies, because potential local competitors do not have enough capital currently?

I guess the obvious answer is no, but its still an interesting line of discussion.

</comment></comment></comment></comment></comment><comment><USER7> Facebook is a parasite of the real internet. Videos from other sites are embedded in your Facebook feed. You watch them on Facebook, comment on Facebook.

<comment><USER8> That's not parasitism, embedding content is the way the "real internet" is supposed to work. And all of that embedded content on Facebook links back to the original site, anyway. People add meta tags and social graph tags to their sites for a reason.

And anyway, that seems an odd criticism to make on a forum built around the same basic principle - people link content here, and discuss it here as well.

<comment><USER9> It's parasitic because of its particular approach. For example, it could embed youtube videos... so that the real creators get their pay, but no, Facebook would rather that the videos be Facebook videos, thereby the original creator getting zero profit from his hard work.

See [https://www.youtube.com/watch?v=L6A1Lt0kvMA](https://www.youtube.com/watch?v=L6A1Lt0kvMA) for a first-hand account of the situation.

</comment></comment></comment><comment><USER10> What bothered me most about some recent headlines was that they kept saying how Zuckerberg is trying to bring the "Internet" to Africa and whatnot, when in fact they were referring to "Internet.org", i.e. only about 50 websites of the whole World Wide Web - 50 websites that are completely "curated", per the local governments' wishes. Is that the kind of "Internet" we want the other 2-3 billion people to get?

If Zuckerberg actually felt as philanthropic as he pretends to be, he should try to bring the _real_ Internet to everyone, with no other hidden agendas (he is trying to portray Internet.org as a philanthropic thing not as a Facebook global domination strategy, after all).

<comment><USER11> I agree with you, but also: right now Facebook is effectively the main web browser for millions and millions of people. Even without Internet.org, those 50 websites are all a lot of people see. How can we change this model in a realistic, attractive, non-techno-utopian way?

(Also, in light of Internet.org, Instant Articles seem like a pretty democratic thing to do - bringing external content that would otherwise be blocked into this context.)

<comment><USER12> Isn't Google's approach "realistic"? They're just pulling fiber in Africa, without walled gardens. They now have better networks in Uganda than we have in the Bay Area.

[https://www.google.com/get/projectlink/](https://www.google.com/get/projectlink/)

<comment><USER13> Despite a lot of fiber in Africa, connectivity is hampered by ISPs refusing to pay for bandwidth, ultimately resulting in super slow connection speeds and horrible latency.

</comment></comment></comment></comment><comment><USER14> So in China, Iran et al., you can get past censorship with VPNs. If I understand this correctly, China's GFW blocks about maybe 20% of the internet, while Facebook's proposed free ISP blocks perhaps 90%.

Perhaps there's room within the remaining 10% to create a VPN and fudge access to the free internet? Perhaps using TCP-over-DNS, or even something ridiculous like TCP-over-Facebook-chat?

</comment><comment><USER15> This thread is interesting, finally people have started to complain that they are only against the name instead of saying that internet.org will skew the market (which it might).

This shift of thinking is vividly interesting, it is quite possible that next time people won't object.

<comment><USER6> This line of thinking is dangerous too, since Facebook has already changed the name. It's now called Free Basics by Facebook.

However, it is still a limited internet because it runs on top of IP networks provided by existing ISPs, who are using public spectrum. This public spectrum was auctioned for telecom and Internet services, the public and regulators still need to look at how this will skew the market and competition.

</comment></comment><comment><USER16> I'd like to see Wikipedia, or some other project that is in on this, to launch some subversive open proxy functionality in this becomes reality.

I understand it can't happen like that, but you get the general idea. (Something like "general purpose computing FTW". One can dream, right?)

</comment><comment><USER17> The sense of entitlement here is amazing. Is dying of thirst really preferable to a free Coke?

<comment><USER18> Apparently it is when someone _else_ is dying for _your_ free Coke.

</comment></comment><comment><USER19> It's still free, no one is forced to use this. Companies exists to make a profit, if Facebook offers something for free of course it's not driven by philanthropy. I believe internet.org is better than no internet at all. Hopefully people in developing countries will be offered alternative in the near future but to get normal internet they need to earn enough to pay for it - internet.org is free with means people using it are the product.

<comment><USER20> Well, internet.org is non-profit organisation, so...

<comment><USER21> > non-profit organisation

What do _you_ think that means?

I don't want you to look up a definition for me _(I can do that myself after all)_ , I want you to describe what that concept makes _you_ think and feel.

</comment></comment></comment><comment><USER22> Edit: Disclosure: I work for Facebook, but not with Internet.org. I'm not aware of any master plan Zuckerberg has for it, other than spreading internet usage

I'm surprised that Berners-Lee is taking this stance. If anyone, he should understand the critical importance of access to basic information and communication. Connectivity is a cornerstone for developing nations and allowing young minds to prosper. I feel this is a basic human right, but over half of the world's population is not online. They cannot afford it or they do not see the value it provides.

It is grossly presumptuous to say that a small subset of the internet is worse than no internet access at all. The pure internet is obviously better than internet.org. Once people can see the vastness of the internet, nobody will want to be stuck behind a firewall.

Tim Berners-Lee would rather impoverished people have no access to connectivity rather than access to Facebook's watered-down version. He wants them to reject and deny one of the most important things they now have access to. Would he also tell starving children to turn away food donations that are not organic? I guess he would tell them to "Just say no"

<comment><USER23> It would be good if you would mention that you work for Facebook when you enter this kind of discussion. That fact colors your argument.

<comment><USER22> Edited in that disclosure at the top. I am a stockholder, and I agree that colors the arguments. Honestly I didn't feel that it was very relevant because I don't work very closely with internet.org, and I don't think they have any secrets.

</comment></comment></comment><comment><USER24> The question being asked here is if Internet.org's curated content negates access itself. Given the recent, unprecedented restructuring in mobile ads, maybe there's a better question: Does Facebook really believe the internet can be restricted to 50 sites?

</comment><comment> start-up-woes People should have learnt by now to stop resisting change. It will happen eventually.

</comment><comment><USER25> Before you say No to I.org, propose something better to say Yes to.

<comment><USER6> Internet.org brings no new infrastructure. It is not easier to bring to the poor by alternative infrastructure.

Free neutral Internet with a small data cap is much better than this, if you want to give 'some' Internet to the poor. "No internet" vs "subset of Internet" is a glaring false dichotomy if I ever saw one.

</comment></comment><comment><USER26> Way to make something that should be philanthropy at its finest into opportunism Mark Zuckerberg. What a dick.

</comment><comment><USER27> When asked to elaborate Tim Berners-Lee replied "not enough DRM for my liking".

</comment><comment><USER28> I hope this gives some pause for people who advocate the XKCD line on free speech[0]. While not every platform should be required to host every kind of content, when a platform becomes sufficiently dominant, its ability to censor content becomes a free speech issue.

[0] [https://xkcd.com/1357/](https://xkcd.com/1357/)

<comment><USER29> While you bring up a valid issue (per e.g. [1]), it's not clear to me what you're trying to say about it. Even less clear to me is how any sort of coherent legal regime would be imposed on something like Internet.org, which presumably has access to sufficient resources to carve up its legal entities into the tastiest possible slices (such that e.g. the local entities only run the base stations while content approval decisions are ostensibly made by a mailbox in Panama or whatever).

[1]: [https://en.wikipedia.org/wiki/Pruneyard_Shopping_Center_v._R...](https://en.wikipedia.org/wiki/Pruneyard_Shopping_Center_v._Robins)

<comment><USER28> I wasn't saying that Facebook should be regulated like shopping malls. I was saying that people who say that _private_ censorship is not problematic, do not have an answer for things like internet.org. Facebook are legally free to set up programs like this, but people are also right to criticize Facebook for setting up a system that takes away from the freedom of the open internet. The shallow analysis of the XKCD comic ignores these issues, yet I often see that comic posted when people complain about left wing censorship online.

<comment><USER29> A daily comic isn't the medium that one usually chooses for subtlety or depth. A lot of people complaining about "left-wing censorship" (or "right-wing censorship", for that matter) are in serious need of a clue-by-four and wouldn't bother reading a deep analysis if it were given to them.

<comment><USER28> But people complaining about "corporate censorship" are smart well informed people? How is internet.org controlling what website people get to see different from, for example, YouTube controlling which videos people get to see? And how are the whims of whoever will control or influence internet.org different from the (mostly left wing) groups that (sometimes successfully) pressure companies to remove material from their websites.</comment></comment></comment></comment></comment>


Naming and shaming companies who kowtow to Chinese censorship requests - <AUTHOR> https://caffeine-overload.github.io/bandinchina/ <comment><USER2> I really hope the whitelist grows longer, however due to the powerful incentives involved I don't imagine it will anytime soon. Maybe if China does something the international community finds completely abhorrent then companies will get enough social pressure to resist China's influence.

<comment><USER3> I wonder what sort of allegation it would take that could top what's already been attributed to this administration.

</comment></comment><comment><USER4> Hosted on Github...

If Github/Microsoft gets added to the list, will it cause an infinite loop?

</comment><comment><USER5> Marvel shouldn't be in this list.</comment>


A peek inside IBM's research lab points to the shortcomings of corporate R&D - <AUTHOR> http://www.latimes.com/business/hiltzik/la-fi-mh-a-peek-inside-ibm-s-research-20151012-column.html <comment><USER2> The LA Time's link to the IEEE Spectrum article is borked. It should be [1].

[1] [http://spectrum.ieee.org/tech- talk/computing/hardware/david-...](http://spectrum.ieee.org/tech- talk/computing/hardware/david-divincenzo-on-his-tenure-at-ibm-and-the-future- of-quantum-computing)</comment>


Nginx for Developers: An Introduction - <AUTHOR> http://carrot.is/coding/nginx_introduction <comment><USER2> If you like this article, I wrote a similar one called Devops for Dummies.

[http://tech.pro/tutorial/1335/devops-for-dummies-vps- configu...](http://tech.pro/tutorial/1335/devops-for-dummies-vps- configuration-from-scratch-rails-nginx-postgresql)

It teaches you how to setup a DigitalOcean (or any other) VPS from scratch to host N amount of Rails applications using Nginx and Passenger. It took me some time to get things working properly and I distilled it into this short article that holds your hand and takes you from A to Z.

<comment><USER3> One thing I would recommend is searching for deals on LowEndBox[1] blog. Most of the popular VPS's are ridiculously overpriced compared to what you can find on LowEndBox. It's a good site to get advice and reviews of various VPS providers, too.

[1] - [http://www.lowendbox.com/](http://www.lowendbox.com/)

<comment><USER4> LowEndBox is great for non-mission critical servers. You aren't going to find many top tier providers on there, mostly smaller companies. I got a dedicated box (quad Xeon, 24GB RAM, 500GB) for $49/m.

<comment><USER2> I would love to get my hands on one of those. What provider did you get it from?

</comment></comment></comment></comment><comment><USER5> Good article. Be wary of the well documented zero-day exploits if you're using php.

This is one of my other favorite articles: [http://docs.ngx.cc/en/latest/topics/tutorials/config_pitfall...](http://docs.ngx.cc/en/latest/topics/tutorials/config_pitfalls.html)

Some good introductory stuff here as well: [http://pineapple.io/resources/tagged/nginx](http://pineapple.io/resources/tagged/nginx)

<comment><USER6> How can a zero-day be well documented? By definition it's not yet public.

<comment><USER7> It sounds scarier than saying: "If you use PHP, remember to set the following in your .ini"

        cgi.fix_pathinfo = 0

<comment><USER8> So not zero day and not an exploit. A terrible idea for a feature though, PHP seems to be rich with those.

<comment><USER7> Not really a terrible idea at all. They are simply conforming to the CGI specification. In realizing the potential security issues associated with doing so, they offer a way to disable that behavior.

</comment></comment></comment></comment></comment><comment><USER9> I think the sites-available is a debianism, not present on all distros. One nice thing that nginx supports is include directives with wildcards so you can e.g. have /srv/example.com/nginx.conf and /srv/api.example.com/nginx.conf and include them in the main configuration file with include /srv/*/nginx.conf.

<comment><USER10> Today You Learn that is because the original package maintainer of the NginX package in Debian (and thus later, Ubuntu) simply copied the structure of the Apache package. It's most useless because _there is no script to manage the sites available like with apache_.

I have been complaining about this for years!

On FreeBSD and all my client's sites (whether they run Linux or what), I always set mine to include sites/*.conf and delete those apache-isms.

<comment><USER11> It's especially bizarre given how trivial such a script is - as far as I am aware, it's a glorified symlink-maker.

Hrm, looking now, a2ensite is 340 lines long...

<comment><USER10> Quite the glorified symlink maker!

It is my experience from years of administration that `ln` and `rm` (or perhaps `mv`) are the only commands necessary to work with the directories without the scripts.

</comment></comment></comment></comment><comment><USER12> For starter nginx's configuration, the h5bp nginx config [1] is pretty awesome, e.g. sending correct mime types, protecting hidden files, cross domain webfont, expires, gzip, server tunings all included.

[1] [https://github.com/h5bp/server- configs/tree/master/nginx](https://github.com/h5bp/server- configs/tree/master/nginx)

<comment><AUTHOR> Great suggestion, thanks @tszming!

</comment></comment><comment><USER13> _> The default port for the internet is 80, so if there's no port in a url, that means it's 80._

The Internet has no default port; 80 is for HTTP. If the port is omitted, then the default for the scheme[1] is assumed.

</pedant>

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

<comment><AUTHOR> haha fair enough, if I changed "the internet" to "http" would that satisfy you?

<comment><USER14> Yes, that would be good to change it to "http" to be clear about the protocol you are talking about. :-)

</comment></comment></comment><comment><USER15> I am a little hesitant on restarting nginx. When you do that, it drops the connections that are currently attached. Instead, you may want to do `nginx reload`

<comment><USER16> I can't imagine there are many connections to worry about if you're configuring a new server.

<comment><USER15> Right but if you are modifying and existing server, then this needs to be taken into account. We have several servers who are constantly serving connections and we can't have any of them drop otherwise it will result in a poor user experience.

I just wish the article talked about using reload as well as restart and when to use them.

<comment><USER17> Me as well. I always use reload but I don't really know how it works. Does it maintain the old and new configs and drops the old after the last connection using it is complete?

<comment><USER10> When NginX's master process receives the HUP signal[1], NginX will process and test the new configuration. If it is correct, the new configuration will be loaded into new worker processes. The old worker processes will stop receiving connections, but finish their current work. Eventually (within milliseconds usually), all the old processes will be gone and only new processes with new configuration will be working on requests.

[1] On FreeBSD, we just use `killall -HUP nginx` to reload; your distro will probably send HUP to the master process' PID

</comment></comment></comment></comment></comment><comment><USER18> One of my favorite nginx features I just discovered is that you can use a regex in the server_name and then you can use the capture as a variable later [1] ... this lets you serve domains or subomains from completely different directories without a new conf file or a reload.

I'm using it at [http://www.utterson.me](http://www.utterson.me) to serve up static Jekyll blogs on a subdomain.

I may be wrong, but I don't think Apache can do this (it can do regex but you don't get a variable).

[1] [http://nginx.org/en/docs/http/server_names.html#regex_names](http://nginx.org/en/docs/http/server_names.html#regex_names)

<comment><USER19> I've done something similar in Apache with mod_vhostalias, where you set a VirtualDocumentRoot that specifies the pattern to match against and the dynamic directory path to serve up.

</comment></comment><comment><USER20> I like just keeping a single "etc/nginx/sites" folder, including "sites/*.ON" in my main nginx.conf and then appending .ON to the sites that are enabled:

        active.site.com.ON
        another.active.com.ON
        not.active.com

<comment><USER21> That's clever. Coming from Apache I was disappointed not to see something equivalent to: a2ensite (site)

<comment><USER22> Wouldn't it be kind of trivial to right a function to would take a directory name as a parameter and symlink it from site-available to site-enabled?

<comment><USER21> It would be. That's exactly what a2ensite does. That's what I ended up doing.

</comment></comment></comment></comment><comment><USER23> For some strange reason I was expecting an article on nginx module development. [http://www.evanmiller.org/nginx-modules- guide.html](http://www.evanmiller.org/nginx-modules-guide.html)

<comment><USER10> You aren't at all alone. I was really hoping for updated module development information from someone currently in the trenches.

</comment></comment><comment><USER24> Completely off-topic: Is that a custom WP theme? I love the look and feel of this article.

On-topic: Thank you for this. I am going to purchase a DO box this weekend and play around with nginx instead of apache. For some reason when I last tried to use nginx, I could not get location {} to work. Granted it was some time ago.

Does anyone have any resources on nginx as a load balancer?

<comment><USER25> Avoid using Digital Ocean(DO).

We had very very bad experience with them, file-system corruption, hardware failures.

And we are still unable to recover all our data. And so far, no hope!

They don't answer any of the questions properly, my team is very upset. We felt, they don't have much technical expertise in managing servers.

DO might be okay for testing and learning, but never use them for any production setups.

Update: we are still struggling to get our data back. No hopes so far.

We shall write a detailed blog post on the whole experience with Digital Ocean.

<comment><AUTHOR> On the contrary, if you just need a box to tinker with sysops stuff and learn, digital ocean is a fantastic solution. Cheap and I've never had a bad experience or anything unreliable.

I can't speak to using it to store lots of not-backed-up files or running a gigantic production server, but for learning about syops it works great, to get back to the purpose of this article.

<comment><USER24> That's kind of where I'm at right now. Normally all of my side projects are hosted on PAAS (Appfog is my current choice, but we will see since their acquisition).

I really just want to practice setting up and tearing down configurations. I think DO will be a good choice for this.

<comment><AUTHOR> Was in that exact same spot a couple months ago and did the same thing. I was eyeing DO for a while and one day folded and paid the (really no brainer) $5. I've learned a ton since then and it has been absolutely worth it for me.

I actually transitioned all my apps off any other PAAS platforms (mostly nodejitsu, timed nicely with their 3x price increase) and am now hosting everything I run off a single $5 digital ocean box, which actually is saving me a bit of money, and deploys are a lot smoother. The company I work at, Carrot, is also hosting all of carrot.is on a $5 DO box, including this article, which has had no issues coping with the 600+ people on site at a time that have come with this HN blitz.

</comment></comment></comment></comment></comment><comment><USER26> It's kinda depressing that this article is basically just a copy of one I wrote in 2010 and it's still something that gets attention as interesting stuff. Nginx documentation obviously still has a long way to go.

<comment><USER27> I've actually had your article bookmarked for some time. I got it from the nginx wiki page at [http://wiki.nginx.org/Configuration](http://wiki.nginx.org/Configuration).

I was more surprised than depressed about the upvotes for the current article. It really makes me wonder if the technical level of the audience here hasn't declined substantially. The current article is well written but it's aimed at a "Dummies" rather than developer level.

<comment><USER28> yeah, you got to checkout the number of twitter bootstrap tutorials.

</comment></comment></comment><comment><USER29> I've always wanted to use nginx to build web apps in Lua .. does anyone know/can recommend any great tutorials with this in mind? It'd be nice if I could learn how to use nginx+lua to build a blog, and so on .. I'll use google, but on the off chance someone on HN knows of something already, I'm all ears ..

<comment><USER10> You might be interested to know that NginX can even embed Lua internally as a scripting language in the configuration[1].

As for your goals of connecting NginX to serve your Lua project, well that's quite simple really. Unlike Apache or Lighttpd, _NginX is not an application server_. NginX is only a _reverse_ proxying HTTP server that speaks HTTP, FastCGI, and UWSGI. To connect your Lua application to NginX, your Lua application will either need to speak HTTP, FastCGI, or UWSGI. I don't know anything about Lua so I can't really help you figure out which is best, but in terms of setting up with NginX, it mostly just changes which flavor of pass you will use.

[1]- [http://wiki.nginx.org/HttpLuaModule](http://wiki.nginx.org/HttpLuaModule)

<comment><USER29> Thanks for the reply - I am definitely learning a lot from this feedback, and appreciate the effort.

</comment></comment></comment><comment><USER30> This article is just fine for IDE-side development, but I would not recommend for anyone to use the version of nginx in the standard Ubuntu package manager. It traditionally is several version back missing important key features that you might want to take advantage of.

<comment><USER31> Generally, it's installed using apt, but from a source maintained by nginx. It's just a quick modification of sources.list.

[http://nginx.org/en/linux_packages.html#stable](http://nginx.org/en/linux_packages.html#stable)

</comment></comment><comment><USER32> Slightly off-topic, but I'm sad that people still use apt-get. aptitude is pretty much just better[1].

Also, if you're reading this article you probably don't need the slightly better performance/throughput of nginx. Nginx's configuration is just terrible. You can cause segfaults and all sorts of unexpected behavior with the If directive[2]. And who came up with the idea that rewrite[3] should sometimes redirect instead of rewriting?

 _If the replacement string begins with[http://](http://) then the client will be redirected, and any further rewrite directives are terminated._

Apache's configuration might be ugly and unwieldy and the community might be horribly infested, but at least the configuration makes sense. Lighttpd has none of the above problems, though.

[1] [http://superuser.com/questions/93437/](http://superuser.com/questions/93437/)

[2] [http://wiki.nginx.org/IfIsEvil](http://wiki.nginx.org/IfIsEvil)

[3] [http://wiki.nginx.org/HttpRewriteModule#rewrite](http://wiki.nginx.org/HttpRewriteModule#rewrite)

<comment><USER10> I'm extremely biased as I have been using NginX for many years now; however, I've got to _completely_ disagree with you.

NginX's configuration is beautiful, elegant, and concise. It kicks the ever living crap out of configuring Apache or Lighttpd (the two other HTTPd's I have extensive experience with). It seems so strange, because it's _different_.

NginX's configuration language is _declarative_. If is _imperative_ and actually using if inside locations in NginX creates an inner location and executes a mini language to process.

        14:42 <+merlincorey> !ifisevil
        14:42 < ngxbot> please see above

Please see [http://wiki.nginx.org/IfIsEvil](http://wiki.nginx.org/IfIsEvil) for more about that in particular.

Finally, I have to disagree with OP... NginX has great documentation, written by Igor himself initially (and edited by the community) available here: [http://nginx.org/en/docs/](http://nginx.org/en/docs/)

<comment><USER32> Yes, I linked to IfIsEvil. The fact that you need a page to document the horrible behavior because it's too late to fix it is a sign that something is very wrong with the config syntax.

<comment><USER10> The fact that you think it is a problem with the configuration syntax is an indication that you didn't read the wiki page, or the important part of my comment.

NginX's configuration is _declarative_.

The reason the _imperative_ if was given powers beyond its means was because people clamored for the feature.

The reason it's still there is because _removing it would break some working configurations that use if_.

If you don't have experience with declarative programming and you think in terms of imperative programming, it might seem "horrible behavior", but actually, it's what is to be expected from mixing the two paradigms in the way it is being mixed.

The real wart is under the hood where-in location based if's are converted to sub-locations. This is where many problems related to IfIsEvil stem from.

<comment><USER32> I'm rather annoyed that you're not reading anything I've said.

No, the problem is not that I haven't read the page. I have. It can cause segfaults. Your configuration can cause segfaults. Your _configuration_ can cause _segfaults_. _Your configuration can cause segfaults._

And yes, I acknowledged that they can't remove it because it's too late, using those exact words. That doesn't mean it's not a problem. It means you should jump ship to something saner, like lighttpd, which also doesn't have the rewrite-sometimes-redirects problem.

<comment><USER10> > Your configuration can cause segfaults.

 _MY_ configuration never causes segfaults, because I understand the _declarative nature_ of the configuration language, and I don't _mistakenly attempt to shoehorn imperative constructs_ into it.

By your logic, software should not be written in C/C++, because _it can cause segfaults_!

> It means you should jump ship to something saner, like lighttpd,

Ah, you're a lighttpd guy. I'll stick with not having the http server also be an application server, and we'll agree to disagree.

Have a nice day.

<comment><USER32> I was using "your" in the third-person, a quirk of the English language that is too late to fix.

 _Configuration_ should not be able to cause your software to segfault. Configuration shouldn't be software. And, in case it's not clear, configuration should not be written in C/C++.

</comment></comment></comment></comment></comment></comment></comment><comment><USER33> Guys, don't link to the community wiki, it contains a lot of obsolete or just wrong information. Always use official documentation: [http://nginx.org/en/docs/](http://nginx.org/en/docs/)

</comment><comment><USER34> I like this article because it reaffirms the demand for competent devops who've taken an afternoon to read all of [http://wiki.nginx.org/DirectiveIndex](http://wiki.nginx.org/DirectiveIndex).

</comment><comment><USER35> Just a note on readability. You have a font color of #555 against #fff; Its a light grey against white background and _very_ hard to read.

</comment><comment><USER36> Very nice article useful for Nginx newbies. While we are on that subject, can anyone please let me know if we can use Nginx for page cache busting purposes.

It is easy to configure Nginx to check if the cached version of the requested URL exists and serve it. But i would like to know if the configuration can be extended bit further to serve the cached file only if is less than a few days old?

</comment><comment><USER37> This is fantastic, thank you! The way it's written is great because it doesn't treat me like an idiot (I get why books do that, but it can grow tiresome). I wish more tech books were written like this.

While we're picking nits, I thought this might be worth mentioning:

> The default port for the internet is 80

I'd change that to:

> The default port for the web is 80

Again, wonderful guide!

</comment><comment><USER38> If you liked this, consider checking out Mastering Nginx by Dimitri Aivaliotis. I was quite surprised how helpful this book was.

[http://www.amazon.com/Mastering-Nginx-Dimitri- Aivaliotis/dp/...](http://www.amazon.com/Mastering-Nginx-Dimitri- Aivaliotis/dp/1849517444)

</comment><comment><USER39> Nice introductory article. Maybe it should have included a word about SSL support, especially the fact that you need to build nginx with ssl support, it doesn't come out of the box, so make sure you plan for when you'll need it

</comment><comment><USER40> If you are interested in running NGINX on Heroku, checkout my buildpack: [https://github.com/ryandotsmith/nginx- buildpack](https://github.com/ryandotsmith/nginx-buildpack)

</comment><comment><USER41> Been thinking about nginx for some time. If I could get an easy Mono/F# implementation working with it, I'd jump on it in a heartbeat.

<comment><USER42> If it can talk to a socket, nginx can talk to it. Is there something I'm missing?

</comment></comment><comment><USER43> In the example given "listen 80;" is completely unnecessary since it's a default.

<comment><AUTHOR> If you had read carefully, you would notice that it said that right under ; )

</comment></comment><comment><USER44> " nginx (pronounced engine-x). "

I have literally never heard anyone call it that.

<comment><USER45> How on earth else would you pronounce it? Now, lighttpd, on the other hand ...

<comment><USER46> I've always pronounced it "en gee eye en ecks".

Not the most elegant, but it rolls of the tongue relatively well and nobody who was familiar with nginx has ever been confused.

</comment></comment></comment><comment><USER47> What makes this "for developers"? Whats the difference if a sysadmin is reading this, or a Linux user?

Im surprised to see this on the frontpage, it is less than basics in anything any hacker worth its name can do.

<comment><USER48> I think it should read "Web Developers" \- those who may be less experienced in setting up a web server like nginx.

<comment><USER45> Why would a _Web_ Developer be less experienced in setting up a _Web_ server than a Developer? \- a touchy Web Developer :)</comment></comment></comment>


Ask HN: Do I ask for a payment? - <AUTHOR>

I, like most of us here, am a web developer.
Recently, 4 friends of mine started an NGO[a organization that works to improve awareness amongst people and looks upon other social aspects(in, well, India)]. They came to me with the idea, and I straightaway agreed to join. We even have quite a buzz now in the local newspapers and otherwise, and that's when we, around 50 of us now, decided that we need to go online. As you guessed it, it was me who was burdened with the task of making the website, I have nearly completed making it, over the past week, but there's a problem:
DO I ASK/ACCEPT A PAYMENT ?
I know it's not right to do so, as it's an NGO, but the other members of the NGO are arguing that I accept a payment, which I don't personally feel moral. This means not even accepting any money for the hosting and domain registration etc. etc. But this, isn't right, as why should I personally pay for hosting and stuff ??? And after all the cake and watermelon, as Joker would have said it "If you're good at something, never do it for free." <comment><USER2> There are two different costs here and that seems to be what's creating this moral dilemma.

Cost 1= Building the website (coding, design...)

Cost 2= Hosting the site and "stuff"

Assuming that you want to make a "donation" to the NGO, Cost 1 is the donation. And, to be fair, that's really the expensive part of "the website."

Cost 2, is what it takes to keep the site running, and those costs need to covered by the NGO. Or, if you left the NGO, you could stop paying for the hosting and _poof_ the site is gone.

Their site has to be their responsibility, otherwise it's just your site that they pretend is theirs.

</comment><comment><USER3> Is your work the same number of hours as others put in doing other stuff? Does anyone else get paid for their work?

If the organization has funds, it should pay for its hosting/domain name. If you are paying, ask if you can put a "Created by" link on the homepage. In the US, that would be enough to count your payment as an expense and deducted against taxes.

Also, in the US, if this was a 501c3 non-profit, you might be able to have your work count as a donation that you could deduct. Not sure if there's an equivalent in India.

</comment><comment><USER4> NGOs pay developers and contractors all the time. They just don't pay very well, but nowhere does it say that work for them is free.

Do as you wish. You can either donate your time, if you like the cause and can afford it. Or you can charge them a reasonable fee.

Non-profit means that the organization's goal is not to turn a profit and give it to its shareholders. But a non-profit will pay salary to its staff and CEO if it can.

</comment><comment><USER5> How about dividing the domain and hosting cost for the year across the group's 50 members . . . and maybe they can all take you out for dinner for the effort of putting together the website.</comment>


Nassim Nicholas Taleb: "What America does best is..." - <AUTHOR> http://www.wired.com/wired/archive/15.04/play.html?pg=6 <comment><USER2> I have to agree with him on that. I joked to my mother before that: the East Asians culture takes failures as disgrace and encourage "Failure is not optional" mindset, but U.S. culture takes it more lightly and as long as one can learn from mistakes and not cover them up. That's why high tech inventions are mostly happens in U.S.

</comment><comment><USER3> If the probability for black swans cannot be estimated, how do you identify the possible black swans (to position yourself accordingly as Taleb advises)? I think he swept this under the rug.

<comment><AUTHOR> You can't identify Black Swans; you can just assume that a lot of assets are priced as if they don't exist. So you could do what he was doing as of a year or two ago, and bet that oil will go to $10. Or $400. These are cheap bets, and he doesn't expect them to pay off -- but if he also bets that housing will double again or drop 20%, and that treasuries will yield 1% or 20%, and that a third party candidate will be elected to the US presidency, and that the US will experience net emmigration within ten years, and that global temperatures will decline over the next fifty... make enough of these very, very cheap bets, and you wind up with positive exposure to all the future events you didn't think of.

<comment><USER3> So you are not betting on black swans themselves, but you are betting on their results. Thank you for this insight.</comment></comment></comment>


Panic And Loathing From The S&P 500 Pits (Audio feed from a seasoned trader) - <AUTHOR> http://www.zerohedge.com/article/panic-and-loathing-sp-500-pits

<comment><USER2> Anyone care to translate?

<comment><USER3> pretty interesting tidbid: the pit language and structure is highly specific and has developed built in redundancy to prevent misunderstandings.

the word "for" typically only represents bids or purchases and the word "at" typically represents offers or sales.

so you can sell AT price X, but you don't sell FOR price X (some people say it wrong, but old timers tend to hate it).

typically to represent an offer you'd say "i'm [price] offered" or "i'm at [price]", but to represent a bid you'd say "i'm [price] bid" you'll notice he says "i'm offered AT [price]", but you wouldn't say you're bid "for" [price], you'd say "i'm [price] bid"

additionally in transactions, you'd say: sell [quantity] at [price] pay [price] on [quantity] inverting the structure gives another sanity check when people are checking trades verbally.

and those guys have insanely good memory, because they make these trades by word of mouth then card it (write up a paper slip) after the fact. when its busy, you can be carding trades up well after the fact and many trades later.

in the pit

<comment><USER3> and when you indicate prices with your fingers, palms in for bids or purchases, and palms out for sales or offers.

yes, people still do that by holding up the number of fingers of the price they want. yes, its archaic.

but frankly, the electronic markets tend to do really poorly in these situations. its hard to get a "real" 2-sided market in panics and all the liquidity is relly in the pits.

</comment></comment></comment><comment><USER4> If you can't access the original post, the audio is here: [http://www.zerohedge.com.nyud.net/sites/default/files/Market...](http://www.zerohedge.com.nyud.net/sites/default/files/Market%20Crash.mp3) or here: <http://www.mediafire.com/?ug2o5yngzyw>

</comment><comment><USER5> Wow. Oddly enough this sounds like someone announcing a horse race.

</comment><comment><USER6> Why do we have people in the pits again?

</comment><comment><USER7> Don't suppose anyone grabbed a copy of the audio while it was still up?

<comment><USER8> Site is down but my download manager continues to grab the file. Strange.

[http://www.zerohedge.com/sites/default/files/Market%20Crash....](http://www.zerohedge.com/sites/default/files/Market%20Crash.mp3)

<comment><USER7> Thanks. I picked it up via curl, but it was crashing Firefox.

It's up at <http://dl.dropbox.com/u/2169086/Market%20Crash.mp3> for a while, now.

Not a pleasant experience listening to that. Perhaps that's the way the world will end - not with a roar, or a whimper, but pure panic.

</comment></comment></comment><comment><USER9> It's down now.

</comment><comment><USER10> Frightening.</comment>


Twitter down... but this time it's more embarassing - <AUTHOR> http://twitter.com/?sdfsd <comment><USER2> What, besides asp.net, uses "<%=" as a print statement? Just curious...

<comment><USER3> The ERB templating language uses it. ERB is commonly used with Rails.

Judging by the <%= reason.capitalize %> in the title (which appears to be ruby code... although could be something else) this part of the site appears to still use Rails.</comment></comment>