Why Files Exist - <AUTHOR> http://blog.filepicker.io/post/26157006600/why-files-exist <comment><USER3> If you want to get existential files don't exist. What exists is a way to name a non-volatile data set. Given the name, and a non-volatile memory unit, and an algorithm for translating between that name and a memory unit specific representation of its internal structure, you can retrieve the data set. If the name is sufficiently portable you could in theory hand it to another program/process/thread and that thread could translate to the actual data on the memory unit.

It sounds all horribly abstract but it is the actual reason file names, file systems, and file system APIs exist. Then there is a whole different set of semantic interpretation of the contents of files. Whether it is a simple stream of UTF8 encoded code points, or an ELF file which can describe executable code that is ready to be loaded into memory and executed.

The OP decrys the lack of an _interchange_ format which is simply a convention by which two programs can both interpret the contents of of non-volatile memory which they have both accessed using a unique name. And that mostly because of iOS devices and the applications which have eschewed the idea of putting the names of their non-volatile data sets into a globally accessible namespace.

<comment><USER4> That's exactly right. Files don't exist. The "filesystem" just a big fat KV store.

Somewhere along the way someone decided it'd be a useful abstraction to imagine a hierarchical organization system (directories) on top, so that was glommed on, but it's not real either.

It was never a perfect system, but it worked well enough when most users were fairly technical and had a humanly comprehensible set of labelled data streams.

I appreciate the effort to insulate users from the complexity that has grown up underneath them. The simple fact is that most people fail at large scale taxonomy and organization. It's hard. And it's a lot of work to maintain even if you're good at it. See: library science. So I don't think there is another model that will succeed as well as "files" have.

iOS hides the filesystem, but it's still there obviously. So far all we've seen is insulation for those who need it, as a byproduct of huge control loss for everyone. The other (valuable) byproduct is security.

We haven't found the compromise yet. There might not be one.

<comment><USER5> There is a hierarchy of organization structures that are typically used for "content." For content with low numbers, a list works best. For example, the home screen is a list. With a medium number of files, hierarchical structures like traditional file systems work best. However, when you reach many, many files, tagging and searching is typically needed.

Files do exist. They are the values in the filesystem KV store, but they are also a schema for the value so that interoperability works. If we followed your logic, apps would not exist either but we all agree they do.

<comment><USER6> > when you reach many, many files, tagging and searching is typically needed.

When you reach many, many files, just _try_ to get people to tag them. Just _try_.

<comment><USER7> Indeed, you either tag from the get-go expecting to have many, many files in the future, or you give up on ever contextually managing those files outside of large containers.

How do you tag a file when you can't find it to tag it, and when do you tag a file that you've forgotten about?

Ultimately, someone comes up with yet another abstraction that makes it just a little bit easier... Now, if we made every application those wrote a file also tag it meaningfully, and then had meaningful translations, and.. oh geez. I normally just delete everything and start over when I realize I have no idea what 90% of the files I just scanned were for. If they were truly important, I would've known what they were. I guess the people with ten bazillion files on a PC are just data hoarders. "But, but, but I'm going to need that report one day!" (Bet you would tag it, now wouldn't you?)

<comment><USER8> Well, there is something such as digital hoarding: [http://online.wsj.com/article/SB1000142405270230340470457730...](http://online.wsj.com/article/SB10001424052702303404704577305520318265602.html)

First link for "digital hoarding", but there is more to read about it.

</comment></comment></comment></comment></comment></comment><comment><USER9> There is one aspect that everybody here seems to be ignoring. Files can span boundaries of time, space, connectivity, bandwidth, and trust. They also span boundaries of architecture--CPU and OS.

I have files "in the cloud" that were born on systems that haven't been manufactured since before Google existed. Those files are self-contained units that I control and can move to whatever system I desire.

And, although people here say that end-users just don't know how to use files, I have relatives who are over 85 years old who still manage to attach photos-- and Powerpoint presentations, for some reason--to emails and share them.

Saying that we _only_ need an API is saying that it's okay for the data to die when the manufacture goes out of business, or decides that it's time to shut down the DRM servers, or you just lose your phone.

Files are reifications of data that allow us to separate some concerns. Transporting and backing-up files are _orthogonal_ to the data that is in the files. We can compress and email and FTP any kind of data whatsoever.

That's not an insignificant thing.

<comment><USER10> You "could" in theory write apps for the iPhone that interface over localhost ports. Which would be awful. (too bad ports in unix are described with file descriptors!)

</comment></comment><comment><USER11> I disagree that files are the only solution. Back in the 90's Apple had an OS that had fully interoperable data in applications and that OS didn't have a file system.

It was Newton-OS and it used something known as soups for persistent storage. Soups were discoverable databases that intelligently handled Flash cards insertion/ejection. The ability to handle Flash on removable media is still something that mobile OS's have trouble with to this day.

The OS could merge soups on different stores dynamically and detect if some data in a soup was currently in use on an ejected card and ask for the card back. This merging of soups on different storage devices is something I've never seen duplicated in the subsequent 20 years.

Files are not the only way to achieve the requirements in the article. They are just the common solution.

<comment><USER12> Hey, someone remembers! (I did the Newton object store.)

I spent years of my life trying to get rid of treating direct user access to the filesystem as a foundational UI metaphor, at both Apple and Microsoft. As I liked to say, why is the UI based on a filesystem debugger? (If you can see /dev or C:\windows\system32, then yeah, you're running a debugger.)

Many people who aren't programmers don't seem to get deep hierarchy (deep meaning > 2 levels). Searching works, tags kind of work, but few people really know how to set up and use a folder hierarchy.

The reason it works to let the app deal with navigation is that the app knows how to do type-specific, contextual navigation. People like concrete things (whereas programmers like abstract things—a constant struggle). If you're trying to find a song, you want to have a UI that knows about songs: they come in albums, the same song may be on multiple albums, they have artists and composers, etc. Any attempt to represent that in a filesystem hierarchy can be nothing but a compromise.

This has nothing to do with defining standard formats for exchanging units of data. Just how you find them once you've stored them.

<comment><USER13> First, hat-tip for your accomplishments.

Now on to the bashing....

(I kid)

Seriously, though: For a song, that works fine. But what happens when it's a note I jot down in a hurry? And then an address I tap in for later. And my grocery list.

Now, I have to keep this mental mapping of where my data lives. I have to, essentially, remember file types and associations myself.

Not saying I need a file browser, but the current iOS facility for this isn't good enough. Look at the card-wallet thingy for iOS6. Maybe what would work is something like that for each general type of content. You want to see any stored gift cards and boarding passes? Open your wallet. You want to see any stored notes and grocery lists and what not? Open your moleskin.

You've clearly thought about this more than I have, though. So what's your take on it?

<comment><USER12> Well, your examples are kinda covered in iOS already: the note goes in Notes, the address goes in the Address Book, and the list goes in Reminders. But I think I see what you mean -- where do you throw random bits of stuff and how do you get it back?

I think in the sort of usage you're describing, you just make random things and save them, and you get them back with search and a chronological list. The three things you describe don't sound like you'll need them after, say, tomorrow afternoon. So why put a ton of effort into organizing them?

It is of course useful to be able to organize arbitrary files in a more permanent way. The repeated mistake (to me) is that the process of organization is not itself considered a concrete application based on specific use cases. For some reason, a document format is considered application- specific, but as soon as you want to group two documents together you're dropped into this pure universal abstraction of a filesystem hierarchy. In other words, applications get to define how files work, but not how folders work.

For example, you could have a "project" that let you group various things together (maybe some CAD drawings of an office remodel along with various random notes and a budget spreadsheet). That's what a folder does, but a project would be much more specific--maybe do some time tracking, have some client-based organizational functions, etc. And of course you'd look at projects in the project application, not in a filesystem debugger.

</comment></comment></comment></comment><comment><USER14> IMHO, interoperability between apps is the main benefit of Android against iOS (see Intents in Android).

I can take any photo, URL or file and open/share it in/to another app. The OS and app developers take care of which apps support which resources, so as a user I'm always presented with a sensible list of apps currently available on my device.

I'd say the notion of a file with a specific file type is too abstract and technical for most use cases for casual users. The UI should group pieces of data as human-understandable resources (i.e. a "picture" can be a .jpg, .png etc.). With this level of abstraction, a user can be expected to understand when presented with a list of apps:

OS: "What do you want to do with this URL?"

User: "Share to Twitter/Facebook/My other browser"

<comment><USER15> Don't you see the problem with this? By allowing the app, rather than the user or the system, to own the file you wind up with multiple copies.

App A shares data with App B. The user makes some changes and App B saves its new copy. It doesn't send the data back to the originating app. It _could_ , but then the user would have to manually do that and save it in App A again.

This is horrendous! People are confusing the poor UI that we have for files (file pickers) with thinking that files themselves are a bad abstraction.

<comment><USER16> I understand what you're saying, but you need to illustrate an actual problem beyond "technically there's two" that this causes in mobile workflows for typical consumers.

That the current Send-To idiom is limited is not under dispute. That it's worth changing is what's worth discussing.

<comment><USER15> The 2 copies are not guaranteed to be in sync. If I modify data in App B, App A now has an old copy. I shouldn't have to explain why this is undesirable.

<comment><USER16> Relax. :) Now we're getting to the crux of the situation.

Let's talk spreadsheets. That's a pretty data-freshness-critical thing, yes? Jennifer gets an e-mail with an Excel attached. She previews the Excel, decides it needs an edit, and taps Send-To -> Numbers (the most common current scenario). A duplicate is created and shipped over to be owned by Numbers.

She makes edits, then clicks Send To -> Email. The correct version goes out. The updated version remains in Numbers. The user assumes that Numbers has the spreadsheet, because that's where she was making changes. The copy in the Mail Attachments archive remains old but _it's never invoked a second time_ and the workflow never takes in stale data.

The only scenario in which Send-To causes problems is in the case of two applications that have equal abilities to process a given filetype _AND_ roughly equal chances of being invoked by a user, and how often is that going to be coming up on a telephone or an tablet?

You could always build a file locking system at the app-level or OS-level or cloud-FS level, but then we're back to Who's Freshest?, the hardest game of all to win.

Apple chose not to play this game and pushed all the filesystem yuckiness out onto a rarely-traveled edge of a regular user's possibility space. It's not ideal, but what is?

<comment><USER7> Why do there have to be two copies of the file? Could there not be only one copy of the file, with two "begin pointers" that are dated? When a user decides that they no longer need an older version, the older section can be purged. Obviously, this could result in quite large files, and we start wanting to do smarter edits to the contents, but I'm not sure having two distinct copies of the data serve the average user any better than one with two internal copies of the data? Obviously, there are technical challenges, but let's just assume for a minute that years of database and similar use case-driven development have solved many of the basic issues already.

<comment><USER16> Two copies solves more problems than it wastes space.

What you're describing is concurrent access to a shared resource, which means we now need to start having the following discussions:

\- Who's accessing? \- Where's the thing they're accessing? \- When are they starting? \- When are they done? \- What happens if they stop talking without saying goodbye? \- What happens if changes from User A happen before User B gets a full copy of the starting work object? \- What happens if User B deletes everything? Should she be able to? \- How do we manage identity? \- What happens if the work object is asked to save but is in an incomplete or non-logical state? \- What happens if the work object is damaged?

(Now multiply the word 'user' by multiple axes: actual humans, programs, network services, filesystem services)

This is an awful, awful, awful lot of work designed to save the space used by a duplicate 300KB .PPTX file. And frankly, I've only ever seen SubEthaEdit get it right.

Also: the user will never, ever, ever, ever decide to review or delete an old file. That's shit-work, and we are mortal.

A majority of customers aren't even aware that there can be multiple versions of the same work or that the work they're doing can be expressed discretely - they're just doing stuff, and cannot be expected to think about about stuff--.

So in short, let's waste some space and save some hassle. That's what flash chips are for.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> I think the "here today, gone tomorrow" nature of app stores is impairing file interoperability. There's just little incentive to allow your productivity or creative app to play with others (unless that's the whole point of your app, like PlainText). I've given up on fancy note-taking apps, knowing there will always be a better one that's not compatible with my old data.

