I know people who type whole letters in Excel. I know an accountant in particular who I showed how to use MS Word for writing letters, but he prefers Excel. He writes full documents in Excel, prints them out and mails them.
Laugh if you want but spreadsheets are not going away in my lifetime.
start tracking in google docs, we'll get a system eventually.
-> OK we have bought a new PM system, let's start using it.
-> Everyone please start using the new system. Move your google docs there today.
-> I ... why is this still in Google Docs?
-> Ok we've paid a bunch more money to get all of the requested features in our new system. Please please please start using it
-> Sigh. Just share me on the Google Doc.I knew a guy who did everything in MS Works spreadsheet. In 1998 those files were pretty much locked to that software.
It's useful experience though, watching someone use a screw-driver to hammer in a nail. For him it worked - he didn't have to faff around with tab stops or margins. He just clicked a different cell.
To their graphic designer ...
Without Excel there would be no way for my sales/marketing team to give me valuable data to process at the backend.
If you have been doing programming in excel for the past 20 years then you are simply a fool - sorry.
They just kept automating task after task, silently, without the IT department ever knowing. 90% of them never thought of it as coding, and 10% realized they could make more money as an expert who knows how to coerce excel combined with their domain knowledge than they could as a programmer.
I've been at top 20 banks in the world that run 14 hour jobs in Excel that import data from web services, run analysis, and FTP result sets elsewhere. They were used to analyze risk on tens of billions of dollars worth of securities.
They were riddled with bugs, but it let the front-line traders iterate quickly and prototype something that the backend team (my team) could turn into a "real" reporting process.
I've done this a lot. I've always programmed but I'd say the most used things I've ever done are Excel workbooks. It's great, you don't really have to worry too much about compatibility. You're never like hey install this program so you can use this other program. I don't have to make a 'ui'.
Sure they're prone to breakage, they're kind of fiddly and inelegant. But they work and get the work done which is what I need to do at the end of the day.
I've seen office workflows sped up by 20X or more with a little 1-2-3 or Excel macro hacking. Everyday minor miracles to the people who previously slaved at manually munging data. A student intern spends a few hours one day on macros, and the office staff each save three hours every day for years to come.
The spreadsheet has always and will always be the killer app of the PC.
You've got to be kidding! Excel programmers rarely worry about the next paycheck. Programming in Excel may not be the most invigorating intellectual pursuit but it's a helluva steady job - there's always something that needs fixing!
Please don't post acerbic dismissals to HN. It lowers the quality of discourse here, whether your point is right or wrong.
There's potential here.
Despite all the known weaknesses of spreadsheets, it is sheer hubris to believe that they will be supplanted by reactive programming (or databases, or anything else for that matter). It seems that users will give up their spreadsheets only when they are pried from their cold, dead hands.
European Spreadsheet Risks Interest Group has some great links to articles about the pros/cons/whattodo of spreadsheets: http://www.eusprig.org/
Jocelyn Ireson-Paine has done lots of work with spreadsheets and their problems. Lots of links to spreadsheet sites from there: http://www.j-paine.org/
The phrase "The king is dead, long live the king!", which this title and many others play off of, is referring to two separate individuals, the now-dead king in the first clause and his successor in the second. The phrase is representative of a theory of monarchy in which, upon the death of the sovereign, their authority passes instantaneously to their heir, without the need for a coronation or a formal investiture, in order to foreclose on the possibility of pretenders to the throne arising during an interregnum.
So the correct (and I know you said 'usual and not 'correct', but bear with me) form of the phrase would be 'spreadsheets are dead, long live [whatever is succeeding spreadsheets]'. Of course, historically speaking, it was not at all uncommon for dead royals to suddenly reappear and reassert their claim to the throne....
I've always got the impression that this is, rather than an abuse, instead an intentional re-purposing of the slogan to convey exactly the meaning that it appears to have (instead of the one that it historically should). I'm a die-hard prescriptivist on most matters; but, since the sentiment that the grandparent expressed is common and the one the the literal historical slogan expresses doesn't seem to be, it's hard to see why we should cling to the latter and avoid the former.
Quote from
http://arxiv.org/pdf/0802.3457v1.pdf
accessed via the first of your links. Excellent quote.
Thanks for these links, much interesting material.
Here's a test for the most common kind of error. If I add data in A5 and B5, will that data be represented in the chart? How about in the averages? Will I be able to even see that?
Here's the pivot: Break your data into regions, where regions have repeated elements. Something like this:
A1 = 'Height
B1 = 'Width
C1 = 'Area
A2:C2 = Region {
C1 = =A1*B1
}{
A1 = 2
B1 = 3
A2 = 4
B2 = 5
}
B3 = 'Average
C3 = =sum(C2)/count(C2)
This could be used to generate: Height Width Area
2 3 6
4 5 20
Average 13
The dataset associated with that sub-block can be clearly annotated to an editing user as such, with simple tools for adding a row to that dataset, or sorting it without effecting the rest of the sheet. Within the dataset, there's no corruption of the formulas (the third row's C cant be different than the second's), you've still got your diffing (probably better because it's clear that data changed but formulas different) and it's extremely hard to make the calculated average come out wrong.Yeah, that exact representation isn't great. Maybe a "view" metaphor, so that headers and footers can be attached to the dataset instead of floating outside it. But once you've gone this direction, there's all sorts of amazing things possible by sharing datasets, linking them, transforming them, etc.
And of course, Excel can flag cells that, according to its heuristics, seem to use inconsistent formulas, such as using empty cells in a summation, or having one cell in a column use a different formula.
Thanks a lot for the suggested syntax - it's really good to get some feedback. I need more time to think it through and work out exactly how this would work.
In the meantime, one solution to the problem, that I would like to implement soon, is cell mapping - in effect projecting native data structures onto grid cells. That way you can still display and modify your data in the spreadsheet but use a sensible formula like `mean(data$height)` instead of `mean(A2:A5)`. Would love comments on that idea - there's an issue on it https://github.com/stencila/stencila/issues/118
eg.
Warning: C10 has a range from A1:A9 but C9 only has B1:B8
Right now a sheet is a full document thing. Meaning that it starts with A1 in top left, and spreads out from there.
but what if you could break a "sheet" down into units?
So that you can have say a constants unit, with its own A1 to whatever as needed, and then another unit, perhaps called results, that hold the formula in their own A1 to whatever, each unit movable and extendable on the screen at the same time.
Now if formula A1 wants to refer to something in constants A1, the entry would look something like constants(A1).
This way one would have everything on screen, while avoiding the worry that as the sheet grows and one move things around to make it more readable, the formulas are referencing the wrong cells.
Yes you can do it with worksheets, but no its not quite what i am talking about because worksheets can only be on screen one at a time.
Compare this trend, for instance, with the first Linux announcement by Linus Torvalds [1] below.
It is an unfortunate trend because it ends up polarizing and creating unnecessary division among the early adopters of the new idea and the current userbase of the old one.
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.
[1] http://www.thelinuxdaily.com/2010/04/the-first-linux-announc...
And it's about time somebody said something nice about spreadsheets. Go to your average (non-software) engineer and ask to see an engineering model. Chances are, it's in Excel. It's less buggy than you expect, because your average engineer is going to notice and fix nonsensical results. Unlike the scientists the author is talking about, your average engineer is looking at very similar data from day to day and is attuned to anomalous behavior.
I think there's a lot of room for a tool like the one described by the article that includes built-in validation and is git-friendly. However, given the overwhelming dominance of Excel, it's going to have to integrate with, rather than replace Excel.
What do you think about fixing R notation to not describe cells, but the named array? i.e. instead of Average(A2:B2) it's Average(this_array) where this_array is the name for the row/column data and when the Average cell is clicked, highlight cells A2:B2?
There are many cases around detecting the proper array name or the user not inputing column or row names, but due to the ability to quickly read and understand the code as it relates to the sheet may make certain trade-offs more acceptable (i.e. forcing he user to enter array names).
Your suggestion about named arrays is important and relates the discussion here around the approach taken in the OSX Numbers app and the now dead Lotus Improv. Its connected to a planned feature in Stecnila sheets that I call cell "mapping" - effectively projecting an R/Python object onto grid cells. There is some more about that here: https://github.com/stencila/stencila/issues/118.
Also related is an proposed improvement in how sheet expressions are translated into R code for arrays: https://github.com/stencila/stencila/issues/157
The lack of testability and version control (and really, long-term maintainability) is what drove us out of spreadsheets into Jupyter. We've found though that the workflow in Jupyter, even with Pandas, is not great for exploring and getting a feel for data --- we end up missing the very quick "poking around" you can do in excel or in a good sql client.
I'd have to use Stencila more to know if it strikes the right balance for the kind of analysis work I do, but I'm glad to see such a thoughtful attempt to try a new balance.
In addition, you can show any data frame as a spreadsheet of data, import/export CSV files, etc... Knitr, Shiny, Plotly and other technologies also make producing documents, graphs and whatnot super easy.
This Stencila also looks cool though. Spreadsheet + R....
Edit: Quick feedback
Cell names appear to be case sensitive. While this makes sense from a programming standpoint, if I can't have a cell named "a1" the application should convert that to "A1" for me.
Not being able to tab between cells is annoying. Was there a decision made not to capture the tab event?
Regarding cell names. Currently every cell has an "id" e.g. A1 which is represented in the background R session as the variable A1. If you enter a formula like "pi = 3.14" into cell A1 then that cell has an id of A1 as well as a "name" (like an alias) of "pi". You can name a cell "a1" e.g. enter "a1 = 42" into cell A1 - but that could be confusing.
Yes, not being able to tab between cells is annoying - no decision was made on that - we just haven't got round to it. Just created an issue: https://github.com/stencila/stencila/issues/162. Thanks for the prod!
You'll really want to appeal to less technical folk, and they have trouble with case-sensitive things.
Very interesting!
Those sound less like friends, and more like people holding you back from curiosity and creativity, which can bring many direct and indirect fruits.
BTW - another killer usecase would be an easy way to build database backed spreadsheets. instead of the TSV, it would be cool to figure out how to interface to postgresql for example.
however, I'm wondering if using Reactjs+Redux would not reduce the amount of js by many orders of magnitude. You would get all your reactive processing for free.
EDIT: your CPP code is quite cool ! But same comment there, you could probably use nodejs and npm packages to get this out of the box for free. for example - git.cpp -> https://www.npmjs.com/package/git, frame.cpp -> https://www.npmjs.com/package/dataframe, http-client -> https://github.com/mzabriskie/axios + https://github.com/petkaantonov/bluebird, etc.
The missing link is a seamless experience between spreadsheet and reproducible data analysis (programming).
My team is working on https://nxsheet.com. We look to provide this seamless experience. For example: Generate normal distribution - https://nxsheet.com/sheets/56e845da4030182e337c6c2b
Stencila looks interesting. Great work!
I agree, somehow getting spreadsheets into the workflow of reproducible data analysis is important. They are a tool that I for one had ignored (focussing instead of reproducibility of text + code) - but there are too many people that use them to ignore them!
For those of you that don't know (or weren't even born yet), Lotus Improv was a spreadsheet alternative that was released for the NeXT computer in the early '90s that was well-reviewed but never sold well. It was eventually abandoned when IBM bought lotus in the mid-90's.
I always thought Resolver was a brilliant idea, but they never gained any traction against the heavy weights (Excel).
Edit- Add link to Resolver One wikipedia article https://en.wikipedia.org/wiki/Resolver_One
http://www.quertime.com/article/arn-2012-08-22-1-25-drawings...
Having contracted at two big american banks (cough jp, cough boa) that decided to build their own proprietary technology sinking ship solutions (cough athena, quartz ), it is a horrible experience.
The business get sold on the idea of the "benefits" of this new "solution" so they pay lots for it. Lots and lots. Then all tech projects are guided towards it, otherwise it becomes a "political" problem if you don't use it, even if you can present a technical case.
Basically, it works, just about, if you are building the equivalent of a simple option spreadsheet pricer. Even then, the effort required should ring alarm bells. Still, job for life for those that maintain it...
But spreadsheets are terrible at everything except their original use case (small bore financial modelling).
Right now I'm transitioning a lot of my workflow to MSFT's Power BI tools, but I'd love to have a justification for using more R at work. Stencila could be that.
http://beakernotebook.com/ https://github.com/twosigma/beaker-notebook
Disclaimer (or not): no involvement, but looks very handy.
Create your spreadsheet, import it to an IDE, and create a way to intelligently create reports that can be connected to business intelligence suites... Someone must have done this.
https://news.ycombinator.com/newsguidelines.html
If anybody suggests a better title, we can change it again.