TimescaleDB vs. InfluxDB: built differently for time-series data - <AUTHOR> https://blog.timescale.com/timescaledb-vs-influxdb-for-time-series-data-timescale-influx-sql-nosql-36489299877 <comment><USER2> Wonderful analysis, I was waiting for something like this to come out!

Recently, I've gone through this very same choice and ended up with vanilla PostgreSQL (Timescale was not mature enough).

[Shameless self plug] You can read some of the details here: [https://medium.com/@neslinesli93/how-to-efficiently-store- an...](https://medium.com/@neslinesli93/how-to-efficiently-store-and-query- time-series-data-90313ff0ec20)

<comment><USER3> One point of clarification for readers of @neslinesli93's post is that Timescale does not create "heavy" indexes.

We do create some default indexes that PostgreSQL does not, but these defaults can be turned off. We also allow you to create indexes after bulk loading data, if you want to compare apples-to-apples.

But to be clear, the indexes Timescale creates are the same, or can often times be cheaper, than PostgreSQL (remember, TimescaleDB is implemented as a PostgreSQL extension). We're always happy to help people work through proper set up and any implementation details in our Slack community (slack.timescale.com).

<comment><USER2> Hi, thanks for the tips!

As I mentioned inside the article, I tested last year version of TimescaleDB (July/August 2017) and that was my experience with it out of the box.

I am really impressed by all the progress you've made, and hopefully I'll consider TimescaleDB as my first choice on the next iteration of the product I'm working on.

Now, I'm skimming through the docs[1] and as I understand, create_hypertable is called before all the data is migrated, thus all TimescaleDB indexes are already present during the migration. What is the way to create indexes after data migration?

[1] [https://docs.timescale.com/v0.11/getting- started/migrating-d...](https://docs.timescale.com/v0.11/getting- started/migrating-data)

<comment><AUTHOR> Hi @neslinesli93, it's quite easy:

(1) Call create_hypertable with default indexes off (include an argument of `create_default_indexes => FALSE`) [1]

(2) Then just use a standard CREATE INDEX command on the hypertable at any time. B-Tree, hash index, GIN/Gist, single key, composite keys, etc. This DDL command will propagate to any existing chunks (and create them) and will be remembered to so any future chunks that are automatically created will also have these indexes [2]

[1] [https://docs.timescale.com/latest/api#create_hypertable](https://docs.timescale.com/latest/api#create_hypertable)

[2] [https://docs.timescale.com/latest/using- timescaledb/schema-m...](https://docs.timescale.com/latest/using- timescaledb/schema-management#indexing)

</comment></comment></comment></comment><comment><USER4> InfluxDB isn't as easy as it's sound to operate.

Anything built on top of Postgres probably has year of knowledge to tune the db. but not much on InfluxDB. You are on your own.

You cannot even easily upgrade InfluxDB, especially when you want to use some new feature such as enabling the TSI.

When something is wrong, again, you're on the own.

The question to InfluxDB HA isn't available as well.

Yes, with all of that pain point, I'm still using InfluxDB. I even have to add in [https://github.com/buger/goreplay](https://github.com/buger/goreplay) to support replaying traffic to other instance during upgrade.

I have to write a tool to re-read old data and import into new instance instead of using their own import/restore.

Many gotcha with InfluxDB, hard to explain to dev not using high cardinality for tag, or not using too many tag. For example, people get used to `tag` concept of `fluentd` and put stuff like user id, device id into tag...

I want to log slow query time, now, I cannot use whole query as tag because of very high cardinality.

However, I kept using InfluxDB. I want to support it so we have something better than Postgres. I'm sick of SQL query(personaly) and I would like for Flux to be successful.

Similar to MongoDB, it's bad years ago but very good nowadays. I guess same thing will happen with InfluxDB. And indeed, they do improve over the year.

Similar to how we use Ruby vs C. It's about productivity. And despite of above pain points, I always find a way to solve them eventually. And the tooling around InfluxDB is nice, especially Grafana.

</comment><comment><USER5> As someone who is struggling with issues with InfluxDB in production environments, this just moved my `Investigate replacing Influx with Timescale` issue higher up my priority list. Many of the problems with InfluxDB pointed out in the article are indeed real-world pain points for us.

<comment><USER6> What sort of issues are you running in to?

<comment><USER7> After running InfluxDB in production for a bit more than year, here's some issues from top of my mind we ran have into:

# Common \- All: Various documentation issues

      - Including versioning in the documents

\- Influx/Kapacitor: Cannot join values in Influx, but you can Kapacitor (but not dynamically)

      - Available in InfluxDB 1.6. now!

# InfluxDB

\- Influx: GroupTag not grouping [https://github.com/influxdata/kapacitor/pull/1773](https://github.com/influxdata/kapacitor/pull/1773)

\- Influx: last() is really slow [https://github.com/influxdata/influxdb/issues/8997](https://github.com/influxdata/influxdb/issues/8997)

\- Influx: Cannot update / edit tags [https://github.com/influxdata/influxdb/issues/3904](https://github.com/influxdata/influxdb/issues/3904)

\- Apparently you can have tags and fields with the same names which bump up the query times by 1000x times, without ever knowing what's wrong (fixable by adding ::tag to the value)

\- Cannot incrementally restore incrementally backed up databases (we made a script to do that) [https://github.com/motleyagency/influxdb-incremental- restore](https://github.com/motleyagency/influxdb-incremental-restore)

# Kapacitor

\- Kapacitor does not support subqueries

\- Kapacitor does not (properly) support queries from multiple measurements

\- Cannot have field and tags with same name \- Cast syntax doesn't work either ([https://github.com/influxdata/influxdb/pull/6529](https://github.com/influxdata/influxdb/pull/6529))

# Telegraf

\- Telegraf: Telegraf HTTPJson plugin does not support custom timestamps

# Chronograf

\- The TickScript editor sometimes hangs for good and requires Chronograf restart

\- Minor: No up-to-date syntax highlighting for TickScript in any common editors

That said we most likely would have ran into similar issues with out time series databases and I applaud their effort to keep InfluxDB open source.

</comment></comment></comment><comment><USER8> These kind of articles by one of the compared parties only become interesting once the other party responds. So waiting for Paul Dix to show up in this thread as usual.

</comment><comment><USER9> The TimescaleDB benchmark code is a fork of code I wrote, as an independent consultant, for InfluxData in 2016 and 2017. The purpose of my project was to rigorously compare InfluxDB and InfluxDB Enterprise to Cassandra, Elasticsearch, MongoDB, and OpenTSDB. It's called influxdb-comparisons and is an actively-maintained project on Github at [0]. I am no longer affiliated with InfluxData, and these are my own opinions.

I designed and built the influxdb-comparisons benchmark suite to be easy to understand for customers. From a technical perspective, it is simulation- based, verifiable, fast, fair, and extensible. In particular, I created the "use-case approach" so that, no matter how technical our benchmark reports got, customers could say to themselves: "I understand this!". For example, in the devops use-case, we generate data and queries from a realistic simulation of telemetry collected from a server fleet. Doing it this way creates benchmarking stories that appeal to a wide variety of both technical and nontechnical customers.

This user-first design of a benchmarking suite was a novel innovation, and was a large factor in the success of the project.

Another aspect of the project is that we tried to do right by the competition. That means that we spoke with experts (sometimes, the creators of the databases themselves) on how to best achieve our goals. In particular, I worked hard to make the Cassandra, Elasticsearch MongoDB, and OpenTSDB benchmarks show their respective databases in the best light possible. Concretely, each database was configured in a way that is 1) featureful, like InfluxDB, 2) fast at writes, 3) fast at reads, and 4) efficient with disk space.

As an example of my diligence in implementing this benchmark suite for InfluxData, I included a mechanism by which the benchmark query results can be verified for correctness across competing databases, to within floating point tolerances. This is important because, when building adapters for drastically different databases, it is easy to introduce bugs that could give a false advantage to one side or the other (e.g. by accidentally throwing data away, or by executing queries that don't range over the whole dataset).

I don't see that TimescaleDB is using the verification functionality I created. I encourage TimescaleDB to run query verification, and write up their benchmarking methods in detail, like I did here: [1].

I think it's great that TimescaleDB is taking these ideas and extending them. At InfluxData, we made the code open-source so that others could build and learn from our work. In that tradition, I hope that the ongoing discussion about how to do excellent benchmarking of time-series databases keeps evolving.

[0] [https://github.com/influxdata/influxdb- comparisons](https://github.com/influxdata/influxdb-comparisons) (Note that others maintain this project now.)

[1] [https://rwinslow.com/rwinslow-benchmark-tech-paper- influxdb-...](https://rwinslow.com/rwinslow-benchmark-tech-paper-influxdb-vs- elasticsearch-may-2016.pdf)

<comment><USER10> Hey rw, one of the core contributors to TSBS here. First of all, thank you for the work you did on influxdb-comparisons, it gave us a lot to work with and helped us understand Timescale's strengths and weaknesses against other systems early on. We do appreciate the diligence and transparency that went into the project. We outline some of the reasons for our eventual decision to fork the project in our recent release post [1]. Most of the reasons boil down to needing more flexibility in the data models/use cases we benchmark and needing a more maintainable code design since we're using this widely for a lot of internal testing.

Verification of the correctness of the query results is obviously something we take very seriously, otherwise running these benchmarks would be pretty pointless. We carefully verified the correctness of all of the query benchmarks we published. However, it's a process we haven't fully automated yet. From what we can tell, the same is true of influxdb-comparisons — the validation pretty prints full responses but each database has a significantly different format, so one needs to manually parse the results or set up a separate tool to do so. We have our own methods for doing that internally — once we get the process more standardized and automated we will definitely be adding it to TSBS. We encourage anyone with ideas around that (or anything else) to take a look at the open source TSBS code and consider contributing [2].

[1] [https://blog.timescale.com/time-series-database- benchmarks-t...](https://blog.timescale.com/time-series-database-benchmarks- timescaledb-influxdb-cassandra-mongodb-bc702b72927e)

[2] [https://github.com/timescale/tsbs](https://github.com/timescale/tsbs)

</comment></comment><comment><USER11> > the focus of time-series databases has been narrowly on metrics and > monitoring

I am curious if ppl are using TSDB's for business predictions, machine learning, exploratory visualisation, datascience and AI. I got curious after seeing a udacity course on tsdb predictions.

[https://www.udacity.com/course/time-series-forecasting-- ud98...](https://www.udacity.com/course/time-series-forecasting--ud980)

<comment><USER12> Quite a few companies do. I was involved in creating a predictive maintenance application using neural nets and using a TSDB as data source at my previous employer.

</comment></comment><comment><USER13> Does anyone have thoughts on why Postgres shouldn't provide:

\- Automatic sharding of tables per-"shard key".

\- Automatic sharding of those keyed shards by the range of some primary index.

Doesn't this get you 90%+ of the way there? (There's no "adaptive" time bucketing, I guess.)

For the record, I am a veteran of a naive Postgres time series scheme that was brought to its knees by seek times.

<comment><USER14> I think what you are asking is why something like TimescaleDB has to exist in the first place; i.e., why doesn't PostgreSQL just naturally do this?

Here's why: There are scenarios with time-series data that rarely occur with standard/vanilla PostgreSQL OLTP workloads. So PostgreSQL simply isn't designed to handle these scenarios well on its own.

Having 100s-1,000s of partitions is one such example. We found that insert rate on standard PostgreSQL drops quickly as the number of partitions increases, because PostgreSQL decides to hold a lock on every partition on insert, even though the insert may only touch one partition. [1]

When we asked the core PostgreSQL devs about this, they explained that they did this because sorting out the appropriate locks was a hard problem, and that they saw this scenario as so unlikely for OLTP that they instead directed their resources to other more pressing problems.

But with time-series data this is a very common scenario, so we (TimescaleDB) had to sort it out ourselves.

And this is just one example. There are quite a few query optimizations that we also had to develop for working with time-based data more efficiently.

At a high-level, every project has to optimize for something. PostgreSQL understandably optimizes for OLTP workloads. But the beauty of PostgreSQL is that it allows extensions to optimize for other workloads, such as time- series.

[1] [https://blog.timescale.com/time-series-data- postgresql-10-vs...](https://blog.timescale.com/time-series-data- postgresql-10-vs-timescaledb-816ee808bac5)

<comment><USER15> > When we asked the core PostgreSQL devs about this, they explained that they > did this because sorting out the appropriate locks was a hard problem, and > that they saw this scenario as so unlikely for OLTP that they instead > directed their resources to other more pressing problems.

The locking on partitioned tables is a little clunky, but the overhead of these locks is very low. The main performance problem in Postgres 10 was the partitioning pruning, which used an exhaustive linear search. That has been fixed in Postgres 11 (due in September) which uses binary search and introduces various other partitioning improvements [1].

[1] [https://www.postgresql.org/docs/11/static/release-11.html#id...](https://www.postgresql.org/docs/11/static/release-11.html#id-22.214.171.124.5)

<comment><USER16> I believe what akulkarni meant to talk about is relation accesses (and not just locks). While the partition pruning certainly improved things, two sources of inefficiency still remain in PG 11:

1) Fetching statistics for each table during queries (which happens by reading from the data file off of disk). This happens /before/ pruning, even on PG 11.

2) The overhead of locking each table is still there. Although it's a smaller issue than (1).

We at TimescaleDB found (1) to be the most significant overhead and in fact we have significantly improved things there [1].

[1][https://github.com/timescale/timescaledb/commit/b7257fc8f483...](https://github.com/timescale/timescaledb/commit/b7257fc8f483475382019cadcc7a75fae0b72f0a)

<comment><USER17> You could also just have worked on lowering those overheads in PG, just saying. It's easy to blame "PG devs", but most of us could get changes quicker to our company's respective customers by just fixing everything in forks.

<comment><USER18> Timescaler here. We're not blaming "PG devs". We have great respect for the PostgreSQL developers and what they are doing; so much, in fact, that we chose to base our product on PostgreSQL. And, TimescaleDB is not a fork--it is an extension to PostgreSQL that can be loaded in existing PostgreSQL installations.

We would be happy to contribute to PostgreSQL, but I think the issue here is that, as a business that is focusing on a very particular use case, we are not perfectly aligned with the PostgreSQL roadmap. We want to be able to move quickly and adapt to customers needs, focusing on the pain points and issues they have. This simply isn't compatible with the more conservative development pace that main PostgreSQL understandably has.

From another perspective, I think one strength of PostgreSQL is, in fact, its support of extensions, enabling innovation alongside main PostgreSQL while the core developers can focus on a rock solid and extensible foundation. So, from where I am coming from, this is a feature and not a bug.

</comment></comment></comment></comment></comment></comment><comment><USER19> Nice article but is it deliberate that you don't mention getting data into the database (line protocol or similar) or analysing the results and displaying them.

Input = use postGres Output = Grafana has a postGres data source which I assume works and mention in timescales b's issues of a Grafana query helper.

Also lack of analysis, consolidation (continuous queries) and retention policies.

I am however intrigued as it does seem to hit my sweet spot of 100's of servers each with 5 to 10 different series of 10 metrics each, every 10 sec.

Database size might be an issue, as would the complexity of deployment (a big win for Prometheus rather than influxdb though).

Final thoughts Can't help feeling this looks like a few input scripts running on postGres rather than a system solution for metrics and annotations.

<comment><USER18> Fellow Timescaler here. Thanks for the feedback. While we do not directly compare ingestion protocol and specific features, like continuous queries and retention polices (something I guess we could add), we do compare echosystems and third-party tools support, including ingestion (e.g., Kafka, Hibernate) and visualization (e.g., Tableau, Grafana). In fact, the developer behind the Grafana PostgreSQL data source is also a Timescaler, and an upcoming version of the data source will have an improved query builder and first-class TimescaleDB support.

Finally, I can assure you that this is more than a few input scripts. In fact, the project is thousands of lines of C code (if that matters) that implement automatic partitioning, query optimizations, and much more. Our code is open source here: [https://github.com/timescale/timescaledb](https://github.com/timescale/timescaledb)

We have other blog posts ([http://blog.timescale.com](http://blog.timescale.com)) and system documentation ([http://docs.timescale.com](http://docs.timescale.com)) that explain what we're doing if you're interested in learning more about the details.

</comment></comment><comment><USER20> Creator & CTO of InfluxDB here. I won't respond too much in this write-up specifically but felt I had to respond to the requests for me to comment. For the benchmarks, I haven't looked at their fork of our original code and we haven't had engineers attempt to reproduce their results. In truth, we probably won't put much effort into that. We have every intention of putting more effort into benchmarking, but I'll talk a bit more about that at the end of this post.

Much of this comparison is the technology equivalent of an argument through appeal to authority. The old "nobody ever got fired for buying Big Blue" argument. It's true that Postgres has been around for much longer than InfluxDB. Mike is actually overly generous when he pinpoints InfluxDB's first release in September of 2013. First commit was September 26th, 2013 where I added the MIT license and the empty README where I refer to the project as ChronosDB. The first "release" wouldn't follow for another six weeks and I would hardly qualify that as an official release (0.0.1). If you followed the commit log, you'd see that InfluxDB is actually younger than that. We rewrote the entire thing from November of 2014 onward. Ben Johnson gets the award for InfluxDB committer to have the largest delete set in a single commit when he ripped everything out when we started the 0.9 release line. The storage engine didn't even start getting written until December of 2015 (although I wrote the prototype of the concept over Labor Day Weekend in the beginning of September 2015). So in some sense you could say that we've been at this storage game for less than three years.

However, I wouldn't discount a technology simply because it's new. We take data loss very seriously and strive to create a storage engine that is safe for data. The issues linked to in that post are either closed, apply to a previous storage engine, or were recovered through tooling (in the case where a corrupt TSM file was written). Yes, these things take time to get right and there is always room for improvement. Proper infrastructure and planning mitigates these risks. For example, in our cloud environment, we take hourly snapshots of the EBS volumes that store data. We make sure that we're able to recover from a catastrophic failure, even if it is one that was induced by some software bug. Although we haven't seen corrupt TSM files or corrupt WAL files in our cloud environment.

The argument on community size is in a similar vein. Yes, the Postgres community is larger than InfluxDB's. But InfluxDB has a large, vibrant and growing community. PHP has a larger community than Go, but I'm not going to write code in PHP because of that (no offense to the PHP devs). When I was a Ruby programmer I didn't pick it because of maturity or community size. In 2005 barely anyone even knew about it. I picked Ruby (and Rails) at the time because of what I could build with them. More importantly, I picked those tools because of how quickly I could build with them. It also didn't hurt that I connected with the Ruby community and felt like I had found my tribe. So it's possible to have a community that you like and connect with regardless of size.

Ultimately, we've chosen to create from scratch. We've also chosen to create a new language rather than piggybacking on SQL. We've made these choices because we want to optimize for this use case and optimize for developer productivity. It's true that there are benefits to incremental improvement, but there are also benefits to rethinking the status quo. I've heard many times from our users that they liked the project because of how easy it was to get started and have something up and running. We'll continue to optimize for that while also optimizing performance, stability, the overall ecosystem and our community. It means that we invest into tools outside the database to make solving problems with time series data easier. It also means that we've created a storage engine from scratch and we're creating a new language, Flux. We've MIT licensed the language and the engine. This is because we're building Flux to make it work with other databases and systems. Our goal is to build an all new community and ecosystem around Flux, for programmers that are working with data (time series or otherwise).

Finally, some thoughts on benchmarks. I hate benchmarks. There are lies, damn lies, and benchmarks. Particularly in comparisons. You always have to look for what was in, what was out, and if everything was done to favor one solution over another. And yes, we're guilty of putting out the original performance benchmark comparisons. So here's what I want to do for InfluxDB as an ongoing effort. We should be benchmarking, but doing it with workloads that are as close to what we see in real production systems as possible. No bulk loading a bunch of data and then doing a bunch of basic queries while the DB isn't under any other load. Further, I don't want to do comparisons to other solutions. I don't want to do another vendor's work for them. I'd rather focus the benchmarks on continuous improvements against our own builds. Benchmarks are great when they lead to ongoing product improvement. They're also useful if we make them public for the community and our customers so they can see over time how things are shaping up.

We see time series as a massive market with many different offerings, which often have different philosophies. And much of this is about APIs and aesthetic, so for many questions, there isn't really a "correct" answer. Our goal is to focus our product efforts on delivering the best experience for the community and customers who are working with time series data and building applications and solutions on top of our platform. At the same time, we want to contribute as much of our from scratch code back to the open source Go community so that implementors ahead of us can build on our shoulders.

<comment><USER21> > Our goal is to focus our product efforts on delivering the best experience > for the community and customers

After makimg clustering closed source after saying it would be part of the open source version, I think it would be more accurate and far more honest to just say "our customers" not "community and customers".

<comment><USER20> The vast majority of InfluxDB users are using open source exclusively. There are millions of servers all over the world running open source software built by InfluxData. When I say we're building for our community, I mean exactly that. We continue to put software into the open source ecosystem because it's a core value for our company and as developers we like to share what we're building with the world.

Yes, we build some features (like clustering) exclusively for paying customers, but that is what subsidizes the open source that we continue to build and make freely available. Last year I gave a talk and a related blog post about the dynamics of building a business on open source software: [https://www.influxdata.com/blog/the-open-source-database- bus...](https://www.influxdata.com/blog/the-open-source-database-business- model-is-under-siege/)

</comment></comment></comment><comment><USER22> At the end of the day Influx is going to be cerchunking along like the square wheel garbage collection is with occasional wild memory and latency gyrations. Couple with that a log structured tree for more "fun".

C doesn't guarantee you wont do things like that, but Timescale is built in such a way as to minimize most of this kind of extreme waste in patrols with full postgres user experience.

</comment><comment><USER23> Why not compare it with the market leader kdb+? [https://kx.com/media/2018/06/KdbTransitive- Comparisons.pdf](https://kx.com/media/2018/06/KdbTransitive-Comparisons.pdf)

<comment><USER16> From kdb+ license agreement:

"1.4 Kdb+ Software Evaluations. End User shall not distribute or otherwise make available to any third party any report regarding the performance of the Kdb+ Software, Kdb+ Software benchmarks or any information from such a report unless End User receives the express, prior written consent of Kx to disseminate such report or information."

<comment><USER24> It is unfortunate that Kdb+ likes to tout benchmarks against Influx etc, but their license prevents anyone else from doing the same.

</comment></comment></comment><comment><USER25> Would love a comparison to Market Store [https://github.com/alpacahq/marketstore](https://github.com/alpacahq/marketstore)

</comment><comment><USER26> Given the cambrian explosion in tools, i am always looking for safe ways to cross a tool off my "must consider" list. This article was very helpful in that regard!

</comment><comment><USER27> Sure Postgresql can handle doing metrics; been doing it for 2 years without any timescaledb.

I also use influxdb. Different tools for different purposes

</comment><comment><USER28> timescale.com isn't https enabled by default. influxdata.com is. Just my first impression as a 2018 web developer.

</comment><comment><USER29> Submission by "Professor of Computer Science, Princeton. Co-founder and CTO, Timescale."

<comment><USER30> From the article.

        > Yes, we are the developers of TimescaleDB, so you might quickly disregard our
        > comparison as biased. But if you let the analysis speak for itself, you'll find
        > that it tries to stay objective — indeed, we report several scenarios below in
        > which InfluxDB outperforms TimescaleDB.

<comment><USER31> I've just read and 2/3 of this article shows TS has more advantage than InfluxDB. I just wonder why TS instead of just use PostgreSQL directly?

<comment><USER14> (Timescaler here.) That's a common question, and one we address in this post: [https://blog.timescale.com/timescaledb- vs-6a696248104e](https://blog.timescale.com/timescaledb-vs-6a696248104e)

tl;dr TimescaleDB vs. PostgreSQL: 20x higher inserts, 2000x faster deletes, 1.2x-14,000x faster queries, additional functions for time-series analytics (e.g., first(), last(), time_bucket() [1])

[1] [http://docs.timescale.com/v0.11/api#analytics](http://docs.timescale.com/v0.11/api#analytics)</comment></comment></comment></comment>


Show HN: Off-heap storage for Hazelcast - <AUTHOR>

Hi,
I work on an embedded database engine for Java. One of the things it provides are Java collections outside heap, not limited by Garbage Collector.
One of my projects is using Hazelcast. But Hazelcast is limited by GC to about 4GB of data per node. So I patched Hazelcast to use off-heap Map from my database engine. Now it handles 25GB per node without a hiccup.
It is about 3x slower, but fits 2x more data into same memory. Also it does not have GC overhead, so from about 8GB it becomes faster.
It is completely free under Apache 2 license, it is sponsored by my consulting. I would like to know your ideas what to do with this project in future. And perhaps there is similar project which could use similar optimization.
https://github.com/jankotek/mapdb-hz-offheap <comment><AUTHOR> Clickable link: [https://github.com/jankotek/mapdb-hz- offheap](https://github.com/jankotek/mapdb-hz-offheap)</comment>


Ask HN: How to Disrupt? - <AUTHOR>

Thoughts, ideas and suggestions?<p>We have great articles on "How to become a hacker":ESR and "How to start a start-up":PG. I though it would be interesting and useful to explore "How to Disrupt?" <comment><USER2> You should read a book called "Blue ocean strategy"; it is about this exact thing. The core part of any disruption in my opinion is to eliminate the value cost trade off. Companies usually compete on 2 grounds; lower price or increased utility. But when a someone enters the market and breaks the value cost trade off (increased utility w/ lower price) the result is usually disruption within the market.

Yes, I know the above stuff is ovious; what you need to know is how to do this. I have put some methods below.

1\. Reconstruct market boundaries: you can do this by looking across alternative industries or across strategic groups in an industry. What are your customers alternative? What if they trade up? What if they trade down?

Drawing a strategic canvas and applying the 4 actions framework is useful.

2\. Focus on the big picture and not just the numbers

Data driven decision making is good but sometimes people get lost in the numbers; epically the market leaders. By focusing on the big picture (context and consumer intent) instead of just the numbers you are more likely to be able to see outside of the existing market paradigms.

3\. Reach beyond existing demand

First tier: "Soon to be" non-customers who are the edge of our market; waiting to jump ship

Second tier: refusing non-customers who consciously choose against our market

Third tier: "unexplored" non-customers who are in markets distant from ours

There are many other ways as well e.g.: Get the strategic sequence right etc...but these were some of my favorites.

</comment><comment><USER3> This book has some interesting ideas:

[http://www.squeezedbooks.com/book/show/5/lateral- marketing-n...](http://www.squeezedbooks.com/book/show/5/lateral-marketing- new-techniques-for-finding-breakthrough-ideas)

</comment><comment><USER4> The Innovator's Solution: [http://www.amazon.com/Innovators-Solution-Creating- Sustainin...](http://www.amazon.com/Innovators-Solution-Creating-Sustaining- Successful/dp/1578518520)

</comment><comment><USER5> By challenging (finding another solution to) one parameter everybody takes for granted. I think of Skype challenging the phone paradigm (ie we have to pay for it, per minute, the further on Earth the more expensive). If you come accross a pain that people "accept" as part of life, there is room for power disruption (imo).

</comment><comment><AUTHOR> Disruptive ideas should be push enough to make then your new need. Now days we use google, for almost everything online search, bookmarking, history, cache, research... essentially google disrupted market so much that it has become a daily need(if you are online).</comment>


Show HN: CreepyCodeCollection- a Nonsense Collection of Disgusting Codes - <AUTHOR> https://github.com/MinhasKamal/CreepyCodeCollection <comment><USER2> Why do some people call programs "codes"? I hear this a lot from mathematicians and physicists.

<comment><USER3> Because the act of writing a program is known as "coding".

<comment><USER2> I always thought it was "programming".

</comment></comment></comment><comment><USER4> I'm not convinced that 'creepy' is the right word but this is a fascinating collection of art; the puzzling, the underhanded, the clever, and the impressive.

I hope the collection will grow over time!

</comment><comment><USER5> The right term is obfuscation. And if you'd done your research well, you would have found tens of them on the perl monks forum....... way more intriguing and "creepier" than your examples

<comment><USER3> And since 1984, well before Perl was a thing, C coders have had their "International Obfuscated C Code Contest".</comment></comment>


Data Centers With No UPS or Generator? - <AUTHOR> http://www.datacenterknowledge.com/archives/2010/07/14/data-centers-with-no-ups-or-generator/

<comment><USER2> I don't use a UPS for a power outage - I use it for a power "blink". Where the power turns off for second or so.

Yahoo will need the same, unless they know the grid where the are never does switchovers, and never gets hit by lighting.

Maybe they don't need a generator, but a UPS is essential.

<comment><USER3> How often does that happen?

What's the worst-case scenario if it does? Some people don't get served their web pages and have to hit reload?

I'm more concerned about Blue Waters. Power outages might not happen very often at Urbana-Champaign, but each one will annoy hundreds of scientists.

<comment><USER2> > How often does that happen?

During the stormy season lightning strikes happen every few days, although not all of them cause a blink that lasts long enough to reboot the computer.

</comment></comment></comment><comment><USER4> Too scary for me. Who decides what is essential and non-essential? Is it worth risking thousands or millions of dollars worth of equipment sitting on the commercial power grid without conditioning? In case of natural disasters you have to accept the reality you could be without commercial power for a long period of time. Might work for Yahoo's architecture but I'd be more comfortable with a more traditional approach myself. If you have a somewhat power efficient data center a small UPS/generator is pretty cheap. I'm guessing they're doing this more for environmental concerns than cost.

<comment><USER5> You can have power conditioning without a UPS per se.

Most businesses, and I'm saying this as a former consultant, greatly overestimate what systems are truly critical. Each group within a large company wants to claim their systems are the most critical to the business, but in reality, very few systems need to be up 24x7.

</comment></comment><comment><USER6> From my personal experience; the actual question should be:

'Datacenters with UPS and generator that were never tested and never seem to work when power goes off?'</comment>


Stripe BYOT (Bring Your Own Team) - <AUTHOR> https://stripe.com/blog?=byot <comment><USER2> This is pretty excellent. I'm sure there will be turbulence, but this at least makes explicit what many of us try to do anyway when we move through our careers... bring the best people we've worked with, with us. But that often requires all kinds of implicit backroom dealings and influence peddling. This makes it nice and transparent and to the point.

Very cool experiment. Really excited to hear how this goes some day. I hope the good folks at Stripe will post occasional updates about how this takes shape over time. Could be really transformative.

</comment><comment><USER3> If they are successful with this, and it becomes popular, it opens up a pretty big risk for other companies that stand to lose an entire intact team.

Potentially puts some leverage back into the employee base.

</comment><comment><USER4> Interesting. Seems like a cheaper alternative to acquihiring. :-)

Long term I'd love to see stats on this. My intuition is you'd wind up more successful, similar to how referrals make better employees. There does seem like some risk though - the team will likely succeed or fail as a group.

</comment><comment><USER5> Very interesting and clever move.

Over my career, I've worked with quite few teams where the team was the only thing keeping everyone at a given company. The chance to move everyone would have, potentially, gotten some very good teams to go.

</comment><comment><USER6> > Working together, ... a network effect ... Startup investors know this

Half right ... investors know that staffing the whole startup with founders is cheaper than hiring employees.

</comment><comment><USER7> This is the first time I've seen something like this, but my hunch is that Stripe is not the first to do it. Has anyone here done something like this? I'm interested in how well this works. I could see how it would be difficult for the team to integrate well into the company.

<comment><USER8> Like another commenter mentioned, it's not entirely dissimilar from small acquihires. I think it's a smart idea.

</comment></comment><comment><USER9> Posted about an hour previously: [https://news.ycombinator.com/item?id=11567135](https://news.ycombinator.com/item?id=11567135)

More comments there.

<comment><USER10> It beats me as to why HN hasn't implemented duplicate detection.

<comment><USER11> I think HN's dupe detection is a work in progress. I think it's currently a bit weaker, which allows good stories to get a chance when reposted.

Here's a post about it: [https://news.ycombinator.com/item?id=10223645](https://news.ycombinator.com/item?id=10223645)

<comment><USER12> Specifically - this link is to "/blog?=byot", while the earlier one is to the much prettier URL "/blog/bring-your-own-team"

<comment><USER13> Why Stripe would implement their URL structure that way is a question that I have.

<comment><USER12> My first guess would be backwards compatibility - the "?=" is easier to implement with old tooling, so maybe they changed their URL scheme at some point. But in that case they should have done one/both of:

1) Only generate the ugly old-style URLs for the old posts.

2) Make the old-style URLs into redirects to the new ones, rather than duplicates. This way must be hell on the search engines.

</comment></comment></comment></comment></comment></comment><comment><USER12> One interesting difference from acquihire here is that existing teams can be poached as a unit from other tech companies.

<comment><USER13> As long as they all can get days off to interview.</comment></comment>


Venus' Ocean of Air and Clouds - <AUTHOR> http://www.planetary.org/blogs/guest-blogs/2019/venus-ocean-of-air-and-clouds.html <comment><USER2> I cannot help but think that this provides some vindication for one of Isaac Asimov's more embarrassing[0] book titles...

[0] [https://en.wikipedia.org/wiki/Lucky_Starr_and_the_Oceans_of_...](https://en.wikipedia.org/wiki/Lucky_Starr_and_the_Oceans_of_Venus)

<comment><USER3> Nothing embarrassing about it. Until the early 1960s, scientists (and, thus, science fiction) were split about 40/40/20 on whether Venus was mostly ocean, mostly swamp, or mostly desert.

</comment></comment><comment> ur-whale This article really makes me wonder why mars is such a focus of space exploration right now, when Venus seems to be a much more interesting target:

        - closer (or so I believe, and according to [1])
        - more atmosphere to do stuff with
        - more natural resources to collect
        - more energy to collect

Granted the conditions are rough down there (pressure, temperature), but are they really rougher than those found on Mars. Different, granted, but harder?

Also, depending where you place yourself in the atmosphere, conditions might actually not be that bad.

Is landing a long lasting robot on Venus really harder than doing it on Mars?

[1] [https://sciencing.com/mars-venus-closer- earth-4940.html](https://sciencing.com/mars-venus-closer-earth-4940.html)

<comment><USER4> > _closer (or so I believe, and according to [1])_

Venus is physically closer, but that isn't the best measure of "closeness" for propulsive space travel. The right metric is delta-v, "a measure of the impulse per unit of spacecraft mass that is needed to perform a maneuver" [1].

Ignoring aerobraking, it takes almost 5x the energy to get to Venus compared to Mars [2]. (Side note, to drive the point home: it's easier to boost objects out of the Solar System, from Earth, than to send them into the Sun.)

[1] [https://en.m.wikipedia.org/wiki/Delta-v](https://en.m.wikipedia.org/wiki/Delta-v)

[2] [https://www.dailymail.co.uk/sciencetech/article-2679107/Mind...](https://www.dailymail.co.uk/sciencetech/article-2679107/Mind- interplanetary-gap-Space-subway-map-reveals-travel-planets-moons-solar- Tube.html)

<comment><USER5> Actually, I found that it is not as drastic as 5x on this site. [https://space.stackexchange.com/questions/2156/does-a- missio...](https://space.stackexchange.com/questions/2156/does-a-mission-to- venus-orbit-require-less-propellant-than-a-similar-mission-to)

<comment><USER4> > _it is not as drastic as 5x on this site_

Those are deltas-v from low-Earth orbit to low-Venus and low-Mars orbits, respectively.

Going from low-Venus orbit to the Venusian surface costs as much as getting from Earth to low-Venus orbit _plus_ getting from Earth to Mars almost 3x over [1].

[1] [https://www.dailymail.co.uk/sciencetech/article-2679107/Mind...](https://www.dailymail.co.uk/sciencetech/article-2679107/Mind- interplanetary-gap-Space-subway-map-reveals-travel-planets-moons-solar- Tube.html)

<comment><USER6> Wait, what? The article mentions that the delta-v on the chart is required to go from the surface of Venus to a low Venusian orbit, not the other way around.

I don't see why it would cost the same to go down from orbit to the surface. In fact, I'm pretty sure that a probe in a low Venusian orbit would decay on its own just like they do in low Earth orbit. I really don't see how going from a low Venusian orbit to the surface would be costly.

<comment><USER4> > _The article mentions that the delta-v on the chart is required to go from > the surface of Venus to a low Venusian orbit, not the other way around_

Delta-v is symmetrical. Putting something in orbit is mostly about accelerating tangentially to the surface, not about going up. Taking something out of orbit is mostly about accelerating tangentially to the surface, not about falling down.

> _I 'm pretty sure that a probe in a low Venusian orbit would decay on its > own just like they do in low Earth orbit_

Orbital decay for small objects is slow aerobraking. It is slow, requires a heat shield, and is structurally stressful.

</comment></comment></comment></comment></comment></comment><comment><USER7> I think Venus is one of the uglier planetary bodies but this was a fascinating read and the images are spectacular, especially that of Venus' nose on the pole.

Would be interesting to get behind as to why the atmosphere is spinning that crazy and why the planet spins clockwise like Uranus.

<comment><USER8> >Would be interesting to get behind as to why the atmosphere is spinning that crazy

Not an answer, but Venus doesn't have an internally generated magnetic field, so charged particles/solar winds interact with Venus' atmosphere. These interactions between the Solar Winds and atmosphere themselves create a magnetic field which appears different in size/shape than planets like us with internally generated magnetic fields. Again not an answer by any means, just interesting food for thought.</comment></comment>


What I Did After Police Killed My Son - <AUTHOR> http://www.politico.com/magazine/story/2014/08/what-i-did-after-police-killed-my-son-110038.html <comment><USER2> He makes a good point that in the US the police departments and the district attourney's office work too closely together to expect the DA to reliably investigate police officers.</comment>


Why can't Microsoft get their products right on the first try? - <AUTHOR> http://owened.co.nz/why-cant-microsoft-get-anything-right-on-the-first-try <comment><USER2> Also ex-employee of Microsoft -- used to work in SQL Server (very traditional, old-Microsoft group).

Jobs people had in my group: (1) Developer: Write code. (2) Test: Write automation to test the code developers write. (3) Program manager: Make sure everyone is coordinated and that there's a reliable, up-to-date spec for the product.

Microsoft doesn't have a strong tradition of product management or design, and I'd argue those are the two areas where they're weakest as a company. Is there someone who works at Microsoft with the title "Product Manager"? I know there were "product planners", and "program managers", but not PM in the Silicon Valley sense of the term.

They're especially good at partner management though, and I don't think they get enough credit for that.

<comment><USER3> #2 wasn't always that. When I started at MSFT, many moons ago, there were also testers who solely provided end-user style testing and feedback on the product. While their loss was less traumatic to my own division (DevDiv), during and after that transition it seemed that replacing those STEs with people who wrote automation (SDETs) caused some of my peer product units to lose out on the only people with real customer empathy.

I guess in one way there are still STEs, but now they're called "customers."

</comment></comment><comment><USER4> I am a ex-employee of MS. In my observation, the decision making process is very complicated inside microsoft. Because of big-hierarchy, there are many people involved in making decision even for for a small feature. Most of the decision maker are non-expert on the topic. Sometime they argue: we should do A then after sometime few other manager will argue for B and again after sometime they will argue for A and this keeps on going till there is little time left for release. And at end, they randomly pick either A or B.

<comment><USER2> You're right, and it's a very disempowering culture for the 59s and 60s (these are internal levels) at the bottom.

I'm in SV now and no way I'll go back to that. Too much consensus, discussion, meetings, not enough autonomy, action, or customer orientation.

</comment></comment><comment><USER5> So, really, a few thoughts:

1\. I think a theme that comes up on HN often is "when do you ship?". You could _always_ argue that "well, we should wait to ship in order to [fix this/add this feature/...]". At a certain point, you have to say that you're done and ship it. There will always be room for improvement and the good news is that you're actually able to improve it later on. You just need to set a "ship" bar that is acceptable.

2\. Like others have said, the first point is made even more important as Microsoft was already late to market with a tablet friendly OS.

3\. People could argue all day about whether it was acceptable or not for the Office team to have released Office 2013 without Metro style apps. Whether it was acceptable for Windows 8 to be released before the Office team made Metro style apps. After taking points 1 & 2 into consideration, you have to remember that you need to manage resources. I'm sure the Office team WANTED Metro apps, but it was probably impossible for them to ship Office 2013 and Metro Office at the same time and "on time" for Office 2013 desktop release. Like I said, you could argue all day whether you think they managed their time/resources properly but either way there is something to be learned from this. You simply can't do everything at once. I don't know what the reasons are here, but for some reason Microsoft must have deemed it more important to ship desktop Office before the Metro apps. I'd also bargain that the Metro apps will have something to do with Office 365 subscriptions and IIRC the desktop Office 2013 release is largely testing Office 365 out (the consumer version, anyways). Anyways: point here is you can't do everything at once.

4\. The article talks about perception as if it was a permanent thing. I'd say that perception can change without having it to be some colossal task. I have to go soon and the first example that comes to mind is people made so, so, so much fun of the iPad when it first came out. I remember people making fun of the first person I know to have bought one. And now? "Everyone" has one. I don't think Apple necesarily did anything to make this perception change, but after people saw the benefits of it they changed their attitudes towards it themselves. The same thing can happen here (e.g. if I didn't like Windows 8 but then I see someone using Windows 8.x in some way I think is really cool, it might cross my mind that maybe now Windows is in a better state and my perception of the product will change).

My $0.02

disclosure: i interned at microsoft in 2011 and 2012

<comment><USER6> Regarding 1: I think this is the product Microsoft wanted to ship. I don't think what they produced is necessarily a bad implementation of what they were trying do. I think their goal didn't match what their customers wanted. Some percentage(I'm guessing a high%) of users use Windows because its what they know and are comfortable with. Windows 8 throws out what a lot of these users spent a lot of time learning.

<comment><USER7> The bigger problem I think is that Microsoft failed to deliver not one, but two products. They wanted a new version of Windows, and they wanted an entry in the tablet OS market. Both are good goals, but not necessarily the same goal. In attempting to hit both, they failed to hit either one. Windows 8 is a bad replacement for Windows 7, it's missing features, and it's more difficult to use with a mouse and keyboard. Windows 8 is a lackluster tablet OS, it's missing a lot of the polish it needs to really compete with iOS and Android. I think Microsoft should have released not one OS, but two. Preserve application compatibility if possible, but don't sacrifice the ease of mouse and keyboard control at the alter of touch interface. A keyboard and mouse versus touch screen are different enough interfaces to warrant different UIs.

</comment></comment></comment><comment><USER8> This isn't uniformly true, though. The original Xbox was, for all intents and purposes, and amazing product launch. Same with the Kinect, Office 2003, Windows XP, etc.

This models seems to hold more truth in recent years, however. I can't come up with a solid reason why this is, but it isn't an absolute truth.

<comment><USER9> Unlike the rest of their products, the Xbox wasn't a massive design by committee project. It was created by 4 guys from the DirectX team, effectively their own little startup within the Microsoft world.

The Xbox was also able to leverage the past ~5 years of DirectX development and PC gaming knowledge and built a OS that was very similar to Win32 minus the HAL.

</comment></comment><comment><USER10> Am I missing something here, why is this "news"?

This "can't get right on first try" happens to virtually EVERY company. We don't even have to look too far back to find examples. Just one example would be Apple releasing Maps, which was oh-so-perfect out the gate.

<comment><USER11> I think the article is trying to say that for Microsoft, this behavior is the rule, not the exception. I was a bit surprised there was no mention of things like the Surface, Zune, Windows ME, etc. which all seem to fit the rule.

For Apple (in the last ~8 years at least) it seems to be the other way around, in that this behavior is the exception, not the rule.

<comment><USER12> Or even further back: Windows 3, Windows 98, Windows NT (early versions). There's a really really long history of doing that sort of thing at Microsoft.

</comment></comment></comment><comment><USER13> It is very rare to get products right on the first try. There is a reason Google products launch as beta. Most companies go for limited launch of initial versions. Microsoft generally does a mass launch; that is probably the reason for the perception.

</comment><comment><USER14> "No wireless. Less space than a nomad. Lame."

Sometimes chasing feature parity is a mistake.

And Microsoft don't really do that. They generally do best when they attack from a different angle.

von Clausewitz gave simple advice for winning battles: concentrate your strongest forces and attack at the enemy's weakest point.

How did Microsoft beat Borland? They attacked at the interface and ease-of- use, not on compiler speed.

How did they beat Apple on the desktop? They attacked on backwards compatibility, not on a better UI.

</comment><comment><USER15> People that run big companies don't care AT ALL about getting products right. They want money, period. If they can get a promotion or bonus without getting the product right, they will. Sometimes that means stepping in front of progress.

</comment><comment><USER16> "Announce Windows Phone 7. No multitasking despite all competitors having it, no application fast resume. No major applications that competitors have. No turn by turn directions. No front-facing camera."

Honestly I think Windows Phone 7 was a case of blatantly copying Apple. It came out at the end of the iPhone 3GS' life which had exactly "No multitasking despite all competitors having it, no application fast resume" and "No front- facing camera". Windows Phone 7 even threw away the ability to sideload apps which was a staple of Windows Mobile in favor of an app store only approach.

I think Microsoft made the mistake of thinking that they could pull off what Apple did with iOS, which is silly as Apple spent years building this unique position through the iPod. As a sort-of new entrant, Microsoft can't afford to start off with something that isn't ahead of the competition by a significant margin, no company in the mobile space other than Apple or Google can do this right now.

There also seems to be a lack in ubiquity across their products and platforms.

I remember when they had Windows Live Mesh, Windows Live SkyDrive and Windows Live Sync only to later merge them all into SkyDrive, then they had Silverlight for Windows, Mac and Moonlight for Linux along with Windows Phone 7's flavor of Silverlight and the XBox 360s flavor of Silverlight (used in ads) only later to can everything and now Windows 8, Windows Phone 8 and the XBox One all run the new Windows Runtime but don't have the same app store nor can they run the same apps for no apparent reason.

</comment><comment><USER17> "Because right now, it's still behind the pack."

Um.. Active Directory run's pretty much every Enterprise and Corporation worldwide. From that, I'd say Microsoft "has got it right".

<comment><USER18> Active Directory is pervasive because Windows is pervasive, and Windows is pervasive because MS Office is pervasive. To my knowledge, there is no other effective central AAA (authentication/authorization/accounting) solution for Windows than Active Directory.

Cloud-based office productivity products are slowly chipping away at AD's necessity, but there's still a need out there for a cloud-based AAA solution that meets the needs of BigCos and SmallCos alike. Unfortunately it's going to be a while before we get there because it will have to emulate AD in the meantime.

</comment></comment><comment><USER19> Microsoft ships minimum viable products then iterates based on feedback. In the software industry, lock-in effects can give a big advantage to first to market.

<comment><AUTHOR> Well yes, and unfortunately for Microsoft they are never first to market. In my opinion, the iteration model only works if you're dominating the market. Otherwise, you need to create something that blows your competitors' products out of the water.

</comment></comment><comment><USER20> It's hard to know what will work before real consumers have had it in their hands for a while. Perceptions change with propinquity.

Microsoft is one of the few companies that literally define modern consumer computing. It makes me very happy every time I see them moving forward. Sometimes it works, sometimes it doesn't. When it doesn't, they grow and fix it.

Apple has the same cycle, but it's less immediately apparent.

<comment><USER21> For me modern computing is defined by Apple and a bit by Google - I don't knowingly use a single Microsoft product (who hosts iCloud stuff - is is MS?). How does MS define modern computing - are you meaning in the last 10 years or now?

<comment><USER20> Microsoft owns about 90% of the desktop market, 30%+ of the server market and 25%+ of active gaming consoles. Right now.

</comment></comment></comment><comment><USER22> It could be that there is a very large disconnect between those promising features and the team that ultimately decides on whether or not something is good enough to ship.

Let's say that the front office (those doing the selling) start promising tons of features because they want to really sell this thing. Perhaps those features might be a little more complex than the "visionaries" first imagined. Now the expectations have been set.

The engineers try to meet those expectations. They try their best, but then it gets to QA. The people doing QA really care about their job, about the quality of what is being released, and they do a good job poking holes in things trying to get it to a quality that was promised. QA sends it back, but the developers have moved onto producing new features. Bug fixes are not cool. Sometimes doing it right is hard. Things start to slow down.

The end product is something that doesn't quite meet the expectations and is late...just a guess though.

</comment><comment><USER23> who can really? (insert quote of linus torvalds awesomeness here) their problem isn't that they can't get it right. their problem is that it takes them forever to fix it.

</comment><comment><USER24> Microsoft's "the third is charm" strategy is wldely known for year and tolerable since consumer is pretty much locked in by office software, and Microsoft knew about this.

It is until apple spoiled consumer with perfection and true use friendliness that made the contrast that Microsoft product along with the "beta" testing with paid product is no long bearable.

Still, Microsoft can afford this lossy strategy because they knoe nobody can really stop using office.

</comment><comment><USER25> Personally I don't think Microsoft's primary agenda is to produce user- enabling products. Imo their desire is to produce user-hobbling products; products that slow down or preferably reverse the knowledge-empowering potential of computing machines for the average person. It's a political not marketing objective, and you'll never see them admitting to it. You have to analyze their actions not their words to see it.

If you assume Microsoft has always been trying to achieve the 'best' product possible, then their development history looks like incredible incompetence. If you view it in the political context of Elites trying to cripple development of 'computing power to the people', it makes perfect sense and reveals a high degree of sophistication in the Microsoft inner management group.

Effectively their strategy is to steer development of their products in the most socially harmful direction possible, constantly pushing the boundary of what the market will reject as 'too stupid'. When they hit public resistance, they wait as long as possible then back off with a slightly less stupid product release. Once that version has become entrenched they then try again with something even more stupid. Windows 8 was just an example of MS pushing a little too hard.

<comment><USER26> I am deeply bothered by this idea that you suggest and supposedly hold yourself. It essentially "presumes malice" instead of assuming ignorance. To believe that their desire is to produce user-hobbling products is to assume that somehow there is a conspiracy of executives at a company whose explicit policy is to do harm. That somehow no one has revealed this fact, their board has been somehow complicit in this direction as revealed to them by executives, and that they sit in these, perhaps smoke-filled, board-rooms discussing how they can dumb down their products or harm the general public.

That's insane, you're insane, and your philosophy is far and above more cynical than anyone's need be.

</comment></comment><comment><USER27> Temporarily ignoring all of Microsoft's specific problems (and there are many) and any other company's specific problems for that matter (every company has them)...

Nobody gets a product right on the first try. Full Stop.

The more interesting question here is this:

Why does Microsoft expose the first try to the public?

</comment><comment><USER28> I can't help but think that Vista -> Windows 7 is an example of this pattern.

<comment><USER9>
        Win3  > Win3.1
        Win95 > Win98
        WinME > WinXP
        Vista > Win7
        Win8  > ? (unlikely to be 8.1)

<comment><USER29> Was Win95 a failure? From what I remember, it was a huge, smashing success for them.

<comment><USER30> Wasn't 95 the first "full" DE and sligthly better game support? With 3.1 you'd still boot into DOS and start up windows to play solitaire.

<comment><USER31> DOS was still there under the hood. It wasn't until Windows XP that they officially killed off DOS (there was a cheesy skit about this at the launch event with Bill Gates killing off DOS).

<comment><USER29> And suddenly old game compatibility was much iffier. Good thing DOSBox stepped up.

</comment></comment></comment></comment></comment></comment><comment><USER32> Do they care to?

Seems like they make gobs of money regardless.

<comment><USER33> I was going to say that same thing...their strategy seems horrible to the technocrats, but they continue to push on areas until they are a major player. I'm no Microsoft fan, but you can't say their strategy isn't working for them...Windows, Office, and Xbox are all huge in their respective markets.</comment></comment>


A File System All Its Own – specialized for SSDs - <AUTHOR> http://queue.acm.org/detail.cfm?id=2463636

<comment><USER2> Layering stuff for legacy reasons isn't anything new. It was a smart idea to connect flat digital displays using ADC and VGA cable and display adapter with DAC. Still many did it, and some people even doing it today. It doesn't still make any sense what so ever.

<comment><USER3> It makes perfect sense when, say, that's the only cable you have on hand and when "mostly working for cheap" beats "not working, but technically correct and optimal." And then there are those to whom "lossy but non-DRM analog" (VGA) typically beats "lossless digital with DRM capability that will sneak up on you when you least want it" (HDMI).

<comment><USER4> What the hell am I going to do with a VGA display when the only output I have is a serial cable? And then why should I pay for a VGA cable? I can connect my vt100 anywhere with a cable I can make myself.

<comment><USER3> I'll bite. I didn't say VGA was cutting egde, or the one true cable, or that real programmers use butterflies - only that it remains practical for a very large number of uses. I believe the longevity of VGA has a lot to do with its compatibility and explicit lack of DRM features. I have often had a choice and gone with "good enough" VGA when digital was an option, simply because I am aware that by buying HDMI I am not only financially supporting and licensing DRM, but am committing to a technology that can be used against me. I may not be the norm, but I am far from a Luddite.

<comment><USER5> There are other digital options besides HDMI...

<comment><USER3> Yes, DVI was popular there for a while, and there are an assortment of others, but HDMI seems to have outpaced DVI in my encounters (and the others are quite niche: some Mac, Intel, etc...). DVI is still attractive, but things are shipping without it in favor of HDMI (in my experiences), and that only further helps extend VGA's lifespan. People already have VGA cables, and their only "upgrade" path to digital is often HDMI, so VGA remains the lesser of evils based on price and personal lifestyle/ethics.

<comment><USER6> My experience is similar, but I'll add that DVI->HDMI cables are cheap, and mean that you can use DVI even when your displays are HDMI.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> The MLC and SLC NAND trends in figure 1 are confusing me. Historically, wasn't SLC first? Yet the graph shows pricing for MLC back to 2001, and SLC back to only 2007-ish. It correctly shows that MLC is less expensive than SLC.

Maybe he didn't have old price data for SLC?

<comment><USER8> It's hard for people to get data on flash chips / prices without signing an NDA. He probably found the data from various places and stitched it together from that.

<comment><USER7> Hmm. I read the chart as price for the entire drive, not the 'raw materials' of the drive.

</comment></comment></comment><comment><USER9> The problem is that most users (home & enterprise) just want things to work, they don't really care much how to get there and to have the best efficiency.

It won't be too hard to have a good filesystem that works over raw NAND flash but it will not work on older OSes, it will not work in the enterprise storage market and so there will be less buyers and thus it will cost more so no one will buy it and it will not be made.

Even the enterprise storage folks just want the damn flash devices to just work without the storage folks doing anything with them. It's taken to extremes sometimes and the flash vendors just do whatever they are told since there is a lot of market in whatever the software-defined engineers want. Except the engineers mostly want to deal with high level algorithms and to brag how fast their algorithm is without really thinking about the hardware. Hardware is hard. Besides they can do something with the hardware that is already on the market rather than envision something better.

TL;DR unless someone will hold the stick at both ends (software and hardware) no one will make a reduced layer solution.

<comment><USER10> > The problem is that most users (home & enterprise) just want things to work, > they don't really care much how to get there and to have the best > efficiency.

When it comes to research, no one cares that much about what home users and enterprise-users-small-enough-not-to-use-custom-software-stacks want _now_. Case in point: I don't think many IT mangers were that eager to switch to using ZFS in production when it was announced back in 2004 (and ZFS wad been under development for years at that time).

I've considered doing a PhD project pushing and stretching the boundaries of SSD firmware/operating system/filesystems because I think there's a lot of improvement that can be done in this area. The cost of OpenSSD that the sibling comments mention wasn't even that much of a problem. I seriously don't think someone not associated with a research department somewhere would have the time and/or know-how to do original research _and_ implement a working prototype. Hell, I might get a devkit, but I doubt I'll do anything interesting and original at the same time. Which brings us to the actual problem:

Documentation and NDAs. For lots of ICs, microcontrollers, processors you can freely get hardware documentation, programming manuals, etc. For flash controllers and high-density NANDs? Almost nothing at all. Maybe some stuff can be reverse engineered and you get some documentation for OpenSSD. But the NAND manufacturer won't tell you stuff that's really, really important about things like failure patterns, which would allow you to optimize error correction and wear leveling for example.

<comment><USER9> Documentation is an issue indeed.

I don't think that you really need the inner information about NAND to do the original and innovative research. It really depends on the area you want to work on, the SSD firmware level might require that but the SSD makers are already on that route (some better than others). The other level is to not pay too much attention to the differences between NAND chips and just implement something at a higher level to push the hardware-agnostic smarts to the OS.

The OpenSSD also lacks documentation, last time I looked at it there was no info on how to do NCQ on the SATA interface, without which there is no talking about a speedy SSD.

</comment></comment></comment><comment><USER11> > Again, this approach today requires a vendor that can assert broad control > over the whole system—from the file system to the interface, controller, and > flash media.

Apple would be well-positioned here if they still cared about their Macs. HFS is due for a replacement anyway after 30 years. (it could be done on iOS devices too, but flash I/O performance doesn't seem to be a the major bottleneck for those uses)

<comment><USER9> They actually have all the components under their arm, they bought Anobit which made fabulous SSDs and are snatching engineers around here.

Anobit SSDs were the best I've seen so far in terms of consistent performance.

<comment><USER12> Agreed that Apple is very well-positioned for this -- the question is whether they care about the problem. A purpose-built filesystem would improve performance and longevity at a lower cost. Is it worth it for Apple to invest in a brand new file system and data path?

</comment></comment></comment><comment><USER13> Not quite sure what this article is talking about:

[https://en.wikipedia.org/wiki/List_of_file_systems#File_syst...](https://en.wikipedia.org/wiki/List_of_file_systems#File_systems_optimized_for_flash_memory.2C_solid_state_media)

I personally believe log-based file systems are a perfect match due to never saving the same file repeatedly to the same location (so provides built in wear-leveling) and one can optimize writes by always clearing the head of the log for the next write.

<comment><USER12> That list is specious at best.

Take ZFS. I designed the flash integration for ZFS; it's used as a caching tier. ZFS is definitely not optimized for use with flash as its primary backing store. The same is true for some of the other filesystems in the list; offhand: CASL and WAFL.

Most of the rest are designed for embedded use cases, are research toys, or are embedded research toys.

</comment></comment><comment><USER14> The memory hierarchy needs to be revised to take into account the different performance characteristics of Flash RAM vs. hard drives. There is no disputing that NAND Flash SSD are very different from Dynamic RAM, static RAM, and HD.

</comment><comment><USER15> Wouldn't it make sense to use an object storage style interface to SSDs? Instead of managing sectors and cylinders the SSD would provide interface for managing objects, pretty much like cloud storage services like S3.

<comment><USER8> It's one way to look at it. However, having an object interface toward the SSD does not solve the problem of variability that the author mentions.

The variability is caused by the "incompatible" NAND flash interface (read, write and erase), while the IO interface to the host system is read/write (and occasional trim to let the device know of unused pages). Therefore, another interface, other than a simple read/write is the holy grail. This interface might be one that give various guarantees for the user, e.g. atomic operations, etc. It doesn't need to only be an object / page store.

</comment></comment><comment><USER3> _"Layering the file system translation on top of the flash translation is inefficient and impedes performance."

"For many years SSDs were almost exclusively built to seamlessly replace hard drives; they not only supported the same block-device interface"_

The point of storage is to be able to put anything you want on it. That contract _is_ the block interface, and includes the ability to change the filesystem. A file with internal structures is also a filesystem. The interfaces are fine. Change for change's sake should be avoided. (Providing a bypass, SSD-optimized interface is fine, but, ahem: "put down the crack pipes"... <https://news.ycombinator.com/item?id=5541063> )

<comment><USER9> I actually agree that using the block interface makes sense for storage but would have loved to have a minimal interference from the SSD. If it just exposed the entire flash to address by the user and reported when a block has problems and maybe some stats about the underlying flash chips I'd be very happy. It would then enable building better things at the OS/Application side.

There is quite a bit of a chicken-and-egg problem here though, all the current filesystems basically assume that the underlying media never has any faults and if it does than the media problems are static and do not develop over time. This is obviously incorrect for flash, but even for rotating media it wasn't true. Since every OS requires a fault-free media the SSD vendors are working hard to make sure they provide a semblance of such fault-free media they make it harder to provide the best possible performance or a different trade-off than what they have taken.

<comment><USER3> I also want lower-level access, but I would presumably not be using it for files/reliable storage.

If a lossy interface is acceptable, why couldn't SSDs simply expose a faster albeit lossy block device and, if necessary, an extended SMART or custom inspection method, and let the user take responsibility for wear-leveling, ECC, etc? It would be backwards compatible with other things by virtue of presenting the standard block interface. A common ECC+wear-leveling middle layer could evolve allowing use of standard filesystems and a common codebase for all flash storage, relieving the apparent burden on SSD vendors who would love to sell fast unreliable storage rather than reliable storage.

I think the chicken-egg problem is just an egg problem though, because even though I'd love lower level access to the unreliable bits, I have to expect that the market for unreliable storage is very small, not unlike the high- efficiency-but-sometimes-exploding toilet. :)

If reliable storage is the primary use-case, maybe the drives just need to be smarter to keep up. I'd rather an ASIC handle ECC, etc, transparently (for the same reasons I'd rather have a dedicated GPU) than run ECC (or 3D floating point software) on my general processor. If you inevitably want reliable storage and just wind up running ECC, etc, on the CPU, the speed gains disappear and we're back in something similar to a pre-DMA world with the main processor doing something that could be done in parallel by a dedicated chip. If the hard drive is the right place for the offload, I'd rather the economic pressures remain for the SSD vendors to optimize inside that black box, behind the standard reliable interface.

That said, again, I too would love finer-grain control.

<comment><USER9> I can see a mix where some parts are done by hardware, ECC comes in there. Other things should be done in software (FTL, error recovery, RAID).

The block interface itself is actually matching the flash, you read/write/erase in blocks, they may not be 512 bytes but rather 4k/8k/256k whatever works for the underlying hardware.

</comment></comment></comment></comment><comment><USER16> Is exFAT no good?

<comment><USER17> In short - No its not a very good file system.

Even ignoring the licensing / patent issues with it, its non-journaled and only has a single FAT in most implementations; Its easily corrupted and difficult to repair. It also lacks a number of useful features like pre- allocation, robust meta-data, etc.

</comment></comment><comment><USER18> As a side note, Lustre seems to work fine on SSDs.

<comment><USER12> Everything works "fine" on SSDs! They were designed to drop right into place.</comment></comment>


For Thanksgiving, give your parents a treat: upgrade their browser - <AUTHOR> http://arstechnica.com/tech-policy/news/2011/11/for-thanksgiving-give-your-parents-a-treat-upgrade-their-browser.ars <comment><USER3> "Well, everything worked fine until you installed that [Chrome | Firefox | Opera] thing on my computer."

Doing free tech support for non-technical people is a wonderful thought, but it can also provide a harsh lesson in the dangers of unlimited liability for open-ended, no-fee, no-contract work.

<comment><USER4> I don't have a problem with unlimited liability to do work for my parents...

Anyway, I installed Linux on my mother's system over Win XP years back and it couldn't have gone better. She has been doing great with Ubuntu for 2 years now. The spyware, failed updates and odd networking failures I was summoned to her house to fix frequently went away entirely, so thankfully it was the opposite of your warning. I guess the lesson there is to only provide the best technology, that you trust. Linux is pretty rock solid for home users today, especially people like my mother who primarily use a browser.

<comment><USER5> Similar situation here. My Dad uses his laptop for browsing and email, maybe to scan a document every few months. After getting fed up with all the calls about spyware and other generally weird issues I installed Ubuntu.

Since then, I've had two support calls from him: 1) "Is it safe to enter my password when it's installing updates?" 2) "I'm at my friend's house... how do I add a new wireless network?"

<comment><USER6> Whilst it seems like a good idea to install Ubuntu on other peoples computers there are 4 things that would stop me from doing it.

1) Flash player, this crashes allot under Linux and seems to have some weird issues with sound where you will be listening to a video and all of a sudden the sound will start playing from the beginning of the video in addition to the current sound.

2) Wifi , this generally works, but Network Manager doesn't seem to be the best piece of software and I've often had problems with it just not showing up wireless networks which should be there. No idea why.

3) Distro updates, you have to live in fear of the time when they will accidentally or intentionally click the "update to latest ubuntu" button when it asks and half the drivers stop working and/or it replaces their whole user interface with something else.

4) Other software , even if your sure they only need a browser because all they want to do is read the news and browse cookery sites there's going to be some point they decide to buy an ipod and ring you up asking how to install iTunes, sure you could go and spend some time coaching them how to do this under banshee or something but they might be concerned about why they have to do this differently. Of course they are also likely to buy the 1 scanner / webcam / printer etc that is known not to play well with Linux.

<comment><USER4> I've never had a problem with Flash Player on Linux. After using it as my primary machine for 10+ years, I started using Mac and Windows more - I can't discern any difference in Flash performance or stability.

Network Manager is simply awful in my experience. I usually can't get it to work for _myself_. I configure the wifi directly and set an RC script for my mother's set-up. I think NM has gotten better recently, though.

You can set update manager to not check for a new version of Ubuntu.

Every once in a while there's hardware that doesn't work. I guess that's why I don't go around installing Linux on random people's computers. For my parents and girlfriend, though, it's worked very well - they all have become entirely used to Linux, and prefer it, and I see the opposite situation that we all know would happen if people were used to linux - they try Windows and complain about it because it's different and they don't know where everything is.

<comment><USER6> You've never had a problem with Linux Flash Player? I'm utterly astonished, I have nothing but problems with it. Although I have a feeling this may be partly down to the binary only nvidia drivers not playing nicely with it (I don't get this problem with any other software).

Yes, network manager is pretty bad especially if you want to configure multiple static IP addresses. I happily just uninstall it and configure by hand for a server or static desktop. The problem is when you are using a laptop and want to hop between a number of different networks, setting up a wireless network from the command line is a major PIA and not something I'd want to do just to use my laptop in a coffee shop.

You can set update manager not to get new versions of Ubuntu but in that case you had better install an LTS release otherwise you'll possibly stop getting security updates after a year or so plus you will want to keep their browser reasonably upto date (although a 3rd party PPA may solve that).

</comment></comment></comment></comment></comment></comment><comment><USER7> I hope nobody minds but I'd like to share what happened to me recently:

My father called me a few months ago to ask if I could go on our bank's online banking site and tell him if I noticed anything unusual. At the time, HSBC's online banking had the following flow: Enter your user ID as the first step, enter your DOB as the second, and finally enter three specified digits from your 6-figure security PIN.

It all seemed OK to me, nothing out of the ordinary, but he was telling me that when he was prompted to enter his security PIN, the site asked for the full number. This was a big no-no.

"So I thought I'd better call you before I do that, because it doesn't sound right and you know about this stuff."

I went to their house the next weekend to check it out. He fired up the ol' IE7, went to the HSBC page, completed the first step of logging in, and there it was, clear as day. A mysterious third box prompting the user to enter their full PIN.

I don't know exactly what put that input box there, and successive Googling has yielded nothing specific. I assumed the damn thing had picked up some nasty spyware, or some other malicious code with the potential to cost a lot of people an awful lot of money. I installed Chrome, deleted the "Internet" icon from the desktop, imported old bookmarks and the like, and let him have a go on his new browser.

I really think we, as the more technically-minded people in our families, have an obligation to do this for the people we care about, in a way that extends far beyond those clever CSS animations or native video support. I'm lucky enough that my folks know to keep their eyes open to anything fishy online, but I had no idea he was still using IE7. The idea of him (or indeed anyone) inadvertently giving their complete bank details to some cyber-criminals out of completely innocent ignorance terrifies me.

<comment><USER8> > I installed Chrome, deleted the "Internet" icon from the desktop, imported > old bookmarks and the like, and let him have a go on his new browser.

Is this a joke? Your dad's computer is rooted, so you remove an icon from the desktop and install a different browser?

Jesus Christ.

<comment><USER9> Whoah, there. It's obviously not a joke. Dude, you made a good point but you completely lacked any tact. You could have just simply warned the guy that uninstalling the browser may be enough. And I believe he knows that deleting the shortcut icon is not the same as uninstalling. It's easy to tell it was just an important part of the story because to people who aren't tech savvy, deleting an icon _is_ uninstalling as far as they're concerned and the deletion of the icon was probably very significant to his father.

So chill out, man. We may be a community of techies but we can't possibly know it all. What may seem a obvious to you may not be to another one of us. It doesn't mean we're stupid. For example, its like the back end web programmers who know little to nothing of front end stuff. It may seem like someone who knows that complicated back end stuff can easily figure out HTML and CSS in an hour but sometimes not. Just chill.

</comment></comment></comment><comment><USER10> My parents are running Linux now, but when they were on Windows, I just changed the Firefox shortcut's icon to be the IE icon. I didn't change anything else (not even the text below the icon from "Mozilla Firefox" to "Internet Explorer"), but my parents of course didn't notice.

<comment><USER11> Very clever. When I first started using Linux, I always wondered why in the world anyone would use the "Redmond" skin for the desktop.

Of course, it's for subterfuge. :)

<comment><USER6> perhaps somebody should release a modern browser that is visually _identical_ to IE6.

<comment><USER9> That's such a good idea with both the icon and a browser that _looks_ like ie6 but isn't. Old UI over a new back end. Wonderful! I believe I remember a time when you could skin Internet explorer however you like. Is that still possible? If so, would it be realistic to believe someone can create an IE6 skin for IE9 or 10?

I haven't touched Windows in years and years so forgive me if that sounded naive. In fact, I have a dual boot loop with Win7 and Linux and I only booted into Windows once to download the Linux distro, haha.

</comment></comment></comment></comment><comment><USER12> I tried doing that a couple of times and they end up looking for the blue "e". Somehow that's their symbol for "the internet". So what I did next was not uninstall but hide the icon and leave the chrome & FF visible. Now my dad uses Firefox and he calls it "the mozilla" hehe. And my mom somehow figured out a way to find IE, I guess she couldn't live without it.

That was my case at least.

<comment><USER13> I just changed the icon of chrome to the blue "e". Problem solved.

<comment><USER14> Same, except for FF. I wrote a theme to make it look somewhat like IE so my dad wouldn't notice a difference.

Thank god my mom uses a Mac.

</comment></comment></comment><comment><USER15> Every visit:

1- Bring the system drive you cloned last year after doing a clean install

2- Swap system drives

3- Data is on separate drive, no issues there

4- Install updates/upgrades as needed

5- Create new system drive image

6- Clone to the old drive

7- Swap system drives again so you always keep the drive with the least run time as backup

8- Create and save new data drive image if desired

10- Ensure that user account has no administrative privileges

11- Let them know that some of the cheese moved, for the better.

Do this on an yearly basis.

It's easy.

Everyone will get used to it.

You'll sleep well at night.

</comment><comment><USER4> Browser? Why stop there! I just installed Ubuntu 11.10 on my mother's netbook. It runs about 5 times as fast as Windows 7 was going on that machine and provides 100% of the software she wants to use and 0% of what she doesn't (stable OS, choice of the latest Opera/FF/Chrome, photo management... and no malware).

</comment><comment><USER16> with all the virus makers out there and pure hate for IE, you'd think by now, someone would devise one that would automatically upgrade all browsers on the infected machine.

</comment><comment><USER17> Also, delete all those toolbars.

<comment><USER18> After, you know, asking.

<comment><USER19> You mean there could be people who actually want the toolbars?

<comment><USER20> Lots of people apparently liked the Google Toolbar for Firefox (even though it was installed along with other software, hijacked your bookmarks, and generally behaved pretty much like every other malware toolbar out there). More to the point, since it hijacked your bookmarks, if you uninstalled the toolbar all your bookmarks disappeared.

<comment><USER21> I always back up the bookmarks before doing any maintenance on someone else's browser.

<comment><USER20> Last I checked, it hijacked the normal browser bookmark stuff, so backing up the browser's bookmarks wouldn't back up what the user saw.

</comment></comment></comment></comment></comment></comment><comment><USER22> Pro tip: dont insist, 99% of them will never change the browser, instead install Chrome Frame

<comment><USER23> That's actually been the opposite of my experience. A year in, my inlaws still thank me for installing Chrome.

</comment></comment><comment><USER24> Forget my parents want my workplace to get rid of IE6!

</comment><comment><USER25> How about 'give your corporation's internal IT devs a treat' and upgrade from IE6? Individual users aren't the problem... :)

</comment><comment><USER26> Least my son could do, after all those years of editing the ROM BIOS serial port interrupts so he could play Warcraft against his friends; editing config.sys files so he could play Final Fantasy VII or FPS Football Pro '95. He's now got a CS degree and is a web app developer -- and he's usually an OS version or two behind me.

<comment><USER27> It would be difficult to hide porn from a parent like you. LOL

</comment></comment><comment><USER27> I remember the day I bought my mom and dad a PC. I only taught my mom how to check her email and a few weeks later, she's already installed a dozen Yahoo! and Popcap games in it.

A few more weeks later and as expected, the PC succumbed to a bunch of viruses and I had to "fix" them. To cut the story short, I installed FIrefox, hid the IE icon and told them to use it as it's "just the same, they only look different". I then left and never had to fix any virus problem whatsoever.

Now, they're doing great with Firefox(I think my dad even uses Chrome now).

Lesson learned: 1\. Let them suffer from virus infections caused by old browsers _cough IE6_ 2\. "Cure" said virus and introduce antibody - <USER2> browsers 3\. ??? 4\. PROFIT!

</comment><comment><USER15> If you install Chrome on your parent's computer and make it the default browser you are making a serious mistake:

All of their logins and passwords are now available in plain text with a few button clicks. If they ever ask someone else for help or take the computer to a store their entire lives can be up-ended in an instant.

I use Chrome almost exclusively. I can deal with this issue. My guess is that 99% of the public has no clue.

I don't understand why Google refuses to fix this.

</comment><comment><USER28> Funny seeing this just after I got done spending 2 hours waiting for Windows to apply all the updates.

Windows, check. Adobe, check. Java, check. All browsers (with Chrome default), check.

Success.

<comment><USER29> Give it a week or so, they'll need patching again.

</comment></comment><comment><USER19> It's also a great lesson in humility. Every developer should support some noobs from time to time. It's surprising how difficult some computer tasks really are.

</comment><comment><USER30> good idea, but must be done tactfully, or else you run the risk of being labeled as that geeky kid who always insists on disrupting the status quo. remember, for a lot of people, web browsers are interchangeable, so if they're happy with X and you switch them to Y, then they'll be strictly more mad. however, if they're fed up with how X is too slow or buggy and you show them Y, then they're more likely to be appreciative.

</comment><comment><USER31> Or better yet, buy them an iPad.

</comment><comment><USER32> I did one better 3 yrs ago and replaced my mom's virus ridden Windows w/ Ubuntu. Best move ever, because it drastically reduced the amount of tech support I do for her. Shit just works. Today I upgraded her to Oneiric Ocelot (Ubuntu 11.10), doubled her RAM and moved her 10,000+ photos to an ext4 partition. Now she'll be good for another 3 years as a Linux mom.

</comment><comment><USER33> This should be a non-issue but on Windows XP [1] silent application upgrades often fail because they require admin privileges.

[1] Win XP still has a third of the OS market share [http://en.wikipedia.org/wiki/Usage_share_of_operating_system...](http://en.wikipedia.org/wiki/Usage_share_of_operating_systems)

<comment><USER34> Also, IE9 doesn't run on XP and no version of IE for XP supports SNI [1], which is reason enough to switch it to other browser.

[1]: <https://en.wikipedia.org/wiki/Server_Name_Indication>

<comment><USER6> I think this can also be an issue with firefox, or at least it used to be.

</comment></comment></comment><comment><USER35> How'd they know I was going to be reading this from my mom's laptop? Actually, I was pleasantly surprised today to find out that my mom is already using Chrome. No browser upgrade needed.

</comment><comment><USER36> I upgraded my parents browser but only after I upgraded them to Windows 7. Bye bye XP and all of your issues you have given us over the years.

</comment><comment><USER37> The idea is cute, but seems unlikely to happen. If someone's parents are the sort to let their children upgrade their browser, they're also the sort that probably had their computer set up by their children which means it's probably already updated. If they're the sort that are in control of their own computer usage they probably aren't comfortable with their children changing the way their computer works.

<comment><USER38> Most likely, they had their computer set up by the OEM. And even if their kid set it up at one point, there's no reason to assume it stayed updated.

</comment></comment><comment><USER39> at least that's one advantage being an orphan, not having to do tech support!

</comment><comment><USER40> everything has been just toasty since i got them off IE.. 6 years ago..

<comment><USER41> yeah, precisely newer IEs are ok. Chrome is ok. Firefox is ok. Opera is ok.

this is an issue that most have solved very long ago, and the rest? well they don't read hacker news or ars anyway.

<comment><USER34> _newer IEs are ok_

Not on XP, they're not.

<comment><USER6> Well get them a copy of Windows 7 for thanksgiving then you cheapskate :)

</comment></comment></comment></comment><comment><USER42> I've had my parents running Google Chrome inside of Sandboxie for over half a year. No issues so far.</comment>