In another decade we'll have a whole lot of unreadable proprietary app data, inaccessible because the original app doesn't work on new hardware. Extracting it will be a tedious process of either reverse engineering or emulating the old hardware/software combination.

Not that we haven't been down this road before, but it just seems like it's worse this time. Even the word "file format" seems archaic, and not many (other than pirates) seem interested in reverse engineering and/or documenting them.

</comment><comment> guard-of-terra File systems have to evolve. These days, file system means two things: an application-independent API to access common documents, and a hierarchical local storage. But it doesn't have that way.

The best thing I've seen in file system evolution is KDE's KIO: Any KDE application can take any KIO url and use it; all file operations are asynchronious (even if you open local files, and that's very nice even for local files that are big), and any program can use network resources as easy as local with little to no effort.

But we should improve on that: a heterogenous user file system should provide discoverability (e.g. your social network photos are automatically available in any program once you bind the account, and you know where to find them). File system branches restrict some operations on files or hint on their cost (scanning a huge photo bank is a very expensive operation; you can't access the contents of audio files inside a streaming service but you can play them in the program). There also should be other ways to organize files than just dumb hierarcheries (imagine a search box in place of a folder, you need a query and then you enter the search results; or you can have tag cloud in your file system)

There's a great deal of work of innovation here and nobody does it at the moment, so it seems.

Sorry for mistakes 'cause I'm hurrying to go to bed :)

</comment><comment><USER18> Files exist because decks of punched cards were cumbersome. A best practice was to make a diagonal stripe across the top with magic marker so that you could restore the ordering if you accidentally dropped the deck. Files in a filesystem eliminated the need for that. And the cards were heavy.

That's why files exist. Not sure what the article is trying to say, TL/DR

<comment><USER19> The diagonal trick reminds me of CDROM CRC error mechanism (reversed of course)

</comment></comment><comment><USER20> The key isn't the specific file abstraction used today. The key is being able to name data. Whether that is through a traditional hierarchical file system, through an activity log, through URLs, through some hash-based key-value store, the requirement is being able to refer to data independent of the application that produced it.

</comment><comment><USER21> We will still need a way to pass information between applications, but that may be so different from the concept of files that it would be ridiculous to call it files. For example applications on the internet exchange information via APIs. Microsoft is doing something similar with Windows 8: if you want to get a photo into an application you show the user a menu to get a photo. The user gets a list of all his photos to pick from. Where this list comes from is dependent on which other applications are installed: if you have a facebook application you can choose your photos from facebook, if you have picasa then you can also choose photos from picasa, etc. This works because each application that has photos is supposed to provide an API to the OS to access its photos. Exchanging information by exchanging it directly via standardized APIs makes a lot more sense than exchanging it via an abstraction layer designed to operate on top of a hard disk. This is similar to the difference between Unix pipes and getting the output of one program, storing it on your hard disk, and then reading it in with another program. With the API model the disk loses its special status, and instead becomes just one other data source/sink like any other (FUSE turned on its head, if you will).

</comment><comment><USER22> I love this post.

There is no doubt in my mind that the file system (as we know it) is dead. Daily workflows are becoming more and more integrated with the social graph. Its one thing to manage your own file set, but try keeping track of everyone's files... or even your own across multiple different purpose devices for that matter.

If I save files using one filtering scheme and someone else saves to the same shared drive using another scheme... both of our files eventually become lost in a mess.

Like others have posted, I believe the solution is search. Maybe not textbox search like Google, but certainly different ways to view lists of files. Can you imagine viewing the most recent files edited by a certain coworker, or the most recent files edited within range of a certain GPS location. I don't have an exact answer how to sort the data, but in my mind... there is a lot of additional data that can be used to help filter file presentations beyond the just the file index and file attributes used today.

I'm in the bay area, working on a startup to address this shift. Message me if interested... I'm always looking for people to talk about it with.

</comment><comment><USER23> "but in every OS there needs to be at least some user-facing notion of a file, some system-wide agreed upon way to package content and send it between applications."

This is what the world wide web does. DNS, HTTP, and MIME types solve these problems. The problem is that it is still to difficult to make things on a device into URLs.

<comment><AUTHOR> But even on the web there is limited ability for applications to share data without explicitly working with the apis. A central filesystem allows for "star network" integration rather than point-to-point

<comment><USER24> The API is already there: it's HTTP. read() is GET, write() is PUT or PATCH, unlink() is DELETE. If you want to be fancy you can use WebDAV, which is also a standard API.

You don't need APIs, you need _standard file formats_ , just like with filesystems.

</comment></comment></comment><comment><USER5> How many different file types do you typically use in a week?

<comment><USER25>
        $ find ~ -type f -atime -1w | awk -F/ '{print $NF}' | awk -F\. '{if (NF>2 || (NF>1 && $1!="")) print tolower($NF)}' | sort | uniq | wc -l
              83

Granted a lot of those are system files.

<comment><USER26> And this is the best counter example why not having files/filesystem would suck. You could not do this rather simple calculation at all.

Somehow this crusade against files and the filesystem just feels like it has ulterior motives behind it. I have yet to see even a computer illiterate user who has a hard time understanding "folder" metaphor and that folder may have items inside them, including other folders.

<comment><USER19> If some files are archives (or any encapsulation format/mechanism), then the count is false.

Files and folders are too generic and not generic enough. Some files aren't files, some files are ~folders. Actually most of those files are ~folders, they are containers for other kind of data and relationships. List of samples, Tree of names, Graph of points.

IIRC Plan9 tried to be a little more generic (in a good way), you could read/write/list anything even visual objects with one single mechanism.

We need maps to see/categorize/find data. Graphs of atoms that you can close (as in closure, any datum involved in the meaning of an operation has to be included) to transmit them in a consistent state. Moving files is wrong and everybody have seen it, it's full of hardcoded context.

</comment></comment></comment></comment><comment><USER27> The limitation of apps not saving to the iOS file system is not a bad thing. It is progress.

There is nothing preventing my shiny new iOS app from sharing files with other applications. Apple is just preventing those files from being stored on the device. Instead, if an app developer wants interoperability, they can have the app save a file to Drop Box, or my Google Drive. Any other application can access that same cloud storage and access the file.

The beauty is we've moved beyond sharing between applications on a single device. Now EVERY application I run on EVERY device I have has the potential to share the same data seamlessly.

This is why iOS doesn't open its file system. It wants the app developers to use something a little more flexible and reliable.

<comment><USER14> > if an app developer wants interoperability

Implementing interoperability with all the possible cloud storage systems shouldn't be left to each app developer separately. This should be a feature of the operating system.

As an Android user, I'm genuinely interested if iOS users find the sharing options between apps too limited. Do you often end up requesting new sharing options from the developers of your favorite apps?

Also, not every piece of data is a file I'd want to save to Dropbox. For example, I share article URLs from Flipboard to 2cloud many times a day (2cloud opens the URL on my desktop browser). I'd hate to have an extra save/open step between the apps.

<comment><USER27> My argument to this is that having access to the file system just gives developers a cop-out. If you give app devs access to the FS, they will all use that because it's easier and avoids the challenges of supporting cloud storage. However, this is ultimately worse for the user experience in the end.

I get what you mean about only wanting certain documents on Drop Box - <USER2> was just a limited example. The spirit of the concept is that the developer can choose what cloud storage to use based on the application.

In the case of a mobile Photoshop app, Drop Box might make sense. In your example, the storage medium would be different (maybe proprietary even) but a cloud space would still be ideal for the end user over just storing these URL's on the local device.

<comment><USER28> Nice though Dropbox is, I don't have an account on it. You're saying that in order to share data between two apps on the same device, I should have to sign up to a third-party system to do so?

Then, if I have different kinds of documents, I should sign up to a bunch of different third-party cloud systems? Each sign up being another username and password, another point-of-failure for security, more management overhead? All for a system that won't work if I lose network coverage (rural, underground, airplane mode, choked tower, foreign travel etc)?

The cloud does have its good points, but I do not buy this snake oil.

</comment></comment></comment></comment><comment><USER29> We'll see how it plays out, but I imagine the notion of a file will continue to decline, and end up replaced by APIs.

APIs continue to provide interoperability, but instead of having the user select a file to upload, they select an image through the Facebook API. This should ultimately improve the user's experience, but there are some downsides during this transition period (IE: photoshop touch lack of sharing features).

While you could argue FilePicker brings back the file, you could also hedge your bets the other way, and work as much as possible to abstract away the file. Instead of grabbing Facebook photos as a set of files, what if I could easily grab the set of photos than contain me and a friend?

<comment> guard-of-terra This way if you start a new social network, in addition to network effect it would have that huge disadvantage to Facebook that no programs are willing to interoperate with is because they only know that proprietary Facebook API.

Good for Facebook, bad for you and me.

</comment></comment><comment><USER30> Forget about "filesystems" for a moment.

Files exist because the amounts of "stuff" users want to "store" do not always correlate well to block size.

To put it another way, block size is fixed. But the size of "stuff" is variable.

OK, now you can go back to thinking in terms of "file systems".

</comment><comment><USER31> Oh, I thought this was going to be about who invented files in the first place. Why'd you call something a file? How'd that idea arise? The only real- life "files" I know are these reports the police keeps on people, or I guess any dataset. But who invented filesystems?

Edit: 302 found <http://en.wikipedia.org/wiki/Computer_file#History>

</comment><comment><USER32> Interfaces (read APIs) and data types (PDF, png, json, markdown, etc.) much superior to files for consumer level users. This is we're iOS is heading. Itseemsby evolution, not design.

Files are great when there is a competent, skilled user to provide the interface glue between apps. To automate, and have things just work, interfaces and data types are needed.

</comment><comment><USER33> I remember the Palm Pilot didn't use files. I think I was using the Palm IIIxe may be. Developers, perhaps a little freaked out by the idea of no files, actually created an api to make it look like there were files. I thought it was pretty funny at the time.

</comment><comment><USER34> My response to this, including how file systems and file explorers will never die -> [http://blog.nitinkhanna.com/why-the-file-system-will- never-d...](http://blog.nitinkhanna.com/why-the-file-system-will-never-die/)

</comment><comment><USER35> I recently switched to using MiniKeepass on my iPhone. I have my encrypted KeePass file on Dropbox. To get it into MiniKeepass, I just went to the iOS Dropbox app and clicked on my key database file. MiniKeepass was registered as an app for the corresponding MIME type, and the file opened. Easy.

That worked great for me. What else is needed?</comment>


Introducing OpenBSD's httpd [pdf] - <AUTHOR> http://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.pdf <comment><USER2> Color me old and skeptical about "simple," "lightweight" web servers. Does anyone else remember when nginx was touted as the "lightweight" replacement for Apache because Apache was often "overkill"? (e.g. [http://arstechnica.com/business/2011/11/a-faster-web- server-...](http://arstechnica.com/business/2011/11/a-faster-web-server- ripping-out-apache-for-nginx/) )

Now it's this new httpd that is lighter than bloated nginx.

So, maybe nginx and apache and all the other webservers out there are too big and bloated and sloppy, despite being written by smart people and used to deliver many many performant websites. That's possible.

But it is also possible that, because programmers love to start from scratch and reinvent the wheel rather than reading and understanding other people's code and rather than researching other domains, they tend to create weak web servers and tout them as "lightweight" until eventually they either die or evolve to be useful to people who actually understand the nuances of serving resources over the web, at which point they get accused of "featuritis" and the cycle repeats.

(See also [http://www.joelonsoftware.com/articles/fog0000000020.html](http://www.joelonsoftware.com/articles/fog0000000020.html))

<comment><USER3> At least for now they seem to be very fixed on just providing a very basic server and not trying to cover as many use cases. (see their bugtracker for what counts as "featuritis": [https://github.com/reyk/httpd/issues?q=label%3Afeaturitis](https://github.com/reyk/httpd/issues?q=label%3Afeaturitis) )

<comment> ah- > I add the label "featuritis" to remind us of extra features (eg. ldap) that > we reject now but might want to reinspect later.

That sounds absolutely reasonable and like a good policy.

</comment></comment></comment><comment><USER4> I'm excited. This is perfect for 98% of people. And apache and nginx are always available for the 2% of people that need to do something more complicated.

Confs look familiar, and it's lightweight and will be secure. Perfect.

<comment><USER5> But no HTTP2.

<comment><USER4> I sincerely doubt HTTP2 qualifies as featuritis.

It's young; not expected to be base until this fall. Give it a few months and you'll see it in there.

</comment></comment></comment><comment><USER6> The corresponding paper was posted recently, and there were a lot of comments: [https://news.ycombinator.com/item?id=9202039](https://news.ycombinator.com/item?id=9202039)

</comment><comment><USER7> If you're never going to use this, it's a nice reading anyway. Goes over their major concerns, their problems with other companies/OSS groups and the design of their solution.

</comment><comment><USER8> I had hoped that an effort to replace nginx would use Rust and support HTTP/2.

<comment><USER9> Rust doesn't support anywhere near the number of platforms OpenBSD does, and has portions written under the Apache 2 license, which has terms that the OpenBSD team disagree with. So the chances of any Rust code ending up in OpenBSD anytime soon are slim to none.

<comment><USER10> Correction: all of the Rust compiler is dual-licensed under _both_ MIT and Apache 2. If you distribute the Rust compiler yourself, this means that you can pick one license or the other or both. You can also retroactively defer the choice of license until a legal challenge appears, at which point you can collapse the license superposition to your liking. This is the whole point of dual-licensing!

</comment></comment></comment><comment><AUTHOR> Design and implementation starts at page 9.

</comment><comment><USER11> I don't know OpenBSD's history vis-a-vis webservers, and these slides aren't clear about why they needed to build their own.

As a random guess, is it because Apache focuses on features, nginx on speed, and OpenBSD wanted a focus on security?

<comment><USER12> Apache:

OpenBSD was stuck on Apache 1.3 for ages because the license changes for Apache 2.0+ was incompatible. They also ended up maintaining their own fork for quite a while because patches to improve security were not being accepted upstream (I think)

Nginx:

License is fine, but it's getting feature bloat and the local patchset was getting unwieldy.

Conclusion: roll your own httpd that way you don't have to deal with this anymore.

<comment><USER13> Not really following OpenBSD, I didn't realize they considered Apache 2 license unacceptable til reading the above. For anyone else curious about the initial discussion of this, it took me some browsing to find [http://marc.info/?l=openbsd- misc&m=107714762916291&w=2](http://marc.info/?l=openbsd- misc&m=107714762916291&w=2) (2004)

</comment></comment></comment><comment><USER14> > The situation of nginx in OpenBSD frustrated me

What situation?

<comment><USER15> "It wasn't invented here."

<comment><USER16> Don't know why you are being downvoted, that is a huge amount of the motivation behind openbsds innovations.

<comment><USER4> did you even RTFA? They wanted to continue using nginx.

<comment><USER16> Exactly, they want to appropriate it and improve it in line with their philospohy. That isn't incompatible with my comment.

<comment><USER4> That would be forking, no?

They're not appropriating it. They're just creating another reverse proxy.</comment></comment></comment></comment></comment></comment>


PHP is dead. - <AUTHOR> http://blargh.tommymontgomery.com/2010/07/php-is-dead/

<comment><USER2> It's really annoying whenever anyone declares a widely used platform as dead.

PHP, like most things, has a lifecycle. If we know anything about scripting languages, they're incredibly resilient. PERL, for instance -- a language nearly 25 years old -- seems to be updated with less frequency than PHP, but continues to be used and developed. Not just to maintain legacy infrastructure, but to build new products.

Even if we're witnessing the sunset of PHP's development -- which I doubt is the case -- it'll be a very long time before it dies.

<comment><USER3>
      > PERL, for instance -- a language nearly 25 years old --
      > seems to be updated with less frequency than PHP,

While there was a discernible lull in the mid-2000s, development of Perl 5 is in surprisingly good shape right now. Also, it's not an acronym.

</comment></comment><comment><USER4> PHP's biggest problem is the people who demand OO features out of a procedural language.

If you want classes, namespaces, anonymous functions, etc. use a different fucking language. Don't bitch when the feature you want is a shoehorned in piece of crap.

Stop polluting an otherwise useful language.

<comment><USER5> I certainly agree with the sentiment that forces are pulling PHP where it isn't comfortable being.

"You don't hammer in nails with the handle of a screwdriver." was something my Dad used to say and I thought it was pretty stupid, until I thought of it as a metaphor for all the times my 'pain' was that I had the wrong tool in my hand and was too blind to see that.

People are trying to PHP in ways it can't easily go, and yet that is the requirement the user's have, thus PHP is by definition the wrong tool. Tools which do not serve a purpose as well as other tools don't get used. A language, system, or tool which nobody uses is 'dead'. QED.

<comment><USER6> Can you give a simple example for this _PHP is by definition the wrong tool_ ? Maybe a common problem being solved in php which should be done in another language.

<comment><USER5> The first part was the context,

 _"People are trying to [take] PHP in ways it can't easily go ..."_

Tools make hard jobs doable, the right tool for the job can make a difficult job trivially easy. The definition of the 'right' tool can then be expressed as 'doesn't cause you pain' and the inverse works as well, if your tool is causing you pain then it is not the right tool for what you're trying to accomplish.

Probably an example of tm;du (too meta; didn't understand) :-)

</comment></comment></comment></comment><comment><USER7> Hurray! :)

Ok, no, no that's not fair, but it'd be nice to see people move over to other languages, if only because many of them strongly encourage the use of web frameworks which inspire (or force) better coding practices.

It'll be refreshing to see that my data _isn't_ being compromised by every website I visit because their PHP/MySQLi code is vulnerable to SQL injection...

<comment><USER8> I'm sorry to bring the bad news, but SQL injection vulnerabilities are not a problem of the combination of PHP and MySQL. You can have the same problems with most other combinations of a scripting language and a backend database, for example ASP and Microsoft SQL Server.

The true lesson is: Don't assume user's input is ok for SQL queries. All input is evil!

</comment></comment><comment><USER9> Is there an alternative to PHP that is as easy to setup? It seems that most languages require another server process running in the background (Tomcat, Ruby, etc.) and a web server to proxy requests. Is it old-fashioned to like the way Apache and PHP work together (and even nginx with PHP-FPM)?

<comment><USER10> In some languages (Racket, Common Lisp, Haskell), it's easy to make the webserver part of your application. Then it's just a "server process running in the background".

</comment></comment><comment><USER11> Did anyone even notice the date on that? July 2010. Why would you even dig this up?

<comment><USER12> July 2010? Apparently, PHP dies a horrible, slow death.

</comment></comment><comment><USER13> As there are lots of people apparently still happily using PHP 4, it will presumably take a long time for PHP to die out in the wild, even if the PHP core team decides tomorrow to call it a day.</comment>


A Buddhist monk confronts Japan's suicide culture (2013) - <AUTHOR> https://www.newyorker.com/magazine/2013/06/24/last-call-3 <comment><USER2> This is one of my favourite _New Yorker_ articles. I wish they published more articles like this.

Suicidal thoughts are a really tough thing to deal with. I've struggled with them for my entire adult life -- more than 20 years now, and counting. They're also deeply personal, and it's hard to find a one-size-fits-all method of helping people through them.

In my case, I find them perversely soothing. Planning it out, and planning out the accompanying clean-up, is strangely calming for me; I suspect at least part of it is because it's applying a feeling of control and structure to otherwise chaotic, painful, or confusing situations. As I run through details in my head, the feelings that incited the thoughts begin to dimish.

I know, rationally, that it would be devastating for those left behind. I know, rationally, that no amount of preparation or planning will make it easier or less painful for them. I know, rationally, that suicide is _not_ a solution for anything.

But it _feels_ like all of the above. It feels like a release, like a perfect, lasting solution to pain and confusion and distress I've carried with me for so long.

I'm lucky that I've found some kind of equilibrium that's allowed me to work through them when they occur, relatively harmlessly. I know others who aren't so lucky, and who haven't found something that works for them. Some of thoem have died; others have survived, but aren't whole since.

It's something that's hard for us to talk about, and current society doesn't seem predisposed to talk about. Many of those suffering the most are faced by a media climate that's not helpful or supportive, and makes it hard for some of the most emotionally and psychologically vulnerable to seek help because of who they were born.

If you've ever had thoughts, please don't suffer in silence: try to find someone, anyone, to talk to. In the UK, we have the Samaritans[1] on 116123 (free to call). There's also Breathing Space Scotland[2] on 0800 83 85 87 (also free).

[1]: [https://www.samaritans.org/how-we-can-help/contact- samaritan...](https://www.samaritans.org/how-we-can-help/contact-samaritan/)

[2]: [https://breathingspace.scot/](https://breathingspace.scot/)

<comment><USER3> Buddhism has an explanation for why these thoughts are soothing. It comes down to thinking provides a level of control and an appearance of a illusion you feel in control of. But alas this is illusion. The mind simply likes thinking. In fact Buddhists off camera will say your addicted to thinking. I believe this will be shown to be true. The default mode network may be the "addiction to thinking."

<comment><USER4> I haven't ever heard of the explanation you offer for why thoughts are helpful (having the appearance of control over an apparent illusion?).

Thinking is required in buddhist practise, it's just not thinking about anything you please.

Also, one usually deals with the coarser forms of suffering first, and no special esoteric philosophies and techniques are needed to address them, usually just clear thinking and problem solving is required.

<comment><USER5> "having the appearance of control over an apparent illusion?"

 _Just before Ninakawa passed away the Zen master Ikkyu visited him. "Shall I lead you on?" Ikkyu asked.

Ninakawa replied: "I came here alone and I go alone. What help could you be to me?"

Ikkyu answered: "If you think you really come and go, that is your delusion. Let me show you the path on which there is no coming and going."_

<comment><USER4> I get what is being referred to, but if you are implying that buddhism teaches everything is an illusion, the Buddha himself specifically warned his followers away from nihilism and solipsism.

Your everyday conventional wisdom is not negated by buddhism.

For example, buddhist people use the word 'I' all the time ("Let _me_ show you the path on which there is no coming and going."), despite trying to realise the doctrine of 'no self" in their practise.

The doctrines attempt to eliminate suffering, proceeding from the coarsest levels down to more and more subtle forms of suffering.

The delusion the monk is suffering from here, can only become uncovered after much work has been done clearing the way first.

<comment><USER6> This Zen parable is faulty wisdom (like so much of Mahayana and Vajrayana fanfiction). The title the Buddha used to refer to himself, _Tathagata_ , can simultaneously be translated as, "Thus Comes One" and "Thus Goes One". It's not about a path where there is no coming and going, it's about both simultaneously.

<comment><USER7> Buddhism is a living tradition and always has been. Theravadins have no monopoly on "true" Buddhism - the Pali canon was transcribed hundreds of years after the death of Gautama Buddha and the authorship and authenticity of many parts of the canon remain disputed within the Theravada tradition.

Perhaps more to the point, a quotation from Nanda-manava-puccha (as translated by Thanissaro Bhikku):

"Whatever brahmans & contemplatives describe purity in terms of views & learning, describe purity in terms of precepts & practices, describe purity in terms of manifold ways: none of them, living there in that way, I tell you, have crossed over birth & aging."

<comment><USER6> What?

The Buddha is speaking _very_ specifically in the quote you've mentioned of a class of religious priest, the brahman, and the contemplative engaging in jhanic meditations that do not lead to the ending of suffering.

You're right, the words of the Buddha weren't written down for hundreds of years after but across those earliest texts flung across space and time, we find an astonishing harmony.

Look, I'm seeing calls to end my supposed promotion of sectarian strife: I love Three Pillars of Zen, have obsessively studied the Mahayana epic the Surangama Sutra, and washed myself in the pure poetry of the Complete Reality school. But I cannot stress enough, and neither did the Buddha, in the importance of incisive, unequivocal language when it comes to identifying right view.

Vajrayana, the deeply mystical arm of Buddhism, stresses the importance of a guru relationship to the disciple, fraught with a history of sexual manipulation. Unquestioned power structures do this. We have thousands of years of history to support this.

Mahayana Buddhism gave birth to Zen, perhaps the cleanest strain to emerge but which sacrificed an essential tenet: that a monk should not grow their own food; should rely on the continuing generosity of the people to survive. It is further compromised by the trappings of rites and rituals, which the Buddha of the early texts rejected.

And what of Nichiren who famously declared that enlightenment was impossible in such a fallen world? The same enlightenment the pre-Mahayana Buddha stressed was for everyone?

<comment><USER5> "And what of Nichiren who famously declared that enlightenment was impossible in such a fallen world?"

Nothing, or better yet, no thing. They're just wrong.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> 2019 update: Japan Records Lowest Suicide Rate Since Statistics Were First Kept in 1978 [https://www.nippon.com/en/japan-data/h00381/japan-records- lo...](https://www.nippon.com/en/japan-data/h00381/japan-records-lowest- suicide-rate-since-statistics-were-first-kept-in-1978.html)

<comment><USER9> It's still extremely high compared to other countries though.

To put it in perspective, nearly as many people die by suicide alone in Japan (per capita) as suicide + guns _combined_ in America (per capita).

<comment><USER10> It's hard to get accurate stats on gun deaths in America because many reports lump in suicide by gun and accidental shootings to make the numbers look scarier. You might be double dipping.

<comment><USER11> On the other hand, it has been suggested that quite a few deaths that are actually suicide using a gun get reported as "gun cleaning accident", presumably to lessen the impact on relatives (however slightly).

</comment></comment></comment></comment><comment><USER12> This a very good article, and good comments here.

Reading it, there is a quote from the person 'T':

> _" I understand that I'm in such an irretrievable situation because of my > own fault, and I myself have to solve the problem. However, I'm a weak, > dependent person who was financially supported by my parents until after > reaching thirty, so I'm too weak to find a way out of this situation myself. > . ."_

These words, I cannot help myself to think -- that these words, these labels -- are not something he(she) came up with... Instead, these words are really the words of T's parents, that got implanted in his head after continuous drilling and pushing and pushing and pushing him to go to that law school.

It is sad and painful to read. When parents cannot appreciate the natural beauty, talents and just overall the magic of life in their children....

Nobody can influence a mind person, his/hers inner-thoughs -- as deep, as long-lasting as parents can.

Yes, may be that influence stops before 20, but parents influence is so deep seated, that it will continue affect the person for the rest of the life.

Anybody who is a parent has to really take this seriously.

</comment><comment><USER13> One of the techniques of what Westerners call Stoicism is the negative visualization that Nemoto has his patients/clients undergo - imagining you only have a few weeks to live, that you've lost your material wealth, that you've lost someone important to you, thinking about your death. Also, intentional self-deprivation.

"A Guide to the Good Life: the Ancient Art of Stoic Joy" was well worth reading and has a whole chapter on negative visualization as a means for overall more positive thinking.

<comment><USER14> I have some experience here.

I now prefer to think of every day as the start of my life and ask myself "What to do first?"

Life is a gift, everyday a celebration.

</comment></comment><comment><USER15> Ittetsu Nemoto is the subject of a wonderfully quiet documentary on this selfsame topic, _The Departure_ , directed by Lana Wilson. (It is available on Amazon Prime Video.)

</comment><comment><USER16> A thread from 2014: [https://news.ycombinator.com/item?id=8114547](https://news.ycombinator.com/item?id=8114547)

</comment><comment><USER17> The reason I consider ending my life is because I have done the things I've wanted to do in life. I would not have much to write on that paper as opposed to visiting some friends and family for some conversation and hugs.

I think we forget that much of the suicide rate in adults, especially over 50, is that the burden of life in much of the United States can become higher than the benefits for some people at that age. Things like health ailments, cost of healthcare, worsening job prospects, lack of social connections etc.

Please, do not take this as encouragement or other things for suicide. It is simply an effort to help others to consider the quality of life issues we are creating for people, as they age, in the United States. We continue to try to treat the person, but maybe we need to treat the circumstances we are creating that can place a person in that position.

<comment><USER18> The reason I consider ending my life is because I've done or experienced all the things that realistically I want to or can. I'm never going to be an attractive man, so I'll never have love, or a wife and kids. It's just not worth it to me to work to pay to sustain myself just to watch the planet be destroyed and the social fabric disintegrate. There's just nothing worth the time or effort when living is just so unenjoyable.

<comment><USER19> > I'm never going to be an attractive man, so I'll never have love, or a wife > and kids.

This pops out to me.

I don't know your full circumstances but I don't think this is true.

If we focus only on the attractiveness aspect: I've known plenty of people of both genders who I thought were "unattractive" people (a very subjective term!) and they were partnered. If your desire is to find a partner, don't give up on it or consider it an inevitable failure! You are worthy.

Then it makes me consider if there's some other health issue preventing finding a partner or having a kid? Surely, a few of those exist, and I can imagine them being very sad.

<comment><USER20> I think it's important to distinguish physical attraction from net total attraction. Usually when people say "attractive" they mean the former, but I think GP may mean the latter. I'm probably about average physically, but I have my own set of personality issues that make me pretty damn unattractive on the whole. I doubt I would be interested in anyone who was so fucked up that they were interested in me.

I've come to terms with my situation and I'm not the least be suicidal, but I think it's important to tread carefully when talking about this stuff online, where you have so little context. Someone who says "I'm never going to be an attractive man, so I'll never have love, or a wife and kids" has probably thought about it more than you have, and certainly knows their own situation much better than you do. I think it's extremely unhelpful to give them platitudes like "You are worthy". Maybe they are, but you're really not in a position to know.

<comment><USER19> It's quaint that you think you cannot apply a nonphysical meaning for "attractive" to my comment and see that the point still stands.

I think you're probably wrong about yourself too.

And yes I did call out that I don't know the full circumstances.

<comment><USER20> And I think it's very presumptuous of you to think that you know my own circumstances better than I do. Both of your comments are, frankly, condescending to a degree I find slightly insulting and I have no further desire to continue this conversation.

</comment></comment></comment></comment></comment></comment><comment><USER21> I've struggled with incessant suicidal desire for the last 75% of my years alive on earth. Having given up everything in slow preparation for the act: family, friends, savings, career - I can safely say that the only thing holding me back is the infinite unknown of the afterlife.

</comment><comment><USER22> A incredible read.</comment>


Ask YC: Virtual Phone System for my Startup - <AUTHOR>

I'm launching my company and need a virtual phone system. At the start, I just need a local # that people can call and leave voicemail on. I'd like the voicemail messages to forward to my email address.
Eventually I'll need more PBX type features like call forwarding, extensions, fax, toll-free, etc...
What do people here use?
There's a lot of options out there. GotVMail seems most professional, but there's also Innoport, Ringcentral, etc...so what does Hacker News recommend?
P.S. Bonus points for companies with local Canadian numbers. <comment><USER2> You could just setup your own Asterix server and have all the features you can ever need...

<comment><USER3> This is definitely the best way. Set up an asterisk box either at your location, or better yet, in a datacenter and then get a sip provider like <http://www.broadvoice.com/>.

They can give you local numbers all over the world and you can then grow your asterisk install with your business to as many inbound numbers and extensions as you need.

It takes about a week for the average geek to install and grok asterisk but it is well worth the effort.

</comment></comment><comment><USER4> Get Skype. There is voicemail, it's cheap and you can setup numbers in multiple countries.</comment>


Is The Game Industry A Happy Place? - <AUTHOR> http://www.gamasutra.com/view/news/29292/Analysis_Is_The_Game_Industry_A_Happy_Place.php#comment58886 <comment><USER2> I've gradually got to thinking that gaming is a field that is extremely poorly understood(even by enthusiastic practitioners like myself), and that it is why it can so easily turn into an destructive tarpit.

The problems start at some extremely base assumptions of concept and focus - stakeholders will often treat a game as a branding exercise akin to a toy, just on a larger scale. Or they might conceive of it like a movie, with a Hollywood-style marketing push. Or it might be treated as "entertainment software," with a focus on having the best technology and the most features. All of these are not really correct, but we can fool ourselves into thinking they're correct because entities outside of the industry(namely, IP owners and other hardware/software manufacturers) will bring their money and their world- view/assumptions to the table, and through sheer trial and error game devs have found a few ways to satisfy these stakeholders and make something that can potentially turn a profit, even though the historical record indicates that the "value" the stakeholders brought to the table usually wasn't a contributing factor in the biggest hits.

But once you start down that path, the top-down directive forces the development team to start doing unnatural things that work against product viability and realistic ship dates. Soon, everyone's dissatisfied and it just becomes a hellhole where the team works as individuals, takes their paychecks, and "looks out for number one." But a lot of people want to work in the industry, and they'll take bad money over no money.

It's the same problem as in startups as a whole - find an original, scalable game concept. Work on making it marketable. Then you can start spending big to make a refined, feature-heavy implementation.

</comment><comment><USER3> My two experiences in the gaming industry taught me to stay away. The first was as I finished up my college degree, building the PC version of "Space Jam", the game (oh, boy, was that a fun one). The second was last year working on League of Legends (awesome game if you like PVP!).

In both cases, it was very apparent that the industry is built around taking advantage of peoples' passions and love of gaming. Pay is low, hours are ridiculous, and respect is sadly missing. People put their heart and soul into what they are building and get tossed with little to no thought whatsoever.

If you are absolutely passionate about working in the game industry, I say go for it. But go in with eyes wide open: it is a tough place to be.

It is more entertainment industry than software industry, and, just like most other entertainment industry groups have guilds/unions to protect their interests (screen actors guild, screen writers guild, etc), there probably ought to be a computer programmers guild as well.

<comment><USER4> League of Legends is a fun game - it's the only reason I still have a windows install. Good job on making the game awesome.

<comment><USER3> I wish I could take credit (I wasn't on the game engine but rather the matchmaking/store/chatting part), but I was working with some real geniuses there (technical and creative).

Still, by far and away the most interesting Java project I've ever worked on. I'd never heard of so many enterprisey technologies around a game before (unfortunately, I don't know what would be covered under my NDA, so I probably can't say much more than that :).

<comment> tomh- So you are the one to blame if I get matched up with noobs and leavers in a game ;)?

PS. I loved the space jam game when I was kid!

<comment><USER3> That bit of code was, umm, complex. The foundation was written before I started on the project and left to the original writers to maintain. I can promise you this: there were more conversations about (and really, more time spent on) how to handle match making than any other topic. The whole company was absolutely passionate about trying to make sure people got matched well (how well they succeeded, I can't answer :).

I'm glad you liked Space Jam. I was really disappointed that the game turned out so basic. Some of the original ideas were much more interesting, but I guess they figured they wouldn't market as well to the target demographic (don't ask me what they _were_ ; it was a _long_ time ago).

</comment></comment></comment></comment></comment><comment><USER5> This was an interesting, albeit admittedly anecdotal, comparison from the comments:

      I've had several jobs in game companies, and several non-game jobs too. The
      biggest difference I've noticed is that outside the game industry it feels like
      co-workers, managers, etc. are actually happy to see you at work. Outside the
      games industry there seems to be a strong sense of networking, a sense that
      people want to find good workers they can build a team with so they can all
      move up the company ladder. In the game industry, everyone else in the
      industry is like a competitor, someone who might steal that job you want.

<comment><USER6> This observation is just not true, or maybe it varies depending on your position. As a developer in the industry, you will rarely be without a job or in a position where you can not jump to another studio. Once you are in the industry, you will end up with friends at studios all over the place. The turnover and 'grass is greener' syndrome in the industry is just too high for networking not to naturally happen. You do not even have to try.

As for the friendless of the people, while I like working in games for the games, the culture that develops around the people working on games is the bigger draw.

<comment><USER7> _As a developer in the industry, you will rarely be without a job_

This is true for any competent software developer with half reasonable contacts or experience (at least here in Ireland - a week ago I had a conversation with a recruitment company and they confirmed that there are more jobs than good programmers here).

</comment></comment></comment><comment><USER8> Much of the problem is a result of the publishing model - deadlines are inherently more stressful when they're inflexible and you're expected to deliver a 100% finalized product.

My studio (EA2D, a new division of EA) is developing web-based games. We get to have all the fun of building badass games without the stress of delivering a hard-media product. In response to the post title: yes, for us, it is a very happy place.

Incidentally, we're aggressively hiring the best and brightest: <http://www.ea2d.com/jobs/>

Contact me directly: email@example.com

<comment><USER9> I got the feeling the flash rockstar and flash game engineer descriptions are swapped...

</comment></comment><comment><USER10> I would say the observation is accurate. I think the owners / employers see it as a supply and demand problem. There are a lot of enthusiastic, gung-ho novice programmers would give an arm and a leg to be in the gaming industry.

Many enjoyed playing games, so naturally they decided to into the this field. These individuals will compensate their lack of experience and theoretical understanding of many CS subjects with sheer enthusiasm, they will work 12 hour days, weekends, for relatively low pay, putting up with lots of crap, until ... they burn out. When they burn out, there is another battalion of enthusiastic kids waiting at the door and, then the cycle continues.

It is not that this doesn't happen with other programming jobs, but there are just not that many people who are as excited about database scalability or say, machine learning as there are individuals excited about games. Exploiting someone like that and having them burn out, would mean having to look long and hard to replace them. Therefore pay is better, hours are better and the environment is healthier.

</comment><comment><USER6> There are unhappy people in every industry and in every position. But the game industry has surpassed the tipping point for popularity and 'glam' to make the detractors have enough social incentive/attention to be very vocal.

There are legitimate gripes, complaints and out right abuses in the game industry. But much of the brokenness in process or hours or management or etc also exists everywhere else. It is the unfortunate nature of a work environment. You do not read/hear about everywhere else as much fewer people are passionately following their output or dreaming of breaking in.

<comment><USER11> I kind of see the truth to that comment but you're missing the larger picture. There really is an entirely different world in the games industry. I haven't worked in it myself but have had friends in the industry since the late 90's and my fiance has been in that industry since the mid-2000's. Everyone in the industry loves it, but you're constantly going through the layoff/buildup/crunch/layoff cycle with long, long, long hours. Did I not mention long hours?

</comment></comment><comment><USER12> I'm not sure how many they have working on it but Starcraft 2 strikes me as something that the developers have been given a load of time to do justice to a Starcraft follow up.

In contrast though it seems like the WoW devs have a pretty brutal schedule in order to pump out expansions and updates fast enough to keep giving the millions of players enough to do that they won't stop paying the subscription.

</comment><comment><USER13> Great comment to link to! He should have been the one writing the article.

</comment><comment><USER14> I had pretty popular podcast and a relatively popular free game on the app store, and I can agree that the gamers are a tougher audience than the general public. There are bad podcasts but you usually don't see reviews ripping them apart for trying. Likewise there are free games which obviously took more work than some of the one button apps I've seen on the app store, yet everyone who plays it feels the need to leave a snide remark. I personally wish the app store had the option of turning the comments off like YouTube. Maybe Apple wasn't ready for the cynicism of the gaming public. I know I wasn't.

<comment><USER15> Take it this way, you got gamers to pay enough attention to your game long enough that they would take the effort to leave a bad comment.

I worked as a game reviewer and I could actively avoid bad games, so there's obviously an element in the game you made that was drawing people's attention and keeping it. Find that element, redevelop and release anew.

From what I could tell a new-franchise in games had as good odds as a movie of hitting big - IE purely random. Simply try again.

I'd be happy to help if you have any questions.

<comment><USER14> I'm in the midst of doing more or less what you're suggesting. In addition to new content I'm going to try to strip out some of what people seem to have disliked. The idea that you're supposed to listen to feedback and make changes accordingly doesn't seem so easy when the feedback is hostile or totally unhelpful.</comment></comment></comment>


An investment fund that makes trades based on superstitious beliefs - <AUTHOR> http://boingboing.net/2012/07/29/an-investment-fund-that-makes.html

<comment><USER2> Hey, at least they're stating consciously and openly what a lot of investors have been practicing unconsciously and covertly since about as long as the craft has existed.</comment>


New and Promising Runtime for JavaScript/TypeScript - <AUTHOR> https://blog.goyello.com/2019/10/14/next-gen-javascript-and-typescript-runtime-deno/ <comment><USER2> Unfortunately, I think the import by URL, by itself is a bad idea. You ideally want reproducible builds, and npm provides a form of that with its enforcement of semver and hash checks in the lock files.

If you are really pedantic, you should probably also check in node_modules with every release you care about.

Having said that, having a system that can source modules from a URL and then enforce hashing and versioning could be a win. I'd just hate to see a repeat of the early golang build system that led to the rise of gb.</comment>


Why does Facebook website crash in Safari? - <AUTHOR> https://discussions.apple.com/thread/4275675?start=30&tstart=0

<comment><USER2> It is completely inexcusable that an end-user application would crash for any reason whatsoever.

If Facebook uses too many resources for Safari, and Apple can't find some workaround, then Safari should just fail to completely load the page. Perhaps it should display a message "Safari can't load this document because it requires too many resources".</comment>


An Organic Approach to City Design - <AUTHOR> http://grasp.dk/an-organic-approach-to-city-design/

<comment><USER2> When i hear Organic and City Design I immediately think of Christopher Alexander's Timeless Way of Building [1].

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

<comment><USER3> Bam. Lovely book.

</comment></comment><comment><USER4> Quite a few legislators could learn from this perspective.

</comment><comment><USER3> See: Christopher Alexander</comment>


Polyglots Are Out To Change The Way You Think - <AUTHOR> http://www.languagetrainers.com/blog/2014/06/02/polyglots/

<comment><USER2> Ployglot.... why would people choose to call themselves that... "multilingual" sounds so much better... as would almost anything. For now, I'll go with OMNIPHONIC.BE ("sometimes word-order matters") I would very much like an ECMAScripter [will consider other languages no worse viz. UNICODEishness] to build the ultimate "Rosetta stone killer" (anybody seriously interested in learning Japanese (or [other natlang]) to fluency gets to do so as part of their job cofounding this with me... I'm probably the best coder-optimised language tutor out there, and I'll be a good trainee-coder, too.)

I'm technical, have a great domain-expert resume, and am not the person I want to have as the sole architect and coder on the truly-new products I've been working so hard on. Other roles/cofounderships also worth asking about, it you're truly interested. Basically, I want to build it and run it by and for and with other language-and-dialect enthusiasts. A company run by the the people who do language-learning best, for themselves and the future of their/my/our ilk.

<comment><USER3> Multi lingual sounds sexier - tongues FTW... but it definitely doesn't communicate the idea that you can speak 6 to 12 languages. Multi lingual people usually implies people who are naturally competent in language learning and may have a mother and father tongue plus another one or two learned languages. Polyglot on the other hand implies someone who has made it their life's work to speak many many more languages and take all their language beyond a high school level of proficiency at that. And making sense and being understood, in a very specific way, is the art of speaking a language, so I'd argue it's fitting that these type of people have deliberately identified another word to describe them. Also the syllables of "poly" and "glot" allude to a much deeper, almost poetic, and definitely masterful level of understanding of language. Polloi being the the greek root of many and also glotta being an adjoining word for "having a tongue". The sound glot is onomatopeic too as you have to use your tongue to successfully sound it... and simply the conjugation and associated meanings thus imply a mastery of pronunciation and not just meaning.

So, to counter your mild objection to the sound, I would say it does communicate more. (Honestly, I find myself surprised that I had so much to say about the difference too!)

Re: your idea... I like the idea of it being run by language teachers for language learners ... but do you think people learn languages best from RosettaStone type products? I think they are like gyms - they make money from everyone's intention to speak a language / get fit, rather than support people's actual learning and development. I learned french for years at school but any passion for learning it never really sunk in until I was actually in France. And I've learned portuguese through one to one lessons in person, over skype and by travelling. And I've done audiobooks and apps to keep it alive in my mind when I'm not able to learn first hand... but I don't think I could actually learn a new language without speaking to an actual speaker person. Point is, I think you learn a language faster with a stronger need to be understood.

<comment><USER2> Totally agree they needed a term, or at least _I_ would have wanted one myself as the community formed (although I do like "enthusiast"). >The sound glot is onomatopeic too as you have to use your tongue to successfully sound it... Yes, but the tongue is key to almost all sounds and "poetic"??! To those who primarily know the greek, perhaps, but it's really a gloppy plop of a sound in Amerenglish, in particular. "Polyglossians" would not have been an issue. Plurilinguals. Multiphonauts. Anything but "glot" as it is pronounced in any of my dialects, would give more euphony.

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

> but do you think people learn languages best from RosettaStone type > products? No!!!! A thousand times no. Nothing at all like that. That seems > mainly to be a Gym membership, as you say. (Benny the Irish polyglot's > review is among the least negative ones I can respect). My platform and > tools are NOTHING Rosetta-like.

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

J'aimerais bien aussi savoir ce que vous voulez dire par "beyond a high school level of proficiency" puisque, eh... I know nothing of that consensus. Nor whether you mean the level non-natives are taught if they learn a foreign language in high school, or the level of language mastery high-schoolers in the US have over US English. Personally, I go depth first (I want to write/explain/discuss technical things with technical people, and speak the other registers too. I start from production (writing and speaking). And I have tools for both the art and the science. How's your syntax vs your accent and intonation mimicry?

I am on my way to musical fluency in all of the sounds the pulmino-voco-nasal wood/meatwind can produce, as a side project (I am a recently self-identified musician) and am bent to master as many idiolects (mimicry) and dialects and languages as I come across, in multiple different voice characters. I figure it's the right thing to do, since I know of no other people doing so. I am a member of the "polyglot community" but I choose not to use the consensus name. I'm glad you know French. Francophonie is among the words I built "Omniphonic" around. So yeah...

Really, I think everyone should try to be sesquilingual, at least.

I'm an aspiring omniphonist: an omniphonic enthusiast, anyway, building some delicious dogfood to eat for us all.

RE "high-school level"... my minimum comfort level in a new language would be "can explain what you've done and why, and what you've learned doing it so far in life, in twenty minutes, and why that's led to what you're choosing to do/learn now. Then, asking follow-up questions as necessary/interested, can get the same level of detail on those things from the person you're talking with, trying to imagine things as if you'd grown up in their shoes."

<comment><USER4> I offer you free of charge the term Champolyglot for one who has signed up for Rosetta Stone and never followed through.

<comment><USER2> Uh... OK. Thanks! Etymology = as in "you're a champ for not wasting time on a kluge that would delay your real acquisition" or....? Not sure I've got it.</comment></comment></comment>


The irreversible momentum of clean energy by Barack Obama - <AUTHOR> http://science.sciencemag.org/content/early/2017/01/06/science.aam6284.full <comment><USER2> According to Trump, the problem with solar energy is it is "very, very expensive." That was true twenty years ago, but nowadays it is cheap, and getting less expensive all the time.</comment>


Ask HN: Would you pay more for an American-made iPhone? - happy-go-lucky <comment><AUTHOR> Not for an iPhone, no. For something else, yes, I'd probably be willing to pay a little extra.

</comment><comment><USER2> I would pay $25 more an iPhone where the majority of its parts were manufactured in America.

</comment><comment><USER3> Why would I care if it was imported from US or China?

Not to mention, I wouldn't buy iPhone in the first place.

</comment><comment><USER4> Of course!

</comment><comment><USER5> No way :|</comment>


Ask HN: Please Review My Mobile Webapp (Drupal-powered) - <AUTHOR>

http://www.streetread.com/blog/streetread-mobile-officially-launches
(the address above points to a blog post where an interactive demo is available, along with screenshots)
HN provided some great feedback and advice on the initial launch of Streetread over 2 months ago. The service has come along way since and the mobile edition of the site is the latest development.
Being that I love the wisdom that this community offers, I'm looking forward to any feedback you might have. I would ALSO love some ideas on how to effectively promote this. From what I know, this is the most comprehensive mobile financial news app that is free of charge.
And last, yes this is completely powered by Drupal - any dev questions are welcomed too.
Thanks <comment><USER2> You started off on the wrong foot:

1\. There is no link to your site from your profile, so I have to copy-paste. That loses a great deal of hacker right there.

2\. The site (I copy-pasted the link) keeps talking about anything except about what it actually does. I don't know what streetread is. I'm confused and about to drop out.

3\. So I clicked through to the home page and now I know what it does. You really need to explain how this is any better/different than google finance. There is no FAQ linked from home page. At this point I lose interest and drop out.

FWIW.

</comment><comment><USER3> _"... HN provided some great feedback and advice on the initial launch of Streetread over 2 months ago ... I'm looking forward to any feedback you might have. ...."_

5m test, here's what I found:

\- I tried to enter googles stock quote but couldn't find it. How do I find a stock quote of a company I don't know? Maybe this is a useless edge case but it was a problem for me.

\- lots of words "Click here to login", "Click here to register (free)" so they can be simplified

\- sampled text news article headlines from <http://www.streetread.com/m/feed/site_Yahoo> and got 203, 148, 168, 178, 193 without the headings .. bit wordy. Maybe the suggestion is keep the length but decrease the item count?

\- monkey test for input & doesn't barf when unicode entered

\- tried getting news from WSJ, the page responded "PAGE UNAVAILABLE" from WSJ side. This exposed a problem that I can't get back home. Is there a back button on the devices? Should a home logo always be there?

Works. Is there any chance of a Video demo on the site?

<comment><AUTHOR> Thank you for the feedback.

1\. I don't have access to an adequate data feed to be able to search based on company names - and no it's not useless, it's needed.

2\. I understand where you're coming from, but if there is one thing I've learned, it's that 99% of users need to be spoon fed.

3\. I don't understand what you're saying with the numbers. I just checked the page and it looks fine.

4\. Nice.

5\. Strange error. Being that the news content is hosted on other sites gives me no way of including a Streetread logo or button to return. I don't know of any mobile browser that doesn't have a back button. What would you suggest?

Video - maybe. Good idea. I thought the interactive demo was enough. I never had the patience to ever watch an app demo.

Thanks again

<comment><USER3> \- #3 - just character counter/news item sans the header. You get 10 x 150char thats a lot for a phone. Is it?

\- #5 might be a problem with the demo. I simply clicked a link & got transported to an error page. Is it the demo? Take your point about the back button.

\- #1 I don't think it would be as much a problem if users know their stock name. But as a secondary service.

 _"... I thought the interactive demo was enough ..."_

Good way to show the best features w/o users having to experiment.

Good demo btw. Works as advertised.</comment></comment></comment>


"Person of Interest": The TV Show That Predicted Edward Snowden (2014) - <AUTHOR> http://www.newyorker.com/culture/culture-desk/person-of-interest-the-tv-show-that-predicted-edward-snowden <comment><USER2> Let us now pause, and write in praise of POI. Not for any political reason (Snowden, et. al.), but because the writers have created genuine science fiction. I can't recall who said it -- perhaps one of the greats (ACC, PKD) -- but good scifi takes the world as it is, and changes one very small thing (in this case: genuine AI). Such a pleasure to watch. I know, I know, many folks on HN will point out technical shortcomings, but as someone who has straddled these many worlds (natsec, digital security, privacy), I see them reflected here in a glorious alternative universe that is thought provoking, entrancing, mesmerizing.

<comment><USER3> >Such a pleasure to watch. I know, I know, many folks on HN will point out technical shortcomings

After you get past the first season, (if you accept the premise of an omniscient, digitally omnipotent artificial superintelligence that oversees the world), there are really very few technical errors.

In the first season, your standard crime-drama tech mistakes apply (malformed IP addresses, someone invading a computer system with a DDoS, randomly placed PCB overlays, etc.)

As the show progressed in to its second and third seasons, I was surprised to see the protagonists' computers sporting GNOME taskbars.

EDIT: There are its fair share of minor discrepancies in various things like shell syntax and code formatting (like using Greek symbols in C code), but the point I was trying to make is that PoI's accuracy was overall very impressive. This impressiveness is amplified when compared with a series like CSI: Cyber, a show which does a far worse job of writing believable technobabble and designing realistic UIs, despite such things being arguably more critical to CSI: Cyber.

<comment><USER4> Heh, I would hope that we crack Unicode in C before we crack omniscient, digitally omnipotent artificial superintelligences, or I despair for the world.

</comment></comment></comment><comment><USER5> The prediction component of the machine is not currently on the radar or even the real problem. That's 'minority report' grade stuff and doesn't need to be explained or given wider distribution.

What _is_ the problem is that given this mountain of data and a dollop of selective enforcement could mean the end of democracy as we currently know it. It doesn't have to happen overnight, it doesn't have to happen everywhere. But it might be enough to tip the balance in favor of a world that we'd all recognize as something to avoid. And how to illustrate this without pointing to horrors past and without seeming to be undue alarmist is becoming harder and harder.

Having 'nothing to hide' is the mantra by which many people make their decisions and cast their support, and programs like 'earnest voice' are seeding the crowds with distracting talking points.

[http://www.theguardian.com/technology/2011/mar/17/us-spy- ope...](http://www.theguardian.com/technology/2011/mar/17/us-spy-operation- social-networks)

<comment><USER2> yes of course -- and i don't mean this facetiously, but "that's why they call it science fiction".

as for your second point -- i'm not sure it's not happening right now.

<comment><USER5> > as for your second point -- i'm not sure it's not happening right now.

That's both the curse and the beauty of it. As the perpetrators of such a scheme you could totally get away with it and we'd all be as oblivious about it as could be.

Johnny has ambitions to go and make some real and unfortunate changes, let's give him a really well paying job and shower him with toys until he's distracted to the point of giving up his ambitions. Manipulation works better the more subtle it is and the longer before a certain course of action the smaller the deviation from the path to avoid the course of action entirely.

<comment><USER2> [https://en.wikipedia.org/wiki/Parallel_construction](https://en.wikipedia.org/wiki/Parallel_construction)

</comment></comment></comment></comment><comment><USER6> I got bored around halfway through season 1 and stopped watching it. Picked up Season 2 on Netflix and binged the rest after that. It ramps from standard 'randos form unlikely crime fighting team[0]' with a dystopian twist through 'vast surveillance state conspiracy' to 'post AI FOOM WTF?' quickly and at times quite profoundly.

I got much the same feeling from later eps as I did watching Ex Machina : "Yes, this is fiction and highly speculative fiction at that but holy fuck, for once someone has actually bothered to do some research on the technology and the philosophical implications"

So if like me you dropped this, be sure to pick it back up, you won't be disappointed.

[0] And thus we can be sure that real life is not like TV because if it were nearly everyone in the US would be part of an unlikely and seemingly mismatched but somehow highly successful crime (including monsters) fighting team.

<comment><USER7> I did the exact thing. The first season episodes were so predictable and boring like a Dan Brown plot. I couldn't make myself to watch the second season. May be I should give it another try.

</comment></comment><comment><USER8> The show also evolved very naturally; from a decent crime procedural to a Batman pastiche to neo-Cyberpunk to exploring Transhumanism.

</comment><comment><USER9> Waiting for next season like forever. Hope its not shelved. I was hooked after the pilot. Its a welcome break from the recurring theme that we see in most series now a days. Given our current corrupt and power hungry world situation with disregard for ethics in many government agencies everywhere, this is more or less accurate on what the situation might become, given an AI is in the mix.

</comment><comment><USER10> Maybe he watched it ;)

He did plan, and took considerable risks to get the access that he needed. That is what's so bloody impressive.

<comment><USER11> Every interview with Snowden, as a pseudo-clinical paranoia-level security nerd, I tried to critique his security decisions, but I was surprised to see that he really did think through every decision he made. _That_ is what impressed me.

A generally impressive human, in many ways.

<comment><USER5> If Snowden had been less clever or resourceful he'd be stuck in solitary confinement right now instead of giving interviews. Playing chicken with the mightiest organizations on the planet and getting away with it is extremely impressive and in many ways it shows the dangers to powerful organizations like these: individuals, acting on impulse or because of convictions.

And that's precisely why all that data collection is so scary, such individuals will be shunted onto dead-end tracks _long_ before they even realize they are such individuals in the future.

<comment><USER11> Indeed, we have seen well-meaning but overly impulsive whistle-blowers like Bradley Manning get utterly ruined by their "mistakes".

<comment><USER12> Chelsea Manning.

<comment><USER11> No offense intended. I (poorly) chose the more common name with regard to the incident I referred to. I was speaking more of the situation rather than the person.

</comment></comment></comment></comment></comment></comment><comment><USER13> it's called conditioning</comment>


Show HN: Word game I made up in High School - <AUTHOR> I made up a word game in high school that became popular with my friends - tell me what you think. Basically, you solve for one word. The clues are words that have at least one letter from the word, in order, that have something to do with the word. As an example, this:
---
storm
weather
drip
falling
---
would be "rain".
This one is considerably harder:
---
fur
hibernate
claws
latin
brown
omnivores
--- <comment><USER2> Initially I thought this would be stupid but here I am trying to figure out the second one.

Are you planning on making mobile apps? Let me know if you want someone to work with.

</comment><comment><USER3> would be fun little project to create an app that generates the puzzles. input a word like "rain", use word2vec, or something even simpler, to identify associated words and order the words. next challenge would be to sort the generated puzzles by difficulty. i could see it being a very addictive mobile game, with very challenging puzzles being great for multiplayer or sharing with others via SMS, FB to help solve.

</comment><comment><USER4> Ursine?

Interesting idea... got a name for the game? I'll try it out on my friends. Although making the puzzles might be a challenge in themselves.</comment>


Video hacking; HDMI 1.4 specification will include 3d formats - <AUTHOR> http://www.virtualpressoffice.com/publicsiteContentFileAccess/224966/224966.html/?fileContentId=224966&fileName=224966.html&fromOtherPageToDisableHistory=Y

<comment><AUTHOR> FYI I am not affiliated with this industry group. 'Virtualpressoffice.com' looks weird to me, but the linked content is not any kind of spam.</comment>


Newsletter #7 - Summer of Road - <AUTHOR> https://neovim.io/news/2016/11/ <comment><USER2> For better or worse they awoke the sleeping giant[1]. Curious to see how things play out with the fork (i.e. will vim users stay put or move on to neovim in the coming months/years).

[1] [https://github.com/vim/vim/graphs/contributors](https://github.com/vim/vim/graphs/contributors)

<comment><USER3> I'm not sure how it could be 'for worse'? Even Neovim benefits from the uptick in Vim patches, because they actually merge many of them into Neovim. So it seems like it can only be a good thing. Better editors for everyone.

<comment><USER4> That's one way it could play out, but that's not the way it did play out. Vim ate Neovim's lunch because they took so long to create a release that Vim was able to copy their best features. Worse yet, they did this in a way that is not compatible with Neovim. There is a chasm between Vim and Neovim that is growing, and the incentive to cross it is shrinking.

As someone who has watched closely Neovim's development since its announcement, and used it as my daily text editor for literal years, I feel sad to say that it is early-stage vapourware. They kicked vim into action, then vim kicked them out of it.

<comment><USER5> Vim didn't eat Neovim's lunch. It made its own lunch. Vim8's async feature is a copy only in name. Comparing both async APIs, I'm almost certain that Vim8's was added spitefully. It's just so obtuse compared to Neovim's.

<comment><USER4> Well, that one is the one people are using. Now that the question among plugin developers is "Vim or Neovim?" which one do you think they will choose? It's totally possible that Neovim will need to adopt Vim's inferior API for compatibility reasons, like they're doing with the VimL<->Lua compatibility layer.

<comment><USER5> The same question can be asked about Vim 7.4 and Vim 8.0. Which should a plugin developer choose to support? I'm a plugin developer and choose to support any version that has the right features for what I'm accomplishing. For most things, there isn't anything special that needs to be done.

</comment></comment></comment></comment></comment></comment><comment><USER6> Slow, incremental, consistent, disciplined hard work leads to amazing results.

Congratulations and huge thanks to the maintainers, I use neovim every day and love it.

<comment><USER7> I read that article and didn't get a good handle on any features that would motivate a transition from Vim. Any links you could provide?

<comment><USER8> For me, I like:

\- Neomake ( [https://github.com/neomake/neomake](https://github.com/neomake/neomake) ) which I use for async linting. I know this is now working in Vim 8, but I've been using Neovim for a while and this was exclusive for a while.

\- Vim-test ( [https://github.com/janko-m/vim- test](https://github.com/janko-m/vim-test) ) uses `:term` for running your tests from within vim -- this is most useful because I have a shortcut to test from current editing file, etc. I know this is also possible in vim now.

\- Mapping Meta keys in terminal -- opens up a bunch more shortcuts that weren't available before

\- `inccommand` This I believe is only in neovim, and likely not enough for anyone to switch for

Cons: \- Not in distros, gotta install manually via their PPA

<comment><USER9> Thanks for the link to Neomake - Neovim is still a first class citizen for it, and it was a pain to get it working on Vim (and several bugs for Vim have been filed, debugged and fixed in this process).

<comment><USER8> Thanks for making Neomake!

</comment></comment></comment></comment></comment><comment><USER10> It's a joy to read such a polite newsletter. Friendly towards to original source. Friendly and open as a community. Everythings seems well organized and distributed. Well done!

Also thanks a lot for the tool, I use neovim almost daily.

</comment><comment><USER8> As a daily neovim user, love the progress! Here's to a great 2017!

</comment><comment><USER11> Fantastic work by the Neovim folks as usual. However, this sentence stuck out to me

> The API should only grow, not break

This seems to ensure eventual bloat.

</comment><comment><USER12> Is neovim packaged for distros?

<comment><USER9> Arch has it: [https://www.archlinux.org/packages/?name=neovim](https://www.archlinux.org/packages/?name=neovim) The -git version in AUR: [https://aur.archlinux.org/packages/neovim- git/](https://aur.archlinux.org/packages/neovim-git/).</comment></comment>


Ask HN: Idea feedback on cheaper website/API uptime alerting - <AUTHOR> I am currently researching the idea to build a simple uptime monitoring tool to monitors websites and APIs.
Features:

    Up to 10 monitors.

    Sms(50 per month) Alerts, Email, Callback URLs.

    1 min interval

    Easy configuration
 Pricing:
Looking to price it around 2.99$ or less per month to undercut the competition. Though the larger players have great(and more) features, I think there is a good enough market for a lighter and more cheaper alternative.
Target Audience:
Startups, Single owner websites. <comment><USER2> Follow [https://twitter.com/sinequanonh](https://twitter.com/sinequanonh) He sometimes posts revenue numbers of his [https://hyperping.io/](https://hyperping.io/) service.

With the low price point you'd attract users who bail at any price increase. It leaves little money for customer acquisition and support cost. Spending 10 minutes on a customer email ("do you plan to add feature X?") or dealing with failed credit card transaction (month 6 fine, month 7 "insuffient funds" error) already wipes any earnings the customer might have brought.

I'd try doing only yearly payment like [https://servercheck.in/pricing](https://servercheck.in/pricing)

<comment><AUTHOR> Also, I have been thinking to launch with a basic plan and then, any new additional feature will go into a new pro-plan. So, people that had signed up will not witness a price rise but will have enough incentive to upgrade.

</comment></comment><comment><USER3> I might use something like this, I have a few small sites. The cheapest pingdom plan is $15/mo which seems like too much for what I'd need.

How did you determine that there's a market for this? I ask because I'm trying to learn how to validate demand.

<comment><AUTHOR> I used Google docs heavily. I started with a list of 10 uptime monitoring competitors with features, pricing, and weaknesses. I figured out that all of them were charging ludicrous amounts of money to do a simple task like alerts via SMS or email. While they do offer much more features - I realized, after having built a couple of websites that I don't really need fancy features. I also did a SWOT analysis of the idea and where my app would lie in the spectrum, and the amount I could charge to a customer.

<comment><USER3> Cool. Have you thought about acquisition channels? Maybe Heroku elements would be a good place to distribute this

<comment><AUTHOR> Not yet, the acquisition strategy would be my next logical step I think. I am not aware of Heroku elements, will check it out. Thanks.</comment></comment></comment></comment>


Show HN: Sirix.io – versions XML/JSON efficiently and allows time-travel queries - <AUTHOR> https://sirix.io <comment><AUTHOR> Hi,

I had already posted yesterday, but maybe it's of some value for some of you, I still hope at least :-)

Sirix.io is all about efficient versioning of your data. That is on the one hand it reduces the storage cost of storing a new revision during each transaction-commit while balancing read- and write-performance through a novel sliding snapshot algorithm and dynamic page compression. On the other hand Sirix supports easy query capabilities for instance to open a specific revision by a timestamp or revisions by a given timespan, to navigate to future or past versions of nodes in the tree-structure and so on. It basically never overwrites data and is heavily inspired by ZFS and borrows some ideas and puts these to test on the sub-file level.

It all started around 2006 as a university / Ph.D. project of Marc Kramis and I already spend my Bachelor's Thesis, Master's Thesis as well as several HiWi- Jobs on the project and I'm still more eager than ever to put forth the idea of a versioned, analytics plattform to perform analytical tasks based on current as well as the history of the data.

I've been working a lot on Sirix.io the last couple of months and spent most evenings after my day to day software engineering Job. I had already posted around christmas, but now I've added a native JSON storage layer besides XML, that is the storage itself, XQuery extensions for JSON for joint XML- and JSON-querying, a RESTful-API also for JSON, added a website, a forum and first documentation... :-) and last night I release version 0.9.0.

So, any feedback, comments, suggestions, just everything is more than welcome. I'll happily (try to? ;)) answer any questions you might have. Happy easter everyone :-)

kind regards Johannes

[https://sirix.io](https://sirix.io)

[https://github.com/sirixdb/sirix](https://github.com/sirixdb/sirix)

<comment><AUTHOR> Oh and I forgot... it for sure supports Diffing capabilities (even an import algorithm for XML-documents currently that tries to find the minimum edit operations to transform a tree into another version of the tree). Once several revisions are stored in Sirix unique IDs are used for comparison and optionally stored hashes can be used by the diffing-algorithms to skip the traversal of subtrees (if the hash-values match). That said, for XML I'm outputting an XQuery Update Script and for JSON-data I have no serialization format as of now. So it's up for discussion basically :-)

</comment></comment><comment><AUTHOR> What might also be interesting are some of the basic features:

[https://sirix.io/features.html](https://sirix.io/features.html)

And a bit about the concepts/architecture (basically we wrote our storage engine from scratch based on a kind of hash array based tries and concepts from ZFS and our very own novel sliding snapshot versioning algorithm):

[https://sirix.io/concepts.html](https://sirix.io/concepts.html)

Happy easter to all of you :-)

Best regards Johannes</comment>