Slashdot Mirror


Jon Udell on the Nerd's Spreadsheet

rcs1000 writes "Jon Udell has a interesting article on a new type of spreadsheet: one targeted specifically at techies. The skinny is that any spreadsheet is actually a computer program, only in Resolver One, the product profiled in Udell's piece, this is explicit rather than implicit. And the code is IronPython rather than VBA. There are some other cool things it does — allowing cells to contain objects, and allowing spreadsheets to back-end websites." Udell's screencast gives a good demo, though the presenters are a bit hard to hear due to the phone connection. Resolver's own screencast is an alternative.

168 comments

  1. Can it... by O('_')O_Bush · · Score: 5, Funny

    Multiply 850*77.1 correctly?

    --
    while(1) attack(People.Sandy);
    1. Re:Can it... by Anonymous Coward · · Score: 0

      I would say yes ... but then I noticed that it's written in .NET ... so no!

    2. Re:Can it... by Daimanta · · Score: 3, Funny

      And if you can, how do you maintain compatibility with Office Excel calculations?

      --
      Knowledge is power. Knowledge shared is power lost.
    3. Re:Can it... by RobBebop · · Score: 1

      Yeah... the answer is 100,000. Right?

      --
      Support the 30 Hour Work Week!!!
    4. Re:Can it... by The+Assistant · · Score: 0

      You forgot to convert from binary to decimal!

      The answer is actually 32 , not to be confused with 42 (see Douglas Adams)

    5. Re:Can it... by maxwell+demon · · Score: 2, Funny

      Well, it uses the new, patent-pending doublecalc technology. It's the equivalent to doublethink for calculations. Doublecalc allows the same result to be both 65535 and 100000 at the same time, thus remaining compatible both with conventional math and with Excel.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    6. Re:Can it... by a.d.trick · · Score: 1

      Probably, but I wouldn't be surprised if it fails on 0.1

    7. Re:Can it... by laejoh · · Score: 0

      I wrote a unit test that ran 65535 times and it reported 100000 OKs

    8. Re:Can it... by sgbett · · Score: 0

      I can't beleive MS are getting such a hard time over being first to market with this..

      I mean, nobody else has implemented quantum computing into their spreadsheet app yet.

      --
      Invaders must die
  2. Logical conclusion by MeditationSensation · · Score: 1

    Oh jeez, this reminds me of the last company I worked at, where they tried to do *everything* in spreadsheets, even documents that would have been much better in word processors or databases.

    1. Re:Logical conclusion by Anonymous Coward · · Score: 1, Insightful

      Life is a grid with a logic tree, dude.

    2. Re:Logical conclusion by Teun · · Score: 4, Funny

      Life is a grid with a logic tree, dude. It's called Tetris.
      --
      "The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
    3. Re:Logical conclusion by ResolverSystems · · Score: 2, Insightful

      This is exactly the issue Resolver is trying to solve. Spreadsheets - love them or hate them - are ubiquitous. One of the design intents of Resolver is really think through the architectural considerations for spreadsheet usecases. Traditional spreadsheets were designed for single-users, manipulating data in a file. Today spreadsheets are used for much, much more than that, however, the underlying architecture has not caught up. Resolver is changing this by applying a generic programming architecture to the spreadsheet metaphor. Python is an excellent environment for writing analytic software: simply look at the number of libraries and packages the scientific and finance communities have developed in Python.

      Resolver is almost as much an integration tool as a spreadsheet tool: the architecture recognizes that various systems, such as databases, computing arrays, etc, may be the best places to store and analyze data. The goal of Resolver, then, is to give the developer or analyst a very powerful, programmable spreasheet metaphor for building applications and analytics.

    4. Re:Logical conclusion by nategoose · · Score: 1

      I worked at one of those too. Excel for everything. Annoyed the crap out of me.

    5. Re:Logical conclusion by Ed+Avis · · Score: 2, Informative

      It's been done: Pipedream by Mark Colton (also called View Professional) was a combined spreadsheet-WP-database app that ran on the BBC Micro, Archimedes and (even more weirdly) the Sinclair Z88 laptop computer. This Z88 review has a section describing Pipedream.

      --
      -- Ed Avis ed@membled.com
    6. Re:Logical conclusion by tommertron · · Score: 1

      Actually, life is more like an arbitrarily large number of interrelated grids, with lots of complex logic. This is why more complex stuff is usually shunted off to databases. Or should be. I've seen far too many Excel files that would be way more useful in a database of some sort.

      --
      Random rants about technology: http://technorants.blogspot.com
  3. Why should I use this rather than SQL? by quanticle · · Score: 3, Insightful

    SQL databases have become much lighter and more efficient these days. Why should I use this store data over a lightweight SQL database?

    --
    We all know what to do, but we don't know how to get re-elected once we have done it
    1. Re:Why should I use this rather than SQL? by PJ1216 · · Score: 3, Informative

      i don't think its a matter of storing data (or at least large amounts). thats never what spreadsheets were for. they were based more around displaying data and processing data. yes, they can be used for large amounts, but they never really were meant as storage in the same way a database was. they're just saying these spreadsheets could start serving some of the same purposes.

    2. Re:Why should I use this rather than SQL? by Anonymous Coward · · Score: 0

      A spreadsheet for techies....sounds like a database to me

      Maybe someone should tell them that these have already been invvented

    3. Re:Why should I use this rather than SQL? by Hatta · · Score: 2, Interesting

      Why use a database or spreadsheet? Why not something like the R Project?

      --
      Give me Classic Slashdot or give me death!
    4. Re:Why should I use this rather than SQL? by DragonWriter · · Score: 1

      SQL databases have become much lighter and more efficient these days. Why should I use this store data over a lightweight SQL database?


      One of the selling points is using it to interact with SQL databases that are used to store data. From the resolver one homepage:

      Entire database tables, or the results of arbitrary SQL queries, can be imported directly into Resolver documents as new worksheets, which can immediately be used in calculations. If necessary, Resolver can update the worksheet in real time as the underlying dataset changes. Because there is no need for the user to write code themselves, this allows for sophisticated data analysis without assistance from IT.

    5. Re:Why should I use this rather than SQL? by Yetihehe · · Score: 2, Funny

      Because there is no need for the user to write code themselves, this allows for sophisticated data analysis without assistance from IT
      Do you know what that means? Us techies will no longer be needed and we'll be disposed. Just like techie::destroy(); !
      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    6. Re:Why should I use this rather than SQL? by garcia · · Score: 3, Insightful

      Why use a database or spreadsheet? Why not something like the R Project?

      Because you have to learn yet another cryptic set of functions to do what is easily accomplished in Excel (or any other spreadsheet)? Most people couldn't give a fuck less about using any package to its full potential and most people utilize Excel as a database rather than a spreadsheet (almost everyone in my wife's company for example).

      A spreadsheet will do just fine for the majority of people and the rest would probably use something like Crystal Reports to do anything more advanced. Why? Because there is professional documentation and training available for those packages and R Project requires posts to mailing lists or forums to get answers outside of your own self research on the web. From what I can see in my own personal experience, people working in the real world don't want to spend the time searching around the Internet through mailing list posts and forums for their answers. They want to plunk down $350 and sit through a 6 hour seminar offering them 1 CEU.

      YMMV.

    7. Re:Why should I use this rather than SQL? by ThrobbingGristle · · Score: 2, Insightful

      The question was almost certainly a response to the "Nerd's Spreadhsheet" bit.

      See, the hyper spreadsheet is for nerds, just like R would be.

      Did you consider his response in the context of the slashdot article/submission? Or do you simply have a grudge against people
      who use software without "professional documentation and training"?

    8. Re:Why should I use this rather than SQL? by kalirion · · Score: 0, Offtopic

      Gotta respond to a part of your sig:

      Patriotism is akin to racism.

      This isn't true. Nationalism is akin to racism. There is nothing wrong with loving your country as long as you don't start believing that its citizens are somehow superior to everyone else.

    9. Re:Why should I use this rather than SQL? by Waffle+Iron · · Score: 1

      Why should I use this store data over a lightweight SQL database?

      Maybe because SQL is a horribly awkward and cumbersome language for doing the arithmetic-oriented things that spreadsheets are typically used for.

    10. Re:Why should I use this rather than SQL? by ResolverSystems · · Score: 1

      As pointed out, and many, many of us have experienced, while data does belong in database, an enormous amount of analysis takes place in Excel, or at least is published in Excel. The database support in Resolver is designed to allow the spreadsheet to be more closely tied to the database: the spreadsheet can display database data in realtime; e.g. when transactions occur in the database, the spreadsheet updates automatically. Resolver cannot control if users wish to use spreadsheets in places where databases may be more appropriate, but can provide tools to make it easier to use the appropriate technology in the appropriate place.

    11. Re:Why should I use this rather than SQL? by Per+Abrahamsen · · Score: 0, Offtopic

      > Nationalism is akin to racism.

      That is not true. Patriotism akin to racism. There is nothing wrong with loving your country as long as you don't start believing that its citizens are somehow superior to everyone else. ...

      Really, it is like geek vs. nerd. Some people try to assign all the good attributes to one of the words, and all the bad attributes to the other one. But it doesn't work, and not just because people disagree about which word should be the good one. The real reason is that the good and the bad attributes are connected in the real world.

    12. Re:Why should I use this rather than SQL? by TheCRAIGGERS · · Score: 1

      As somebody that has to work with useless vendors to get answers to my questions, I would jump at the chance to search through some forums to answer my own questions.

    13. Re:Why should I use this rather than SQL? by nuzak · · Score: 0, Offtopic

      There is no requirement that you must love your own country in exclusion to all others. Anyone who decries the erosion of foundational rights, for example, is expressing patriotism.

      In the end it's all about labels; Patriotism is whatever people want it to be, I guess.

      --
      Done with slashdot, done with nerds, getting a life.
    14. Re:Why should I use this rather than SQL? by Anonymous Coward · · Score: 0

      Did you consider his response in the context of the slashdot article/submission? Or do you simply have a grudge against people
      who use software without "professional documentation and training"?


      I considered it and thought about it some more and decided he was just trolling for mod points because he mentioned, what for most people, would be considered an obscure piece of stats software.

      I don't give a shit how people learn about the software they're using. I was talking from the prospective of those that are actually in the real workforce, not the imaginary ones that everyone around here seems to be involved in. When you don't work with geeks (the vast majority of people don't) you don't run into shit like that.

    15. Re:Why should I use this rather than SQL? by Toonol · · Score: 0, Offtopic

      I love my wife, and I don't love your wife. You (hopefully) feel just the opposite. Both women may be 'equal' in the abstract, but one is mine and one's not.

      Patriotism is due, partly, to the special relationship of a person to their country that they do not share with any other country. That's reasonable, and that subjective tie can be recognized without losing objectivity.

    16. Re:Why should I use this rather than SQL? by pjabardo · · Score: 1

      This is a very good point indeed! I actually tried to do exactly this at work. But it didn't work out very well. Basically spreadsheets are a "visual" way to do vectorized operations, at least most trivial operations. So people type in one column, type in the other next one and then type in the third cell something like: =D12+E12. Then they take the mouse and drag the operation through every input value. How would you do it in R? You would have to create two vectors with the data:

      A = 1:10
      B = c(1.1, 3.3, ...)

      The nice thing about R (or octave/scilab) is obtaining the results: C = A+B

      It is readable, it is simple, self documented but there are a few catches:
      (1) Switching "context" - editing mode/calculation
      (2) Editing mode is somewhat difficult. Even if you use data.entry or edit.data.frame (this functions open up a very simple spreadsheet window where you can edit the data.

      Most people just learn a "simple" tool (aka spreadsheet) and do with it. I know smart people who are stuck with excel for more than 10 years. And basically what they know today is what they new three weeks after using their first spreadsheet program.

      After failing miserably trying to convince a very few people to play around with R I'm convinced that if you want get rid of spreadsheets you will need something that looks and feels the same, at least on basic operations. I thought about implementing a spreadsheet->R converter environment. It would look and feel like a spreadsheet but you could open up an editor and write complex functions. I was too lazy and these guys made something very similar running on .NET so I guess you can write things in any language that targets .NET. Once I have time I might try to start developping somthing like that on Linux.

    17. Re:Why should I use this rather than SQL? by quanticle · · Score: 1

      If all you're doing is arithmetic, then why are you using this? Wouldn't a traditional spreadsheet be just as useful?

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    18. Re:Why should I use this rather than SQL? by jbengt · · Score: 1

      "and most people utilize Excel as a database rather than a spreadsheet . . ."

      In the engineering company I work in, most people use Excel only as a way of formatting.
      It drives me nuts when I see someone tapping away at their calculator, only to type the result into a cell Excel!

    19. Re:Why should I use this rather than SQL? by Anonymous Coward · · Score: 0

      But you don't go around saying "your wife sucks, mine is so much better" to other people.

    20. Re:Why should I use this rather than SQL? by geminidomino · · Score: 1

      Maybe someone should tell them that these have already been invvented You are Pavel Checkov and I claim my $5.

    21. Re:Why should I use this rather than SQL? by Bodrius · · Score: 1

      The parent's post still applies:

      Is a nerd's time somehow less intrinsically less valuable?
      Or does 'the context of a slashdot article/submission' intrinsically mean that the nerd in question does not have a 'job in the real world' and therefore has infinite amounts of free time to use the most complex tool for the simplest job?

      Granted, it looks really cool and fascinating, and likely it is perfect for a specific type of software development, but one might as well ask 'Why not use Mathematica instead of a spreadsheet?'. Ultimately, there is no shortage of Turing-complete languages, runtime systems and programming environments on which to reinvent the wheel and print tables and paint pretty graphs.

      Spreadsheets are a powerful and simple tool - and have been for a long time before computers came into the picture.
      The whole point of the hyper-spreadsheet is that is IS still a spreadsheet application... i.e.: it has the general (well-proven) advantages of that UI and type of application, while bringing in the power of a programming environment in a very nice model.

      The reason RDBMS even come into the conversation is because it has become simple to connect a modern DBMS to a modern spreadsheet application... for reasons of its obvious usefulness, and of stopping people from using a spreadsheet as a datastore instead of a view of the data.

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
  4. Solution looking for a Problem by OverlordQ · · Score: 2, Insightful

    In a Resolver spreadsheet, these objects are visually persistent. I haven't yet got my hands on Resolver, but here's an example of what I think that will mean. Suppose that I have a data set I want to transform, against which I'm testing five different versions of a transformation function. I'd put the data in cell A1, the functions in cells B1..B5, and the results in C1..C5. Now I'll see everything at a glance.

    That . . . sounds just like a normal spreadsheet to me.
    Solution looking for a problem?

    --
    Your hair look like poop, Bob! - Wanker.
    1. Re:Solution looking for a Problem by networkBoy · · Score: 1

      but storing a formula as an anon function is not normal for a spreadsheet, and honestly I think that may be a bit brilliant.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    2. Re:Solution looking for a Problem by C3c6e6 · · Score: 1

      Can you do that in a spreadsheet? Sorry if I'm ignorant, but I don't think you can put functions in cells and use these to manipulate data in other cells. To me, this idea sounds rather cool. A pity it isn't Open Source, but hey, maybe innovation still exists in the closed source world! :-)

    3. Re:Solution looking for a Problem by Miltazar · · Score: 1

      Thats what I thought at first. However, I believe they mean you put a reference to a program in your code into the spreadsheet cell. That way you can do unit testing much easier then normally. Thats what I got out of it anyway. If that isn't what it does, then I agree with you.

      --
      "Hold! What you are doing to us is wrong! Why do you do this thing?"
    4. Re:Solution looking for a Problem by DragonWriter · · Score: 1

      Sorry if I'm ignorant, but I don't think you can put functions in cells and use these to manipulate data in other cells.


      Lat I checked, you expressly could not in Excel with VBA custom worksheet functions. Even if you could, I'd certainly rather do it in Python than VBA, though.
    5. Re:Solution looking for a Problem by tepples · · Score: 1

      That . . . sounds just like a normal spreadsheet to me. But the formulas can be written as Python expressions, calling user-defined Python functions. Can your ordinary spreadsheet do that on multiple operating systems?
    6. Re:Solution looking for a Problem by ResolverSystems · · Score: 1

      This is not something we ever intended to promote, it is simply the bi-product of creating a powerful spreadsheet in Python, which happens to by a highly-dynamic, object-oriented language. We can, however, see interesting usecases for this, for example cellular analysis in bio-tech applications, in which complex molecular structures can be represented as an object in a cell, and a visualization routine can then be applied.

    7. Re:Solution looking for a Problem by voidspace · · Score: 1

      Making spreadsheets unit testable is certainly one of the aims of Resolver.

    8. Re:Solution looking for a Problem by julesh · · Score: 1

      Can your ordinary spreadsheet do that on multiple operating systems?

      What do operating systems have to do with this?

    9. Re:Solution looking for a Problem by tepples · · Score: 1

      What do operating systems have to do with this? Between 1999 and 2007, Microsoft used its Excel spreadsheet as a tool to lock its users into Windows operating systems. If business users want to migrate away from Windows, they have to migrate away from Microsoft Office for Windows, which means they have to rewrite all their line-of-business apps written in Excel+VBA. There needs to be some incentive to get people to rewrite their Visual Basic apps in Python, and the ability to run on multiple platforms (GNU/Linux, Mac OS X, and Windows) is a part of this incentive.
    10. Re:Solution looking for a Problem by pimpimpim · · Score: 1

      Didn'T RTFA, but is this guy reviewing a product he didn't even use or see being used, so in effect only from the marketingspeak that came in the announcement?

      --
      molmod.com - computing tips from a molecular modeling
    11. Re:Solution looking for a Problem by julesh · · Score: 1

      Interesting, but I see no link to the specific spreadsheet we're talking about, which is described by its commercial producer as a windows-only application.

    12. Re:Solution looking for a Problem by voidspace · · Score: 1

      Well - in the screencast we demo the product, so none of it comes from any 'announcement'. Resolver is in use with several customers and a bunch of beta testers (probably including Jon Udell by now - so maybe he will have more to say about it!)

  5. What's the difference? by Anonymous Coward · · Score: 0

    Aside from having a console window for custom formulae and a debug output window, it is not that much different from a typical spreadsheet program. This can easily be built on top of existing office suites, if they haven't include them already.

    1. Re:What's the difference? by julesh · · Score: 1

      Aside from having a console window for custom formulae and a debug output window, it is not that much different from a typical spreadsheet program. This can easily be built on top of existing office suites, if they haven't include them already.

      While I haven't used this program yet, I believe the major difference is that it allows you to declare new classes and use values of those classes as cells in the sheet. This sounds remarkably useful to me.

      Imagine having a CurrencyAmount object. A1 contains =CurrencyAmount(50.00, "USD"). B1 is =A1.ConvertTo("GBP"). CurrencyAmount includes the code to look up the exchange rate on a web server, so whenever you click recalculate you get an up-to-date sheet.

      Also consider other cell types you could use: complex numbers, vectors, matrices, value with unit: A1: =UnitValue(50,"meters") B1: =UnitValue(17,"seconds") C1: =(A1/B1).In("miles per hour")

    2. Re:What's the difference? by voidspace · · Score: 1

      There is an example of this on the Resolver Hacks website: http://www.resolverhacks.net/exotic_datatypes.html It defines a custom 'magnitude' datatype that controls how it appears on the grid and how it behaves in calculations when used in fromulae. You are free to use any Python or .NET datatype of course, as well as define your own.

    3. Re:What's the difference? by ResolverSystems · · Score: 1

      Possibly, but we think there significant differences in our approach Resolver expresses a spreadsheet as a Python program. The code pane shows the entire spreadsheet as an executable Python program. User code, data and system code are cleanly modularized. The result, in our experience, is dramatic improvement in programmability and modeling power.

      Certainly a nice console window and debug output window would improve, in our opinion, most existing spreadsheet applications. However, this will not fundamentally change the interaction patterns between the cells, user code, and application code, nor the architecture of the application. One of the reasons why we can deploy Resolver spreadsheets to the web so easily is that they are Python programs, one of the benefits of this architecture.

  6. 2D programming? by 16384 · · Score: 3, Informative

    Organising code on a spreadsheet... I guess it will resemble Befunge

    1. Re:2D programming? by $RANDOMLUSER · · Score: 1

      I had never heard of Befunge before, but I can tell you that you just gave an ex-Forth programmer a full-body shiver.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  7. Allowing spreadsheets to what? by winkydink · · Score: 4, Funny

    and allowing spreadsheets to back-end websites

    munge them?
    hack them?
    copulate with them?

    --

    "I'd rather be a lightning rod than a seismometer." -Ken Kesey

    1. Re:Allowing spreadsheets to what? by Anonymous Coward · · Score: 2, Funny

      No, back end. See Jack Thompsons latest court files for details.

  8. The old saying is true. by LWATCDR · · Score: 3, Insightful

    Everything looks like a nail when all you have is a hammer.
    Spreadsheets are so useful today that they can do many tasks that are better done with other tools... If you know the other tools.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:The old saying is true. by TotalDisdain · · Score: 1

      Its always amusing to see a man who who has bowed the violin with a claw hammer for many years come to the amazing conclusion that he gets a far better tone when using a rolling pin instead.

  9. Misuse of spreadsheets by Tablizer · · Score: 4, Interesting

    A good portion of spreadsheets actually should be database tables of some kind. People end up manually grouping and other stuff that report-writers can do automatically. What is needed is a kind of "dynamic" RDBMS tool that has open-ended columns and column widths. A "spreadbase"? The Oracle clones are all too rigid.

    As far as spreadsheets for programming, I've experimented a lot with data dictionaries to simplify column management and column sub-sets for regular ol' edit-and-report screens. So far it is tricky because one often wants to tweak something for a particular context and one-size-fits-all hits a wall. The trick is finding a good, clean way to "override" specifics from the table when needed or just make alternative entries of a given column and select them via set notation when needed; but I've yet to find a clean, simple convention. It ends up fairly messy such that regular copy-and-paste is unfortunately the cleaner solution much of the time. Maybe if the toolset and the language was geared toward nimble data dictionaries, these approaches would be smoother. Forcing a non-data-oriented language to act data-oriented is like trying to keep a toddler in line.

    1. Re:Misuse of spreadsheets by voidspace · · Score: 4, Informative

      "A good portion of spreadsheets actually should be database tables of some kind." Databses are good for storing data and spreadsheets are great for analysing and presenting data. Resolver works very well with databases and so makes it easier to keep your data there - and still have a powerful analysis / presentation tool.

    2. Re:Misuse of spreadsheets by DragonWriter · · Score: 2, Informative

      A good portion of spreadsheets actually should be database tables of some kind.


      A good portion of spreadsheets are actually backed by database tables of some kind.

      People end up manually grouping and other stuff that report-writers can do automatically. What is needed is a kind of "dynamic" RDBMS tool that has open-ended columns and column widths. A "spreadbase"? The Oracle clones are all too rigid.


      While I think you are selling Oracle and its object-relational kin short if you think they can't handle what you seem to be describing, a more simply "flexible" approach is that taken by, e.g., SQLite where types are advisory rather than rigid. But in either case the DBMS is just the back-end storage engine, you still need a front-end piece that the business user can interact with in a friendly, visual way or program if necessary, that's where something spreadsheet-like comes in. Resolver one seems, at the outline level, to be a good way of approaching that.
    3. Re:Misuse of spreadsheets by Jeff+DeMaagd · · Score: 1

      The difference is that a lot of people know how to handle a spreadsheet, even my parents can handle them. Databases are somewhat arcane, that's one of the things that I've never really tried hard at learning. Microsoft Access was probably the most notable attempt at making it easy, but the nerd crowd certainly frowned on that. Even if it was good, I think they'd frown on it.

    4. Re:Misuse of spreadsheets by Tablizer · · Score: 1

      more simply "flexible" approach is that taken by, e.g., SQLite where types are advisory rather than rigid.

      That is true, but the user cannot add columns quickly. I'm thinking of having a reserved row for the column name. If you don't put a name there, then it is automatically named the spreadsheet column letter, or the like (and column letters can perhaps still be aliases even if you do have an explicit name).

      But in either case the DBMS is just the back-end storage engine, you still need a front-end piece that the business user can interact with in a friendly, visual way or program if necessary, that's where something spreadsheet-like comes in.

      Well, but spreadsheets have a grid feel instead of a table feel and follow grid rules instead of table rules. I suppose I'd have to build a demo to explain what I have in mind. I've just found the spreasheet metaphore lacking outside of what spreadsheets were originally designed for. They can do a table-like job if you tweak enough, but tweaking is tweaking.

      Here's an explanation attempt: The difference in philosophy is sort of like the difference between positional arrays and associative arrays. Spreadsheets are more like the first and tables more like the second. Each has their place, but to use one when the other would be better gives you the feel that you're using the wrong tool. The ideal tool would allow one to pick positional row-wise or column-wise and the other "axis" associative as needed and visa versa. Generally a "young" spreadsheet starts out as positional, but you switch to associative as it grows up and needs more formality and tools (like group-based summing, views, and auto look-ups/joins).

    5. Re:Misuse of spreadsheets by DragonWriter · · Score: 1

      That is true, but the user cannot add columns quickly. I'm thinking of having a reserved row for the column name. If you don't put a name there, then it is automatically named the spreadsheet column letter, or the like (and column letters can perhaps still be aliases even if you do have an explicit name).


      That's not really a feature of the DBMS, but of the UI, though. Given the generality of the programmability that resolver one appears to offer, it seems like it should be nearly trivial to implement a spreadsheet in it that would use a appropriate SQL backend this way.

      Well, but spreadsheets have a grid feel instead of a table feel and follow grid rules instead of table rules.


      That's generally true, though good spreadsheets make it possible to implement worksheets, or ranges of worksheets, that obey table-like rules to a greater or lesser extent, and the particular features highlighted in resolver one suggest that it does so far more than most out of the box (in ways that allow columns and rows to act like table columns and rows, and even allow worksheets to work like views backed by some set of other worksheets.) At least, that's what I infer from the description of worksheet formulae on the resolver one home page:

      Worksheet formulae

      Resolver features formulae for worksheets as well as for cells; this allows a single formula to fill a worksheet with values calculated from one or more other worksheets. Result worksheets calculated in this way will be updated correctly as the input data grows or shrinks; this method also diminishes the incidence of single cells with incorrect formulae, since there is no need to mechanically specify the formula for every cell in the worksheet.
    6. Re:Misuse of spreadsheets by Tablizer · · Score: 1

      The difference is that a lot of people know how to handle a spreadsheet, even my parents can handle them

      Until they over-use them and get into a jam. Then they call on us techies to help them make their contorted mess act like a database.

      Microsoft Access was probably the most notable attempt at making it easy

      It has way too many gotcha's for the average user. Sure, a lot of stuff is just a click away, but so is getting into a jam.

    7. Re:Misuse of spreadsheets by voidspace · · Score: 1

      Although in spreadsheet circles there are a lot of people saying 'access is the new excel', meaning that people who were previously creating horrible monster spreadsheets are now creating horrible monster access apps...

    8. Re:Misuse of spreadsheets by DragonWriter · · Score: 1

      Until they over-use them and get into a jam. Then they call on us techies to help them make their contorted mess act like a database.


      This seems to be something that resolver one is aimed directly at, since a big selling point of its representing everything in Python is enabling IT staff to easily extract business-user-created spreadsheet logic and transfer it to other systems.
    9. Re:Misuse of spreadsheets by Tim+C · · Score: 1

      the user cannot add columns quickly

      See now, that all depends on the UI, doesn't it?

      For me, alter table add (column_name type [constraints]); is quick and easy, but then I'm used to tools like sqlplus. In a graphical tool, it could be as easy as right click on table -> add column -> enter name and optionally type (or accept some default, say varchar2(4000) or even CLOB for Oracle). Hell, you could even design it so that it looks just like a spreadsheet, with "spare" columns after the last one, and you just start typing in one and the tool does the result automagically.

      It would make for some truly horrible database schemas, of course, and you'd be losing (or at least hiding) a lot of the good stuff that a proper RDBMS brings, but you could certainly do it.

      I would have to wonder why though, given that you'd have simply created something that tried to be both spreadsheet and database, but would probably fail to do either properly.

    10. Re:Misuse of spreadsheets by Tablizer · · Score: 1

      Databses are good for storing data and spreadsheets are great for analysing and presenting data.

      For the analyze portion, I am not sure I agree. Some kinds of analyses are better with tables and others with spreadsheets. As far as presenting data, I generally disagree. Report writers and QBE tools are better for presenting volumes of data. They usually do mass filtering, sorting, and grouping much better than spreadsheets. Spreadsheets are better at the smaller scale where databases may be overkill.

    11. Re:Misuse of spreadsheets by Frozen+Void · · Score: 1

      Why even stay in column,rows.You abstractize the concept of (column) and assign tags to objects,with TAGNAME{number} being its property and managing relations between tags as you wish.
      basically you can add tags as basic dimensions or optional categories for anything in the database.

    12. Re:Misuse of spreadsheets by Tablizer · · Score: 1

      To make it more generic, allow potentially *multiple* tags per value. The quickest way to implement this is with a many-to-many relational table. Sample schema:

      value_table
      ---------
      cell_ID
      theValue

      tag_table
      ---------
      cell_ref // foreign key to value_table
      tag_ID

  10. Just found a new way to sleep at work by russ1337 · · Score: 3, Funny

    Wow... that screencast is perfect for me to sit facing the screen with my eyes closed, and anyone that walks past my cube will think i'm doing some spreadsheet wizardry....

    nice. Now i'll go someway toward meeting the quota for those that sleep at work.

  11. Python by Anonymous Coward · · Score: 0

    And the code is IronPython rather than VBA.

    IronPython is not a language!

    1. Re:Python by LiquidCoooled · · Score: 1

      Neither is VBA ;)

      --
      liqbase :: faster than paper
    2. Re:Python by julesh · · Score: 1

      IronPython is not a language!

      Actually, I believe it is. There are substantial differences between IronPython and the reference Python implementation. C++/CLI is a language, IMO, and so is IronPython.

    3. Re:Python by voidspace · · Score: 1

      Hmmm... not substantial differences in my experience (of developing Resolver). Ocassional bugs and some differences (garbage collection and the string datatype being unicode for example) - but programming with IronPython is really programming with Python.

  12. Spreadsheet, Or... by Nom+du+Keyboard · · Score: 1

    There are some other cool things it does -- allowing cells to contain objects, and allowing spreadsheets to back-end websites.

    Is this a spreadsheet, or a poor man's database?

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
    1. Re:Spreadsheet, Or... by Hatta · · Score: 1

      Is this a spreadsheet, or a poor man's database?

      What's the difference?

      --
      Give me Classic Slashdot or give me death!
    2. Re:Spreadsheet, Or... by mr_mischief · · Score: 1

      I'd say it's a poor man's database reporting system, perhaps.

      Picture this scenario. Put your functions in one sheet, lock that sheet (if you can), and distribute a screen-based app in the default sheet. Every time the end-user updates a value in a query cell, the DB gets queried, the data gets transformed and formatted, and the results get updated. Need to update the app? Just force a transfer of the new "spreadsheet" file to all the clients.

      Something like this might also make a custom time tracking or trouble ticketing system dead simple to throw together, too. Things like that have never really fit into a spreadsheet comfortably before, but they tend to contain lots of tabular data.

    3. Re:Spreadsheet, Or... by ResolverSystems · · Score: 1

      The metaphor is a much more programmable spreadsheet. The focus of the product is giving user an environment in which to manipulate data, not store high volumes of data or process transactions. Spreadsheets are frequently used to front-end databases, for data collection, data analysis, data loading, and ETL, which is well within the design intent of the product.

    4. Re:Spreadsheet, Or... by nuzak · · Score: 1

      I in fact maintain a couple reports that do exactly this. It's not exactly real-time (the query takes 10 minutes to run), but generating a new set of charts is just a matter of hitting the "refresh query" button.

      You want real-time reports on streamed data, something like MOODSS is probably the ticket.

      --
      Done with slashdot, done with nerds, getting a life.
  13. Does it run on Linux? by pembo13 · · Score: 1

    Seems like a fairly on-topic question. Anyone know the answer?

    --
    "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    1. Re:Does it run on Linux? by sapone · · Score: 1

      In theory, it could be able to, since it's implemented in IronPython which runs fine on Mono. OTOH, their Website states that currently it only runs on Windows, possibly because they use parts of .NET that are missing in Mono. Or maybe there are some native parts too. They'll consider other OS if interest should arise.

    2. Re:Does it run on Linux? by Aladrin · · Score: 1

      IronPython works on Linux, so this probably does as well. Since it's not actually released, there's no much real info out yet. Sign up for the Beta and come back and tell us.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    3. Re:Does it run on Linux? by kiatoa · · Score: 1

      If it doesn't you could try "Scheme in a grid" http://siag.nu/siag/ (supports scheme, tcl and a C like extension language). I've used it but must admit I usually resort to chicken scheme + sqlite for any data processing needs that go beyond what an ordinary spreadsheet can do.

      --
      90% of the wealth is in 2% of the pockets. Bummer to be in the majority.
  14. Other direction by Anonymous Coward · · Score: 0

    http://common-lisp.net/project/cells/ is a dataflow extension that provides Common Lisp with classes where instances of the class have properties (slots in lisp parlance) that can be calculated like spreadsheet values.

  15. Storing, analysing and presenting Data by voidspace · · Score: 1

    "even documents that would have been much better in word processors or databases." Well, that's true - but once your data is in a database you still need to analyse it and present it. Spreadsheets are used for three things: storing, analysing and presenting data. Most complex spreadsheets are actually *applications* for analysing and reporting on data. The things you get with databases are: a single authoratitive data source, transactions and queries. Most people producing reports don't want to do their analysis by writing SQL queries though! Part of the idea of Resolver is that it is really an application platform, with a familiar interface. Your data can be stored in a database (this is a good thing) and tables (worksheets) can be populated from database queries. You can then analyse (with real code if it is warranted) and present that data. You can also add user interface elements to push stuff back to the database if you want. It is massively cheaper than writing a custom application and a darn sight easier than doing the same thing with Excel.

  16. Hex handling by hedley · · Score: 1

    Importing and manipulating hex would please me no end.

    H.

  17. Great Idea by declining · · Score: 1

    This is a really interesting idea. If you think about it, every spreadsheet is a computer program. Excel is probably the most widely used development environment in the world. And it sucks. Big time. Watching the screencast, it looks like this is a great halfway house between bad, ad hoc, spreadsheet development, and a traditional IDE. The choice of Python as the language is a great idea - it's much, much easier for someone than VBA, and it's much more semantically powerful. I'd be interested in discovering whether it works existing Python and .NET libraries.

    1. Re:Great Idea by ifreakshow · · Score: 1

      They mention that all standard python libraries should work.

    2. Re:Great Idea by ResolverSystems · · Score: 1

      We agree, and would slightly add to the comment above: a mash up of a traditional spreadsheet, a traditional IDE, and an integration framework. We currently support existing pure-Python libraries (e.g. not Python-wrapped C libraries) and .NET libraries. We are working to solve the interface and integration issues between IronPython and CPython, but this is a non-trivial development task (which we see as important to both our own product and the Python community at large).

  18. Seems like Ken Tilton's Cells with GUI. by Anonymous Coward · · Score: 0
  19. I *think* it's gonna be cool by exploder · · Score: 1

    [quote]I haven't yet got my hands on Resolver, but here's an example of what I think that will mean.[/quote]
    I said "WTF?" and stopped reading right there.

    --
    Yo dawg, I heard you like the Ackermann function, so OH GOD OH GOD OH GOD
  20. Real Interesting point by gubol123 · · Score: 1

    is that this is the first time i am seeing a demo developed in silverlight. Yeah, i know, there are lots of demos on MS site. But this is the first time i am seeing somebody using SilverLight for some real demo on their own site. is this the sign of things to come? Time will surely tell

  21. Seems kinda cool to me. by cad106uk · · Score: 1

    I had an interview with these people about 18 months ago (didn't get the job) but I thought there product was pretty cool. Its basically a simple spreadsheet that allowed you run an IronPython script in each cell. So you can run your spreadsheet with all the power the Python and .NET can give you ... say you wanted your spreadsheet of investments to update against a stock exchange web site every 30 seconds

    --
    while(e) { Kyoatie(); }
  22. Lotus Improv / Quantrix please by WillAdams · · Score: 2

    I never, ever want to see A1..A10 again.

    Give me an item dispenser, the program should name things sensibly as they're created and all formulas should read as plain text like: profits = sales - expenses.

    Please.

    William

    --
    Sphinx of black quartz, judge my vow.
    1. Re:Lotus Improv / Quantrix please by rcs1000 · · Score: 1

      Frankly, this looks like the nearest thing to Lotus Improv...

      --
      --- My dad's political betting
    2. Re:Lotus Improv / Quantrix please by voidspace · · Score: 1

      Resolver goes some way to solving this problem. Not only can you name cells (like Excel) but it makes it very easy to index worksheets and cell ranges using header row /column name.

    3. Re:Lotus Improv / Quantrix please by jefu · · Score: 1

      Ah Improv. Best spreadsheet I ever used. Though there was this odd thing (advance? don't remember) that took improv one step further and did some great data modelling tasks, but I could only get an evaluation copy. And then it seemed to go away.

    4. Re:Lotus Improv / Quantrix please by maxwell+demon · · Score: 1

      Well, maybe by mistake they didn't give you a copy, but the original :-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
  23. you are looking for a "database" by Anonymous Coward · · Score: 0

    this is just another VC whore I reckon

  24. Windows Only by cmacb · · Score: 1
    From the website:

    Please note that Resolver is currently a Windows-only application . While we have no immediate plans to produce versions for other platforms, if there is enough interest then that will change.


    There may be some exceptions, but I haven't found any... Once a bloger, journalist, programmer, and I'm sure lawyer, goes to work for "the Borg" they lose all sense of objectivity.

    Why in this day and age would someone want to lock themselves into yet another Windows-only application?

    I would avoid this thing like the plague. Even if Linux hasn't taken over the desktop, there are certainly enough Apple users these days that OS portability should be BUILT-IN to the design process from day one.

    The whole point of an OS is to isolate the application from the hardware. But what good does that do us when so many new applications are designed to work with only a single OS, and that single OS is designed to work with only one type of hardware? Has our industry gone mad?
    1. Re:Windows Only by Anonymous Coward · · Score: 0

      I wonder if it will run on Jython? Then it could run on pretty much any platform, plus allow you to leverage pretty much any Java library. I'd guess IronPython is probably pretty much tied to .NET (i.e. Windows) though, or they would have just written it in Python. Might be fun to try and port it though, if you could get access to the source code.

    2. Re:Windows Only by voidspace · · Score: 1

      The big killer for this is the third party grid component we use which, (unsurprisingly) is pretty sophisticated. This is currently Windows only and looks like it would be a bitch to port.

      The core model classes will run on CPython - and the server has been tested with Mono on Linux, so we definitely have it in mind to port to Linux. The target market though is (well - at least was when Resolver was formed) the financial services market, where Windows is still ubiquitous. .NET was actually chosen as the development platform before IronPython was chosen as a development language.

      We're already pushing (beyond) the limits of what the grid component can do though. When we're rich enough we'll be looking at writing our own grid, and at that point it will definitely be cross platform. As I said, the server version is already cross platform.

    3. Re:Windows Only by multipartmixed · · Score: 1

      > I would avoid this thing like the plague. Even if Linux hasn't taken over the
      > desktop, there are certainly enough Apple users these days that OS portability
      > should be BUILT-IN to the design process from day one.

      Building portability into the design does NOT equate building a final product for zero dollars.

      Once the code is written you still have alternate packaging, distribution, and -- especially -- testing. None of which are free, and may not be economically viable.

      Mac OS on Intel being the PERFECT example there. You don't think Intel compatibility just sprang from the turtle neck, do you?

      --

      Do daemons dream of electric sleep()?
    4. Re:Windows Only by Tablizer · · Score: 1

      The whole point of an OS is to isolate the application from the hardware.

      Your goals may not be MS's goals. The majority of business is done with Windows for good or bad. Maybe you don't like doing business with primates for example, but if you want to sell anything on planet Earth, you have to do business with primates.

  25. A Better Headline by mdmkolbe · · Score: 1

    "Spreadsheets with First-Class Functions and Objects"

    This is just a spreadsheet with the ability to put functions and other objects into cells. It's a good idea, but there is no need to dress this up in marketspeak. We understand techno-babel just fine here.

    1. Re:A Better Headline by ACS+Solver · · Score: 1

      Is "techno-babel" when a thousand geeks all speak different languages?

    2. Re:A Better Headline by jd34 · · Score: 1

      If it is techno-babble I am on it... but as I recall the whole problem with Techno-Babel is the balkanization of babble.

  26. homebrew by kisrael · · Score: 1

    Not reading TFA, it reminds me a bit of my custom db/ui solution that I use for generalized information storage: links, books and movies I watch, developer notes, etc... it some web-based Perl CGI and is, in effect, a big old flat table database, the columns defined by text files, and it auto-generates a convenient form with the usual spattering of HTML input types...

    --
    SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
  27. Spreadsheets of limited application by Anonymous Coward · · Score: 0

    If I wanted one that'd take functions or objects for most given languages, I could probably write the basics in a weekend. This is like the MS powershell thing that allows users to pipe objects; a solution in search of a problem.

  28. Re:Logical conclusion - Absolutely amazing!!! by corifornia2 · · Score: 0

    This is absolutely an amazing product. It can do store objects and back a website!!! It can do all the same things as my well supported database product!!!

  29. The Analyst: the first Nerds spreadsheet by itsybitsy · · Score: 1

    There was a Spreadsheet made for the CIA by Xerox that would easily be the Nerds Nerd of spreadsheets as it enabled full access to the underlying programming language, Smalltalk.

    Here are some links to the old version and newer developments.
    http://wiki.cs.uiuc.edu/VisualWorks/The+Analyst
    http://www.mojowire.com/TravelsWithSmalltalk/DaveThomas-TravelsWithSmalltalk.htm
    http://www.sunless-sea.net/wiki/SmallTalk
    http://www.google.ca/search?num=100&hl=en&newwindow=1&q=%22the+analyst%22+xerox+smalltalk&btnG=Search&meta=

  30. Hockey stick curve? by Chris+Shannon · · Score: 1
    No matter how good a tool is, it's only as good as the raw data.

    1. $500 per month in sales after 6 months.
    2. ???
    3. Profit! $320,000,000 per month after 12 months.

    These people need a reality resolver instead of a spreadsheet replacement.

    --
    "Follow me" the wise man said, but he walked behind.
    1. Re:Hockey stick curve? by voidspace · · Score: 1

      Uhm... are you taking those figures from the screencast? I think you'll find that was a spoof just to illustrate Resolver in action... :-D

  31. It sucks when users over use it, not otherwise. by GreggBz · · Score: 1

    Really, besides the laugh we had the other day, Excel does not suck. It's does a lot of things very very well. Just don't try to use it beyond what it's designed for.

    I used to work in the finance department for a very large company, and I was inundated with Excel. People used it for everything and loved it.
    The only hurdles come when someone tries to do something that's grossly inappropriate. That notion comes from finance people who love it and try to do everything with it. Sometimes they succede, sometimes it was ridicules. I don't fault Excel for that.

    I Just think about basic command line stuff I use everyday. With bash you have sort, awk, grep, sed etc.. You can do very much the same things with Excel, only sometimes much more easily and with instant visual results.

    Cripes I'm a Unix admin and I pine for Excel on Linux. OOCalc is missing ohh.. I don't know decent graphing, pivot functions etc..
    I still find myself doing complex sorts, replaces, etc.. with excel ^H^H^H^H^H(ehh. OOCalc) because it's just easier.

    That and the data is in a portable compatible format (not just a static text file) that anyone can pick up and continue to use, look at my formulas etc.. without much trouble.

    1. Re:It sucks when users over use it, not otherwise. by Doctor+Faustus · · Score: 1

      The only hurdles come when someone tries to do something that's grossly inappropriate. That notion comes from finance people who love it and try to do everything with it.

      That's because they have complicated analysis to do, and tend to think an awful lot like programmers do, but really have no training in appropriate tools to use for such things (or, frequently, the tools themselves). An "advanced" spreadsheet is a really good idea, but I think it should targeted toward accountants as much as programmers. With a little hand-holding from the software (mainly, making things visible that we programmers are used to thinking of in the abstract, which spreadsheets are good at, anyway), something on the border between spreadsheet formulas and functional programming could be a big help for them.

    2. Re:It sucks when users over use it, not otherwise. by voidspace · · Score: 1

      Which is exactly what Resolver hopes to do - sit in the gap between spreadsheets and programming. Making it easy to make the jump from formulae to simple functions to full blown object oriented programming...

    3. Re:It sucks when users over use it, not otherwise. by Doctor+Faustus · · Score: 1

      Why object-oriented? Spreadsheets are closest to a functional model.

    4. Re:It sucks when users over use it, not otherwise. by DragonWriter · · Score: 1

      Why object-oriented? Spreadsheets are closest to a functional model.


      Probably on one level because Resolver is meant in large part as a "bridge" so that as a sheet evolves in a direction to which the spreadsheet model is less appropriate, it can be ported out into something else, and the direction the creators expect most people will want to go is into something OO (either a more general Python program, or some other OO langauge where the Python code exported from the spreadsheet will serve as a prototype.)

    5. Re:It sucks when users over use it, not otherwise. by voidspace · · Score: 1

      Sure - programming in the grid is functional programming. This is great.

      Resolver allows you to easily use libraries (whether Python or .NET assemblies) from within your spreadsheet, as well as put whatever code you want at certain points within the execution of your spreadsheet. This is where OOP comes in - some functionality is best encapsulated within objects that can be used within cells or spreadsheet code.

      As DragonWriter says, Resolver is a bridge between the spreadsheet model and programming.

    6. Re:It sucks when users over use it, not otherwise. by SanityInAnarchy · · Score: 1

      With bash you have sort, awk, grep, sed etc.

      Yeah, if it would take much more than a "sort", a spreadsheet might make sense.

      Then again, I so rarely have to do this kind of stuff one-off that it doesn't really make sense for me. I'm much more likely to have something that I need solved in a generic way. The 10 lines of Perl (or Ruby, etc) that it might take to model will be harder to write than a spreadsheet, for most people, although I'm not as comfortable with spreadsheets as I am with programming. But the 10 lines of code will be reusable, without modification, as long as I need it.

      Seems to me, the spreadsheet is always needing to be tweaked, and not in generic ways. The tweaks I have to make for the new data won't work with the old data. Maybe I'm not good at spreadsheets, but this seems to be the default/natural way of doing things.

      That and the data is in a portable compatible format (not just a static text file) that anyone can pick up and continue to use, look at my formulas etc.. without much trouble.

      A format that gets the math wrong... oh, and text is pretty portable.

      Oh, just curious, have you tried Google's spreadsheets? Or the KOffice version... KSpread, I think? What about GNUMeric? Or some of the older ones people keep listing as prior art for this python thing... a spreadsheet that runs LISP, or Smalltalk? Since I don't use spreadsheets much, I can't say whether any of these are more or less powerful than OOCalc (for what you want to do), but OpenOffice is not the only open Office clone.

      --
      Don't thank God, thank a doctor!
  32. VBA already does this... by gillbates · · Score: 3, Insightful

    And does it poorly. And insecurely.

    You can already access spreadsheet content from Visual Basic, and include VB script in spreadsheets. The same scripting ability which allows the "wow" features in spreadsheets also creates the potential for abuse - remember macro viruses? Suddenly, documents which formerly contained only data now contained executable code, and it gave rise to a security nightmare.

    Yes, today, with VBA, you can do what the article mentions. In fact, it's been possible for years. Problem is that:

    1. Very few people use it, and
    2. Those who do use it tend to use it poorly.
    Yes, you can back end a website with your spreadsheet. But why would you? A spreadsheet is a horrible way to manage data; there's no referential integrity checks, no versioning, no security, and doesn't scale well. Furthermore, your crucial data is tied to a particular application, rather than a database.

    Just like VBA, it's a nice nerd's toy, but the wise system programmer recognizes that it has limitations.

    --
    The society for a thought-free internet welcomes you.
    1. Re:VBA already does this... by Tablizer · · Score: 1

      Accessing spreadsheets and documents via an object oriented API is a royal pain in the arse in my opinion. True, I am a known card-carrying OOP hater, but more specificly the problem is that it is too verbose for ad-hoc kind of processing. Languages that are specificly built for a purpose/tool are usually much "naturaler" to the tool they are built around. True, Microsoft could perhaps have designed better API's, but they are not even close to being natural to the tool such that minor adjustments are not going to do it.

  33. And for Gantt charts... by legirons · · Score: 1

    And for Gantt charts, there's a program which lets you express each task in python code (including whatever calculations, remote data, or whatever that it needs to get data from)

    http://faces.homeip.net/

  34. they have their work cut out for them by Locutus · · Score: 1

    and here is why, even moderately smart programmers are more comfortable with a spreadsheet than a database or full blown application. Example which I believe still applies today:

    I was a member of a "club" of techies who were investing in the stock market in the 1996 timeframe. We cycled the clubs officer positions through the club membership so everyone knew what others were doing and how. The 2nd year, I got the Treasurers position and my job was to collect "investments" at each meeting and provide a overall club report and reports for every member's position/investment in the club. I was handed a spreadsheet with tons of data entry cells sheets to fill in data. I could have cleaned this up but hey, this was the age of the internet right. So I build a SQL database to handle the accounting, wrote code to drive a CGI interface to a web server and wrote scripting to trigger updates on stock valuation and triggers to update the database on changes. It was all accessible from a web browser with a login. And very repeatable. It worked great after the 3rd months meeting and for the remainder of the year. Because it was cross platform, it would run on anybodies computer and did not need to be on the internet.

    Here's the kicker( finally ). The next Treasurer was the guy who started the club, owned his own business, was a Windows software engineer who's product he built over close to 10 years and was a signal processing kit(PC and software appliance ). He knew what I was saying when I described the package I'd built to do the books but he wanted none of it. He wanted the latest report and then he write a spreadsheet to handle the task. And for every meeting from then on until the end of the club 2 years later, we were constantly correcting data in the spreadsheet and sometimes, corrections required pulling out paperwork from previous months meetings.

    There is a fools familiarity with spreadsheets which people find comforting. They will go to great extremes to try and get the spreadsheet to work for what they are trying to do. Great extremes. And with the plethora of Neanderthal-ish computer users out there who think they are computer guru's because they can do "=(A2+B2)" in MS Excel, it is a long long road to get movement outside of the spreadsheet.

    I just found out a buddy has taken on a 2nd job and is trying to build a business out of it. He's under charging to get experience in more aspects of the field and to construct a spreadsheet to "automate" the task(s). He's thinking that the business will grow around the "application"/spreadsheet.

    So I think the title should be, "Jon Udell on the Geek's Spreadsheet" because the nerd is really not that 'into' the technology to really know or want to work outside of a standard spreadsheet. IMO.

    LoB

    --
    "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  35. Something like MS Access? by FranTaylor · · Score: 2

    I've always felt that MS Access is a really shitty implementation of a really good idea. Yes, it was backed by an SQL database, but you can do spreadsheet stuff, too, and behind the scenes you could tie it all together and make it look nice. Another nice feature is that managers, with no programming experience and just a bit of SQL knowledge, can create and generate their own reports without having to bother a developer. Alas, the SQL engine has many fatal flaws, the scripting language is junk, and the GUI is just too quirky and weird. The report stuff is pretty nice, though.

    Unfortunately nobody else has ever tried to do it right. The pieces are all out there, but they're not integrated.

    I may be a diehard Red Sox fan, but I still cheer when a Yankee makes a good play.

    1. Re:Something like MS Access? by Rick+Genter · · Score: 1

      I may be a diehard Red Sox fan, but I still cheer when a Yankee makes a good play.


      Then you aren't a true Red Sox fan...
      --
      Don't underestimate the power of The Source
  36. Not much new for Openoffice users ... by kubusja · · Score: 1

    Python scripting was possible for a long time for Openoffice users ...

    1. Re:Not much new for Openoffice users ... by DragonWriter · · Score: 1

      Python scripting was possible for a long time for Openoffice users ...


      There is a big difference between having a spreadsheet that you can script in Python and having one where everything you enter through the spreadsheet interface is turned into Python code.

    2. Re:Not much new for Openoffice users ... by julesh · · Score: 1

      Python scripting was possible for a long time for Openoffice users ...

      Yeah, but much as I love OO.o calc, I can't declare a Python class and then put a value of that type into one of its cells.

    3. Re:Not much new for Openoffice users ... by voidspace · · Score: 1

      Yep. With Resolver you can create new datatypes (that use operator overloading to control how they interact in formulae and how they are represented on the grid) - and then use them in formulae.

  37. Spreadsheets Cause Brain Damage by tom's+a-cold · · Score: 1

    Like other posters said: half the time they're busted, denormalized lame-ass substitutes for databases. The other half of the time they lead to convoluted algorithms that would be expressed more simply in code. Spreadsheets are the shits-- logic and presentation layer tightly coupled. The only value they give is in sortable and filterable views, and grid controls on a webpage will do that for you nowadays.

    --
    Get your teeth into a small slice: the cake of liberty
    1. Re:Spreadsheets Cause Brain Damage by voidspace · · Score: 1

      "convoluted algorithms that would be expressed more simply in code" - which is kind of exactly the point of Resolver. :-)

    2. Re:Spreadsheets Cause Brain Damage by Anonymous Coward · · Score: 0

      I hear what you're saying, but the fact that logic and presentation are tightly coupled is the *strength* of spreadsheets. That's why almost everyone can learn to use them. I've done studies of end users and programming, as well as read a lot of the literature. Unfortunately, the moment you decouple model and view your elegance goes up by a factor of 10, and the number of people who will end up learning your system goes down by a factor of 100.

    3. Re:Spreadsheets Cause Brain Damage by voidspace · · Score: 1

      "the fact that logic and presentation are tightly coupled is the *strength* of spreadsheets" - except when you want to add code, when you have to jump into a completely different interface.

      With Resolver the view is just as tightly coupled, *plus* the view includes a code editor (and the code runs as a normal part of the spreadsheet execution rather than living in a separate world).

  38. Scheme on a Grid, anyone? by PaulBu · · Score: 2, Interesting

    I am wondering if we have forgotten this cute little app... Thwe webpage says
    2000-12-07, but I think I've played with it long before that. And yes, it had
    database connectivity, could serve data over HTTP and, of course, the extension
    (and half of implementation, I'd guess) language was Scheme.

    http://siag.nu/siag/

    Paul B.

  39. InstaCalc by kazad · · Score: 1

    (shameless plug)
    I'm a nerd as well, and built an online calculator/spreadsheet for myself. It's a new take to an old problem: instant answers, inline units (MB, GB), and shareable results. Yes, it handles 850 * 77.1 and more.

    Thought you might find it useful.

  40. Maybe Spreadsheets are NOT for Nerds? by Tablizer · · Score: 1

    But you are talking about a half-ass query language. I think that "true nerds" wouldn't even use spreadsheets, but a somewhat normalized database. It is easier to process data when it is "row-atized" such that you wouldn't have a different column for each region or product or month instance like one often does in spreadsheets, but rather a single product category/location/month code/indicator as part of a row. (dBASE and relatives were great at ad-hoc data chomping, by the way. SQL-based DB's assume too much formality in my opinion for ad-hoc work.)

    Spreadsheets are an electronic version of accounting grid paper and meant to emulate the paper world. But true geeks leave paper representations behind when it suits the problem better, using a "relativity engine" to deliver the needed view via math-like transformations. Spreadsheets are not very transcendental, even if you do improve the formula propogation.

    Thus, "nerd spreadsheet" is possibly a contradiction.

    1. Re:Maybe Spreadsheets are NOT for Nerds? by DragonWriter · · Score: 1

      But you are talking about a half-ass query language.


      Says who? I haven't seen how they implement the particular feature, but Python is a rather full-featured language.

      I think that "true nerds" wouldn't even use spreadsheets, but a somewhat normalized database.


      A spreadsheet is essentially a UI which can be wrapped around different storage engines, including an RDBMS. "Spreadsheet" and "database" aren't mutually exclusive alternatives.

      It is easier to process data when it is "row-atized" such that you wouldn't have a different column for each region or product or month instance like one often does in spreadsheets, but rather a single product category/location/month code/indicator as part of a row.


      Yes, using a well-designed spreadsheet for the task is better than using a poorly designed one.

      I'm not sure what this has to do with the issue at hand.

      Spreadsheets are an electronic version of accounting grid paper and meant to emulate the paper world. But true geeks leave paper representations behind when it suits the problem better, using a "relativity engine" to deliver the needed view via math-like transformations.


      And since everything entered through the spreadsheet interface in Resolver One produces (and may be edited in the form of) Python source code, it would seem to be an excellent way to use the spreadsheet interface where that suits an aspect of the problem, and use more direct code for those portions of the problem the spreadsheet interface is not well suited for.

      IOW, it seems like a nerd's spreadsheet. Or, looked at a different way, an specialized IronPython IDE.

    2. Re:Maybe Spreadsheets are NOT for Nerds? by Tablizer · · Score: 1

      Says who? I haven't seen how they implement the particular feature, but Python is a rather full-featured language.

      So is assembler if you have enough libraries, but that does not make it "natural" to the task or convenient. But I don't want to get into a my-lang-can-beat-up-your-lang battle here. If you like Python, go for it, but don't expect everyone else to agree without objective proof.

      A spreadsheet is essentially a UI which can be wrapped around different storage engines, including an RDBMS. "Spreadsheet" and "database" aren't mutually exclusive alternatives.

      I am not entirely convinced. DB's generally make or assume certain conventions and rules that make life simplier if they are followed. You cannot simply swap back and forth if one party (spreadsheets) doesn't have to follow the rules.

    3. Re:Maybe Spreadsheets are NOT for Nerds? by DragonWriter · · Score: 1

      If you like Python, go for it, but don't expect everyone else to agree without objective proof.


      Uh, you're the one that started the languageargument without any specifics, much less "objective proof" of your position. Strange that you'd make that comment, then.

      A spreadsheet is essentially a UI which can be wrapped around different storage engines, including an RDBMS. "Spreadsheet" and "database" aren't mutually exclusive alternatives.


      I am not entirely convinced.


      You're not convinced that spreadsheets and databases aren't mutally exclusive?

    4. Re:Maybe Spreadsheets are NOT for Nerds? by Tablizer · · Score: 1

      Uh, you're the one that started the language argument without any specifics

      I don't remember tying my argument to a specific language. (A passing mention is not the same as "tying".)

      You're not convinced that spreadsheets and databases aren't mutally exclusive?

      I am just saying that they are often not interchangable views or concepts (at least not without lots of contortions). Database tables make more stringent restrictions, but the payback for conforming to these restrictions is dealing with them in a more math-like fashion instead of a lower-level cell-per-cell basis. Spreadsheets are more loosy-goosy, but the downside is that higher-level operations are more difficult to formulate.

    5. Re:Maybe Spreadsheets are NOT for Nerds? by voidspace · · Score: 1

      Certainly in Resolver (and probably other spreadsheets) you can do operations on whole rows and columns... Resolver also provides lots of useful ways of working with small chunks of data (tables if you like) - cell ranges.

    6. Re:Maybe Spreadsheets are NOT for Nerds? by Tablizer · · Score: 1

      Certainly in Resolver (and probably other spreadsheets) you can do operations on whole rows and columns...

      It's not a matter of "can do", even assembler can be made to do such. It is the issue of the rules and conventions of data organization and higher order operations. It is a matter of which abstractions you build the tool and language around.

  41. "Nerds' Spreadsheet"? by uhlume · · Score: 1

    Wolfram called; they want their concept back.

    --
    SIERRA TANGO FOXTROT UNIFORM
    1. Re:"Nerds' Spreadsheet"? by Anonymous Coward · · Score: 0

      Mathematica isn't a spreadsheet; it's more of a notebook. And concept-wise, it's a $2500 symbolic math engine, while a spreadsheet just lets you put arbitrary data into a 2D grid. The only real similarity is that they both do math in some form or another.

      dom

  42. Interesting by Anonymous Coward · · Score: 0

    I'm not sure why using IronPython instead of VBA (well, anything's better than Visual Basic, true...) and "cool" things like embedding objects is an improvement to the traditional spreadsheet/Excel app, but I've often thought that somebody out there ought to redesign the spreadsheet. Excel is great for a lot of things, even for science applications, even though it's often just a cheap, quick-and-dirty alternative for better software. In many cases, it's easier to make a spreadsheet than to write a program or take out a loan to buy a package like MatLab. But the assumption that all data needs to be represented by a single fixed length table some 65536 high by 26^4 wide leaves a little to be desired. There ought to be a mostly GUI interface that can represent large blocks of numerical data and records in a more intelligent way, seems to me. And it isn't Labview. Assuming the implementation wouldn't suck (ie written partially in TCL/TK, Perl, with smatterings of Java), the open source world could introduce yet another killer app.

  43. It isn't as useless as you think by heinzkunz · · Score: 2, Interesting
    The idea reminds me of "Cells" by Kenny Tilton. From the site:

    Cells is a mature, stable extension to CLOS that allows you to create classes, the instances of which have slots whose values are determined by a formula. Think of the slots as cells in a spreadsheet (get it?), and you've got the right idea. You can use any arbitrary Common Lisp expression to specify the value of a cell. The Cells system takes care of tracking dependencies among cells, and propagating values.
    Resolver seems to take this idea a step further. It looks like you can write nice reporting tools with this. There is no need to bash Resolver because you don't like Access or Excel.
  44. Distributed, Extensible Spreadsheet by DJ_Perl · · Score: 1

    Here's a similar proposal for distributed, extensible, language-neutral spreadsheets! Someone at Google, please implement this? Cheers!

    --
    -- Subvert the dominant paradigm. Repeat as desired. http://ownlifeful.com/
  45. So near and yet so far by ynotds · · Score: 1

    Back before we first got involved with Mathematica 1.0, I was already looking for something that would put real calculations in table cells but Wolfram became wedded to the notebook format that was arguably the only practical solution to being cross platform in the 1980s.

    On the Mac more was often promised but rarely delivered. There was a very early "spreadsheet" called Trapeze which allowed you to lay out a multiplicity of typically smaller grids which always appealed to me more than the idea of forcing unrelated data structures into a single sheet. For a moment I hoped that Numbers, the new spreadsheet component of iWork, might have finally revived that concept but on the minimal playing around I've done to date, it too misses the point.

    Meanwhile there has been one product from Germany, originally Mac only but nowadays also available for Windoze which is the only moderately expensive software that I keep going back to when I really need to get something right. RagTime is positioned mostly as a layout program but it does have full-feature spreadsheet and word processing components (able to import Orifice files) and a very strong component model, despite the developers having been badly burned by Apple's misadventures with object systems in the 1990s.

    Even earlier I had been able to use it to automate the weekly random positioning of display ads in a printed newsletter. And even in 2007, I retain a sneaking wish that it would at least gain a developer API so we might be able to add Perl and symbolic math to make a true Swiss Army knife.

    --
    -- Our systemic servants do not good masters make.
  46. from the web site by m2943 · · Score: 1

    Every time a user changes a Resolver spreadsheet, the software generates Python code expressing their desires;

    Oh yeah? How does Python express hot, naked babes and a sixpack?

    1. Re:from the web site by Anonymous Coward · · Score: 0

      Whitespace sensitively.

  47. Red Sox fan ? by NemoinSpace · · Score: 1

    I may be a diehard Red Sox fan, but I still cheer when a Yankee makes a good play.
    How the hell do you decide where to sit at Fenway? The first base side is surely certain death, and the third base side would be raining beer.
  48. The nightmare of auto-generated code by AnEmbodiedMind · · Score: 1

    One thing that is different is that it auto generates python code that fully describes the spreadsheet (structure, display properties, and cell values!) - and which apparently is then executed to actually draw the spreadsheet itself (kinda a weird bootstrapping thing going on there).

    Anyway, I wonder how well modifications you make to the generated code are treated by changes made to the spreadsheet itself...
    Anyone who has tried to hack auto-generated code - e.g. from UI code generators (VC++?) knows how ugly this can get. Maybe with the closed loop (from generating code, back to displaying the spreadsheet) they have managed to deal with this, but the screencasts only show such trivial examples of editing so you have to wonder.

    The thing that seems REALLY cool about this tool (and the real answer to your question I think), is that you can take this auto-generated code + your custom code, and drop it into a .Net app as is, and you have a powerful python-powered spreadsheet engine inside your custom app. This means you can give your users a familiar spreadsheet UI as part of a larger app where appropriate, with all your business logic, without the unconstrained craziness of an excel VB App. Nice!

  49. FileMaker, too. by SanityInAnarchy · · Score: 1

    At some point, an organization realizes that they either don't have the training to be able to keep working from a spreadsheet, or they need something more powerful anyway.

    So they buy FileMaker Pro.

    Which means, they essentially have a bunch of different, interesting views, with some (very) limited scripting, all ultimately centered around one flat table.

    (Yes, I know there are later versions which actually function as relational databases, but most FileMaker stuff I've seen is around version 5 or 6. Most people don't want to upgrade past that, because it'd require upgrading every single computer at once. I know all about relations and "portals", etc -- almost unusable for linking more than two tables in the same query, and I hear reports of corruption, etc.)

    From what I understand of spreadsheets, some make sense as spreadsheets, and some don't. Of the ones that make sense as spreadsheets, they could still use a more powerful spreadsheet program, and I don't mean Python.

    Suppose, for instance, you just want to calculate a table of values -- compound interest, say. Some initial investment, an annual interest rate, and an additional annual value. You could do something like this:

    =A4*(A$3/100+1)

    And you could drag it down and across. But it's not necessarily an obvious formula, and if you ever have to make a change to it -- for example, extend it so it moves in increments of 5 years, or of n years -- you have to remember to drag the change (to the formula) over all the cells to update them. If you want the table to be bigger, you have to drag it some more, and fill in some more values, or write formulas for them.

    But you don't really need much in the spreadsheet other than your table of values. You don't need it for a chart, and if you did, it might not be sufficient -- for instance, if you're modeling a mathematical function, you'd want a much bigger table, and you wouldn't be interested in the values so much as the graph.

    Still, all of these could be modeled by a program very like a spreadsheet.

    The other common use is to manage information, and to analyze and present it. Spreadsheets are really bad at this, Filemaker is somewhat better at analyzing and presenting it, but not much better at storing it -- the biggest improvement, really, is indexing. But the kind of information you store in a spreadsheet would probably map really well to a relational database.

    So the trick, then, would be a GUI that's as easy as Filemaker, almost easier than a spreadsheet, but which maps to a real relational database. I'm not the first to think of this; there are several other projects, but most of them have considerable limitations, and it seems like a good target for a web app, anyway. But I've never found the time to do it right.

    Considering that FileMaker is often used as a replacement for things like Act, QuickBooks, or other, similar software, and that other such replacements have been made online (but specific to the domain of the app), I think a generic GUI for building online, database-driven apps would be a good project.

    But I haven't had the time to do it, much less do it right. Maybe soon, though.

    --
    Don't thank God, thank a doctor!
  50. They shouldn't be "integrated"... by SanityInAnarchy · · Score: 1

    Firstly, there are other major commercial players. FileMaker, for instance -- which I have to work with occasionally.

    Second, FileMaker (and Access) are object lessons in why you shouldn't do it this way. Like you said, the SQL engine has flaws, the scripting language is junk, and the GUI is quirky and weird, but you like the report stuff.

    Were this done right, you could keep the reports, and replace everything else. This is how KOffice seems to be implementing this, or trying to -- Postgres or MySQL can be used, and maybe SQLite for some of these. You can then run Kexi to manage it and Kougar to print reports. But any of these can be run independently, and while I believe Kexi will let you plug Python into it, you can script it with all kinds of other things. Plus, there are about 5 other, similar GUIs which will all use Postgres as a backend (oddly, none seem to be MySQL-specific, but one is Postgres-specific).

    I mean, you're right, it's almost a good idea, which is why there are so many clones. But all of them suck. I propose we do it in AJAX, but then we have to fight about what language to use on the server side, and thus still end up with five or so implementations -- still, I'm going to do that, at some point.

    --
    Don't thank God, thank a doctor!
  51. Smart, but Don't Get Things Done by AaronLawrence · · Score: 1
    Hilarious! Joel wrote flippantly about this exact intellectual exercise here:

    http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html

    People who are Smart but don't Get Things Done often have PhDs and work in big companies where nobody listens to them because they are completely impractical. [...] For example, they will say, "Spreadsheets are really just a special case of programming language," and then go off for a week and write a thrilling, brilliant whitepaper about the theoretical computational linguistic attributes of a spreadsheet as a programming language. Smart, but not useful."
    --
    For every expert, there is an equal and opposite expert. - Arthur C. Clarke
  52. Already exists by Anonymous Coward · · Score: 0

    Programming in a spreadsheet? It's called Flash.

  53. MOD PARENT UP by Chapter80 · · Score: 1

    Moderators, the author of the parent message appears to work for the company, and his messages ought to be given consideration for mod points. See the messages from 'voidspace' for moderation consideration.

  54. Mono by tepples · · Score: 1

    Interesting, but I see no link to the specific spreadsheet we're talking about, which is described by its commercial producer as a windows-only application. As far as I can tell given my imperfect reading of the article, Resolver is a spreadsheet front-end to IronPython, a port of Python to the .NET framework. Why would a 100% Pure .NET app be for Windows only and not Mono? Or is Resolver not 100% Pure .NET?
    1. Re:Mono by Anonymous Coward · · Score: 0

      I think Mono's doesn't handle all of .NET's windowing stuff properly yet.

  55. I'd like to think my project inspired them... by inline_four · · Score: 1

    As someone who wrote exactly this kind of thing for Java, I can attest to the idea that it can be useful and not a security issue. The trick is to think of its uses in a completely different way than what we tend to associate with Excel. The way I use Bean Sheet (my programmer's spreadsheet) is in the following ways: - To hold and manipulate small amounts (usually sub-100,000 rows) of formatted and structured data. One thing I've never seen anybody do in Excel is script your own sorting algorithms for example. - To have a format compatible with a version control system so as to see diff's in simple, but formatted, lists of data. - A more visual way of modeling/testing/debugging API and components. - To allow programmatic access to the spreadsheets. This is what this guy was talking about as a good opportunity to seed quickly changing business rules into an otherwise static system. Suppose you have a piece of code that needs to perform some business-rules driven operations on a data set. You can encapsulate those business rules in such a spreadsheet containing no data, test it, and deploy it with your application. The app then loads the data into the spreadsheet (the spreadsheet might even contain information on where to put the data set into it, so the interaction can be quite generic) and the app then queries the spreadsheet's "result" cells. And since these kinds of spreadsheets can contain all manners of data types, integration can be really simple. Then, if need be, pop open the spreadsheet, tweak the business rules, and deploy it back into your app -- perfect component-oriented programming model implementation .

    --
    Alexey
  56. System.GNU/Linux.Forms by tepples · · Score: 1

    I think Mono's doesn't handle all of .NET's windowing stuff properly yet. Not all of System.Windows.Forms is implemented, but a lot is. We'll have to wait for this program to become released before making too much of a judgment.
    1. Re:System.GNU/Linux.Forms by PastaLover · · Score: 1

      The page you link looks all nice and green but I've tried to use some windows.forms apps and have not managed to find one that worked properly. I very much doubt this one would work properly, especially since .Net 1.1 kind of sucks, making 2.0 very popular. As you can see from the link, 2.0 items are supported much less well. (no combobox?!?) I also thought Microsoft released 3.0 recently. It seems that project is doomed to be perpetually behind in its implementation.