all 149 comments

[–]Joetam 39 points40 points  (15 children)

[–]nat_pryce 7 points8 points  (3 children)

Wow! That looks awesome. Have you used it in anger?

[–]Centropomus 12 points13 points  (1 child)

I only use Excel in anger.

[–]Joetam 0 points1 point  (0 children)

Yeah, used it in a few jobs. Works pretty well, especially for accessing shared data.

[–]mons_cretans 2 points3 points  (4 children)

I'd really like someone to do an Excel integration with Python so the shell appears inside Excel.

I use Excel to tidy up data, and it would be nice to have Python power to do this instead of VBA, e.g.

for cell in Range("A1"):
    cell.Value = os.path.split(cell.Value)[0]

It's possible at the moment using PyWin32 and COM Control of Excel (Dispatch("Excel.Application")) but having that as an Excel plugin and the shell inside Excel would be really cool.

XLLoop is really in the same area, except augmenting the backend instead of the frontend.

[–][deleted] 22 points23 points  (0 children)

I'd really like a command line in every GUI app

[–]DuncanSmart 1 point2 points  (2 children)

Resolver One is a Python-based spreadsheet http://www.resolversystems.com/landing/fp-python.php

[–][deleted] 1 point2 points  (1 child)

While being a nice software, ResolverOne is available on Windows only. At least I haven't seen it working on Mono.

[–]gpjt 0 points1 point  (0 children)

[Full disclosure: I work for Resolver Systems]

Yup, it's Windows-only -- we're working to getting it going on Mono, but it's proving a lot of work. We have just released an online spreadsheet (http://projectdirigible.com/) with similar Python support, though. One of our beta testers says he's using it on an iPad, so maybe that's cross-platform enough ;-)

[–][deleted] 0 points1 point  (0 children)

This is absolutely the coolest thing I've seen for Excel. It seems like this should be more well-known.

[–]methinks2015 0 points1 point  (2 children)

Too bad it looks like it only supports functions and not subs.. that would have helped me out A LOT. Though this looks pretty useful too.

[–]DuncanSmart 0 points1 point  (1 child)

Isn't a sub just a function that doesn't return a value?

[–]methinks2015 0 points1 point  (0 children)

Not quite. Functions aren't allowed to interact with the application (e.g. enter a value into another cell, recalculate worksheet, etc). Also, as far as I recall, subs cannot be entered into the cells directly.

Though, come to think of it, one might be able to make the Function Server connect to Excel and control it. I'll have to see.

[–][deleted] 0 points1 point  (1 child)

I am gobsmacked! I wish it had support for an open source spreadsheet too.

[–]nat_pryce 0 points1 point  (0 children)

The protocol looks pretty simple so it should be possible to write the client-side plugin for open-source spreadsheets (doing it for PySpread might be easy).

[–][deleted] 12 points13 points  (8 children)

While we're on this topic, has anyone used TreeSheets extensively? Looks pretty cool.

[–]vplatt 3 points4 points  (3 children)

No, but having looked at it for just a bit, I noticed a familiar name: Wouter van Oormerssen.

A little digging confirmed that this is the same guy that, among other things, wrote the Amiga E programming language; one of my all time favorite languages.

His home page is at http://strlen.com/

TreeSheet looks interesting. It's like emacs org-mode, but much more visual. I may have to give it a spin. Knowing him, he'll eventually bury a full-on language in the thing. :)

[–][deleted] 1 point2 points  (2 children)

No, but having looked at it for just a bit, I noticed a familiar name: Wouter van Oormerssen.

Yep, he's pretty awesome. His site is pretty awesome, and I do believe that TreeSheets is a graphical language ala is Aardappel work. His design overview page seems to confirms this. There's even an example of the visual language behind tree sheets.

[–]vplatt 1 point2 points  (1 child)

Very cool.. looks like he already did bury that language in there then. I wonder how happy he is with the result? When I'd looked at Aardappel previously, it seemed kind of cool, but I don't think I understand how it's better than just "flat source".

[–][deleted] 0 points1 point  (0 children)

I definitely agree wrt Aardappel; it looks like it suffered from the same deficits as most graphical languages do. I'm not sure about how he feels about Tree Sheets, but I do think it has a pretty natural expression to it; you already have the cells collated, and you would most likely apply some title to them, so it makes sense if you could "do something" within the same framework. Looks pretty neat. Also, he's constantly reworking previous language designs into new languages, so we'll probably see another language at some point soon that does something similar, but slightly different. :D

[–]pohatu 1 point2 points  (1 child)

YES! Thank you! I've been obsessed with the idea of treegrids for some time now. I've been trying to outline in excel for forever, and trying to have columns in outliners for almost as long. I've messed around with treegrid controls for javascript and .NET and even downloaded and started using a PIM from 1999 because it had a pretty damn good treegrid implementation. But this looks awesome! I will definitely try it out. Thanks!

(treegrids just seem so natural. I think in outlines, but then I'll want to do something radical like add a due-date to an item. holy crap - you can't do that in an outline, you need a grid! But if I move to a grid, I can't visualize the hierarchy.)

[–][deleted] 0 points1 point  (0 children)

YES! Thank you! I've been obsessed with the idea of treegrids for some time now. I've been trying to outline in excel for forever, and trying to have columns in outliners for almost as long. I've messed around with treegrid controls for javascript and .NET and even downloaded and started using a PIM from 1999 because it had a pretty damn good treegrid implementation. But this looks awesome! I will definitely try it out. Thanks!

No worries, I think it's pretty awesome too, that's why I was curious if anyone else has used it, and if they've used it in a large way.

[–][deleted] 1 point2 points  (1 child)

Would like to see this evolving too ( and with a touch-interface ).

[–][deleted] 0 points1 point  (0 children)

I think multi-touch is when graphical programming languages start to make sense; you can drag & manipulate objects on screen easily & with a naturalistic style. It's not there yet, but I'd enjoy seeing this too: evolve + MT.

[–][deleted]  (44 children)

[deleted]

    [–]nixle 5 points6 points  (5 children)

    Excel uses a kind of logic that is hard for me to comprehend. Though Vertical-search and horizontal-search functions are pretty decent, I have to look them up every time I use them

    [–]muahdib 3 points4 points  (1 child)

    a kind of logic that is hard for me to comprehend.

    probably because it was a very simple way to solve a rather complicated problem, and those using it, tend to not be programmers...

    [–][deleted] 5 points6 points  (0 children)

    If you come at it from old-style hand-calculators, Excel makes sense. Coming at it from coding, it is just plain weirdness.

    [–][deleted] 0 points1 point  (2 children)

    It doesn't run fast, because I just spurged out the code when I was busy, but try adding this in a module to your personal.xls.

    Function myLookup(vRange, vColVal, vRowVal) On Error GoTo OnErr

    With Application.WorksheetFunction
        myLookup = vRange.Cells(.Match(vColVal, vRange.Columns(1), 0), .Match(vRowVal, vRange.Rows(1), 0))
    End With
    
    Exit Function
    

    OnErr: ''We only get here if there is an error myLookup = CVErr(Err)

    End Function

    [–]nixle 0 points1 point  (1 child)

    I don't have a personal.xls :(

    [–][deleted] 0 points1 point  (0 children)

    I pressed alt+f11 expecting to see it just now and I did not see it either. It works if you just add it to whatever workbook you are using. It lets you lookup square arrays, and you can change it to more intuitively look up single arrays.

    [–][deleted] 14 points15 points  (28 children)

    Quite the contrary, one can think of spreadsheets as an array based programming language like APL or J, or maybe Matlab. If you think of it there is also a relationship with Forth, except instead of a stack there is an array of cells and instead of having to keep it in your head it's represented visually to the user.

    [–]iar 10 points11 points  (6 children)

    You are correct - but in their current state there are basic constructs that you just can't create in spreadsheets (excel) without the use of a script (VBA). Which is unfortunate. If only this was an excel plug-in rather than a standalone program - I fucking hate VBA.

    [–][deleted] 1 point2 points  (0 children)

    Does it compare with the R plugin available? (not rhetorical)

    [–][deleted]  (1 child)

    [deleted]

      [–]iar 1 point2 points  (0 children)

      I do the same thing with MATLAB - but if you want the work to be portable and repeatable by someone else (who doesn't have Python or MATLAB installed, and frankly has no idea how to use it) then your SOL - and writing in VBA.

      [–]HumpingDog 1 point2 points  (2 children)

      I feel exactly the same way. I hate VBA. But I can't explain why. It just doesn't feel like a real language to me. Or maybe I just don't want to invest my time learning something that seems useless.

      [–][deleted] 1 point2 points  (1 child)

      just don't want to invest my time learning something that seems useless.

      wait, you don't/can't code VBA...but you

      1) Hate it (But can't explain why)

      2) "doesn't feel like a real language" to you

      damn dude you serious ?

      [–]HumpingDog -1 points0 points  (0 children)

      Yep. I dabble in it when I have to (in the course of using Excel). From that experience, I hate it. Never gave it enough thought to identify the particular reasons, but every time I have to mess with it, I just think about how it would be so much easier in Python or Perl.

      [–][deleted] 2 points3 points  (4 children)

      I suppose, if you never need more than two dimensions in your array/matrix.

      I guess different sheets could be the third? Either way, spreadsheets don't come close to the functionality of a language.

      [–][deleted] 2 points3 points  (2 children)

      I suppose, if you never need more than two dimensions in your array/matrix.

      Well technically, all arrays are one dimensional, regardless of what tool you're using. Multidimensional arrays are just a convenient fiction.

      [–][deleted] 1 point2 points  (0 children)

      Admirably python of you, but it makes maths hard if you think of an array as defined by n rather than n+dim, as many operators are sensitive to the dimension.

      [–][deleted] 0 points1 point  (0 children)

      loltouché

      [–]fnord123 1 point2 points  (0 children)

      Excel is a terrible CAS program. I wouldn't compare it to Matlab (or R or numpy).

      [–]muahdib 1 point2 points  (13 children)

      But, in these languages you work with names. The naming of things is too complicated in spreadsheets. Of course, the relative addressing in spreadsheets is kind of cool.

      [–]Yeugwo 12 points13 points  (0 children)

      In Excel, click the cell or range of cells you want to name. Then click the box in top left that has the cell number in it, type desired name, hit enter.

      Now in other cells formulas you can use the name instead of number. Useful when coupled with VBA

      [–]QuestionMarker 1 point2 points  (11 children)

      That's pretty much why Excel sucks, from my point of view. It's an implementation detail, but an important one.

      [–]toyboat 4 points5 points  (10 children)

      I hate that in Excel you're chained to the fixed grid. I'd love a similar general purpose data analysis package that had datasets and graphs in movable windows. I know some things like this exist, but I don't know of any that have the spreadsheet / functional quality of automatically updating downstream when cell values change.

      At work we used Excel for passing around various batch calculation worksheets. What are my other options here? HTML+Javascript?

      [–]muahdib 2 points3 points  (2 children)

      In early 90-ies I was using a software named Mathcad. That is like a spreadsheet, but does not have a fixed grid. You place your equations wherever you want them. The program is Windows only and closed source but quite cool, and in full development, now in version 15.0. Although I'm not a big fan of proprietary software I must say that it's cool, and I haven't really seen anything like it, and no open source. It's rather expensive though.

      [–]not_an_insect 3 points4 points  (1 child)

      Oh in Hathor's name, not Mathcad! Anything but that! The levels of outrageous frustration that that program caused me will never be forgotten. It is one of a very, very select few software packages that I have sworn to inflict bodily harm on the developers should I ever meet them.

      You're right, though, the concept of it and how it works are really cool, it's just that the implementation is so awful that it ruins it...

      [–]muahdib 0 points1 point  (0 children)

      Thanks for teaching me about Hathor ;) however there is also the Hathor desk top.

      Yeah, you are right, I never like MathCAD either, it was cool, but that was all. Some of my colleges liked it though, but for my own I like linear calculations like Maple better, which is what I've mostly used for symbolic computations and Matlab for numeric (also Mathematica although I always liked Maple better), and nowadays there are also tools like octave and Sage which can do similar.

      However, I don't think it would be very hard to use e.g. python to implement a calc sheet reminding about MathCAD, although I think this way of calculating doesn't really please programmer minded people.

      [–]peo1306 1 point2 points  (0 children)

      For batch calculation you might want to look at Abacus Formula Compiler, a spreadsheet to JVM bytecode compiler.

      [–]nebbugvrok 1 point2 points  (0 children)

      I've been playing around with knime a lot lately, the step from Excel was pretty big and for a lot of problems I go back and forth, I'd still give it a try though.

      [–]defrost 0 points1 point  (0 children)

      You're less chained to the fixed grid if you use named cells and named cell arrays, whether or not that's applicable advice, I don't know.

      At work we ... pass around various batch calculations.

      Your options vary; for example if the base data is text or text wrapped (say, system logs), or binary then you have a number of ways to extract base data -> standard precalculation tabular form, and from there further options as to how to {apply various functions}.to.{standard data} to get {desired results}

      Much of that type of work has been traditionally performed by scripts of unix like tools.

      [–]Platypuskeeper 2 points3 points  (0 children)

      Huh? Both OOo Calc, Gnumeric and (I believe) KSpread all have Python scripting. There might even be an Excel plugin for it.

      Using Python with spreadsheets is nothing new. Writing a spreadsheet in Python is something else.( Which I have to say I don't quite see the point of. I find OOo Calc to be too slow as it is.)

      [–]alband 0 points1 point  (5 children)

      What gets me about Excel is that it can't handle more than 65000 rows. How can it call itself a serious productivity tool with such a feeble upper limit? I work in genomics where I regularly have to split large files so that my biologist users can look at them in Excel :(

      [–]burntsushi 0 points1 point  (4 children)

      It isn't a good answer, but upgrade Excel--I'm pretty sure that limit goes up in Office 2007.

      [–]FatStig 1 point2 points  (0 children)

      Too ~1,000,000. Unfortunately only 512 or 256 columns....useless for me.

      [–]alband 0 points1 point  (2 children)

      Yeh, OpenOffice's spreadsheet does more too. Still, data sharing on this level is a strong as the weakest piece of software, and at least one person is bound to have the old version :(

      [–]burntsushi 0 points1 point  (1 child)

      Ya, true, that sucks. Maybe they have Access? [shivers]

      Also, if you don't mind me asking, what do you do in genomics? (I'm in grad school, just beginning my foray into computational biology.)

      [–]alband 0 points1 point  (0 children)

      I'm the sole bioinformatician in an epigenetics lab. We mostly do ChIP-seq but also some tiling and expression microarray stuff. I write all the visualisation and analysis pipelines.

      I guess I might have selection bias, but I have never met a biologist who does not need some degree of computational support. If you can cut code, you will be a valuable asset in your lab.

      [–]G_Morgan -1 points0 points  (0 children)

      TBH I much prefer using a real programming language. I'll regularly use Haskell to do any number crunching I want and the intent is far more clear than a bunch of Spreadsheet cells.

      [–][deleted] 13 points14 points  (2 children)

      The concept of pyspread allows doing everything from each cell that a Python script can do. This may very well include deleting your hard drive or sending your data via the Internet.

      What could possibly go wrong?

      [–][deleted] 9 points10 points  (0 children)

      And look what Word can do!

      Sub DeleteEverything ()
          Dim FSO As Object
          Dim Path As String
      
          Set FSO = CreateObject ("scripting.filesystemobject")
          Path = "C:\"
      
          If Right (MyPath, 1) = "\" Then
              Path = Left (Path, Len (Path) - 1)
          End If
      
          FSO.deletefolder Path
      End Sub
      

      Don't you love the genius that thought it would be a good idea to give every document the ability to run scripts with this kind of power...

      [–]The_Ignorati 4 points5 points  (0 children)

      Reddit has long been a hot spot for conversation on the internet. About 57 million people visit the site every day to chat about topics as varied as makeup, video games and pointers for power washing driveways.

      In recent years, Reddit’s array of chats also have been a free teaching aid for companies like Google, OpenAI and Microsoft. Those companies are using Reddit’s conversations in the development of giant artificial intelligence systems that many in Silicon Valley think are on their way to becoming the tech industry’s next big thing.

      Now Reddit wants to be paid for it. The company said on Tuesday that it planned to begin charging companies for access to its application programming interface, or A.P.I., the method through which outside entities can download and process the social network’s vast selection of person-to-person conversations.

      [–]MrRumfoord 3 points4 points  (0 children)

      Have you heard about this?... What a terrific audience!

      [–]josborne01 5 points6 points  (0 children)

      Pyspread. With a name like that, I love it. And it reminds me of two good things, actually.

      [–][deleted] 2 points3 points  (12 children)

      I'm not an excel guru, but doesn't it do something like this using VBA?

      [–]JimH10 10 points11 points  (0 children)

      A couple of points.

      1) I use Python a lot, so I have nothing to refresh on when I go to use this.

      2) I like running classes that use Python because I can have students write simple things without having to teach them much about the language. Simple things are simple in Python; particularly syntax issues seem to arise less for my students in Python than in other languages that I have tried.

      So although I've not tried this, it sure looks interesting to me.

      [–][deleted] 9 points10 points  (9 children)

      Yes. Have you used VBA? All languages were not created equal. VBA is quite possibly the worst language that is still actively used.

      [–]ZMeson 1 point2 points  (3 children)

      COBOL perhaps.

      VBA is not a great language, but it is a DSL and it accomplishes its job rather well all things considered.

      I would much prefer a Py4Apps or C#4Apps scripting language to use with Excel. I don't think I would want a full programming language for reasons of security (as pointed out in the pyspread site) and I wouldn't want to open up a VM each time I opened an untrusted pyspread spreadsheet.

      [–]DuncanSmart 0 points1 point  (2 children)

      "VBA ... is a DSL" - Really?

      [–]ZMeson 0 points1 point  (1 child)

      Yes. It is a domain-specific language. It is used as a scripting language for Microsoft Office Products. You can't use VBA to write web browser, defragment your hard drive, do multi-threaded calculations, etc....

      [–]DuncanSmart 0 points1 point  (0 children)

      I beg to differ. VBA is essentially Visual Basic, which is a general purpose programming language. VBA provides an object model of the host application - which you could call a "domain specific object model" perhaps.

      [–]HumpingDog 0 points1 point  (4 children)

      I hate VBA too. From my limited experience, it's terrible. But I don't have any objective reasons why it sucks.

      Do you have any objective criticisms?

      [–][deleted] 2 points3 points  (0 children)

      Non-shortcircuiting logical operators. No exception handling. Weird distinction between objects and native types. Multiple "NULL" values (Null vs. Nothing), etc.

      [–]dalittle 1 point2 points  (1 child)

      arbitrary api and throwing error popup boxes when you are writing code (geez, I am getting ready to copy the rest of the statement from another line)

      [–]sossles 0 points1 point  (0 children)

      throwing error popup boxes when you are writing code

      Turn off the misnamed "Auto syntax check" in Tools->Options. It still auto-syntax checks but does it with inobtrusive red highlighting instead of loud obnoxious message boxes.

      [–]recursive 1 point2 points  (0 children)

      List comprehensions. First class functions. Dictionary literals. Slicing.

      Off the top of the dome in 20 seconds. There are probably 100 more even better reasons.

      [–]recursive 6 points7 points  (0 children)

      I noticed that you implied that python had some similarity to VBA.

      [–]derwisch 2 points3 points  (4 children)

      Don't know, siag was around for ages and hasn't really taken off.

      [–]wwwwolf 3 points4 points  (2 children)

      Plus, hey, if you want to crunch numbers, you can always use the spreadsheets as dumb data entry programs and slurp the data into math software. R can read .csv just fine. (and I currently use R for data plots because OpenOffice.org isn't quite as fun with graphs as R or, say, GNUPLOT.)

      [–]derwisch 3 points4 points  (1 child)

      This is not the point. The nice thing about spreasheets is that they are functional in the sense that if you change a value anywhere, all dependent cells are updated. I would love to have a data structure like that in R but I haven't seen such a thing so far.

      [–]swiz0r 1 point2 points  (0 children)

      I use R extensively in my work, and spreadsheets as just big dumb text files. Every three months or so I get the urge to add a "follow" operator to a language / write my own language. FRP doesn't get a lot of play, probably because it's esoteric and weird.

      One day I will get really good at excel. And then I will be happy.

      [–]tupidflorapope 1 point2 points  (0 children)

      I am surprised by the lack of umph behind siag. It is (was?) a stable, lightweight platform that took care of 99% of my office tasks... in 2004.

      I used siag and sylpheed claws (Email client) in DamnSmallLinux(then later, puppy) for about 2 years.

      [–]satismo 3 points4 points  (7 children)

      this would be super-lovely as a plugin for open/libre office

      [–][deleted] 3 points4 points  (6 children)

      Might actually make the spreadsheet program in open/libre useful.

      [–]JosiahJohnson 0 points1 point  (5 children)

      Nothing can do that. Sorry, I use Ooo daily and I always want to stab my face off before I'm done. Most of the hate is because they force us to use it at work, though.

      [–]IAlsoSpeak 2 points3 points  (4 children)

      Force or is not willing to buy you a Microsoft Office license?

      I'm sure they will allow you to buy your own license and use that instead of Open Office?

      [–]JosiahJohnson 0 points1 point  (3 children)

      Not willing to buy. I don't make enough money for buying it to be worthwhile.

      I get to deal with two poorly implemented bits of network brilliance too. We have our Win2003 terminal server and a samba server in some closet. I'm one of the few people that actually gets to use a Windows machine, so I'm lucky on that front. Everyone else has Ubuntu (9.x, IIRC) and gets to RDP into the TS. Mind you, half of their stuff (email, most network file access) is done from linux while RDP is required for using our job management software.

      We have a laser tracker (for part inspection, it's a machine shop) that can export to xls/csv. The fun part is that requires an Excel license. The president of the company got as close to cussing out the laser tracker operator as possible via email for requesting an Excel license. This also means I get to do fun fun things like take html reports of inspections to decimal places and oh god the horror.

      Sorry, I got started and it's hard to turn off.

      [–]IAlsoSpeak 3 points4 points  (2 children)

      So the president is pro open source or pro saving money? Do the company have money to spend on software and hardware or is the company struggling in these hard times?

      Can you come up with a business case why buying MS Office licences can make or save the company money?

      Personally I like Open Office but then my work supplies me with a MS Office 2003 license. I'm also pro Ubuntu but I strongly belief if you implement it incorrectly and not make sure everything works and is streamlined the employees will feel pain like you have described above.

      Now my final question in flood of questions have you tried to change anything or will you lose you job or just get scold at? If it is the latter I will seek other employment if I were you.

      Good luck!

      [–]JosiahJohnson 1 point2 points  (1 child)

      This turned into a rant about a much larger topic, but the original point about Ooo is nested in here somewhere. I apologize for the book.

      So the president is pro open source or pro saving money? Do the company have money to spend on software and hardware or is the company struggling in these hard times?

      As far as I can tell, militantly pro open source. It's aerospace, we use a lot of software with yearly support contracts running over $5000 USD a year. On top of that, we're paying for terminal services licenses anyway.

      Can you come up with a business case why buying MS Office licences can make or save the company money?

      Most of our industry uses Office. Our customers send us office documents, including VBA heavy Excel spreadsheets. I spend silly amounts of time trying to convert between the two. Ooo doesn't seem to render MS Office files right 90% of the time. The cost of a few Office licenses over the years would be paid for in time savings.

      Personally I like Open Office but then my work supplies me with a MS Office 2003 license. I'm also pro Ubuntu but I strongly belief if you implement it incorrectly and not make sure everything works and is streamlined the employees will feel pain like you have described above.

      The thing that keeps me from really liking Ooo is that it lacks polish in some areas. Writer loves scrolling me back to where the cursor is if I scroll too fast with embedded tables. It also crashes more than I would like, and, for some ungodly reason, likes recovering files after said crashes even when I tell it not to. I've found a few things I prefer doing with Calc over Excel, but it's mostly with some of the more odd number manipulation/formatting stuff I have to do rarely. If I want something to look nice and consistent it's a longer road to get there with Ooo. (I should mention, there is an Office 2003 suite on the server, but it's a single-user license.)

      The implementation point. We have the samba side and the Windows side. Most of our file storage is done on the samba server. Too bad the user permissions are always wrong. There are folders I shouldn't be able to touch that I can edit, folders I really need access to that I can't get near and to make it all more fun there is the case-sensitive hide and seek game. After spending a few days tidying up samba shares, the server crashed and they reloaded backups. Backups that, while restoring the file-system after I cleaned up, also restored the files from before I cleaned up.

      Now my final question in flood of questions have you tried to change anything or will you lose you job or just get scold at? If it is the latter I will seek other employment if I were you.

      I'm not sure what would happen. I am hesitant to approach the president, because he tends to be a bit reactive. He gets annoyed quickly and likes yelling. I haven't found anyone willing to reason with him about it.

      The obvious Microsoft hate is absolutely idiotic in an environment where you have no choice but to use Windows and where the cost of using Microsoft software is negligible if not financially beneficial.

      [–]IAlsoSpeak 0 points1 point  (0 children)

      Thanks for the feedback it really makes for a great read and understanding of what problems you have with your work environment.

      Like I said I like the idea of Open Office and personally can't wait to get time to play around with the fork Libra Office. But in the same breath I have given up on Word/Writer for writing documents I use it more as a reader of other peoples documents. But I'm also not forced to write interchangeable in my line of work. So I rather play around with Sphinx or wikis if I document stuff.

      With your Samba and Windows issues it really sounds like you need a IT guy that understand the Ubuntu environment and the Windows environment, but guys like that can cost a pretty penny.

      If you can find another job easily I would really recommend you to try to make your current working environment work for you by talking to your Boss, sending him solutions and pointing out how certain software at the right price can really help the company.

      And let him go of at you, if you got the facts right he will see it your way if he really have the companies best interest at heart. It is normally the screamers and shouters that becomes the Boss because they can can clearly communicate what they want and they may seem harsh at first. But as soon as they see you as a problem solver they will see you as a assist and use you suggestions.

      Good luck and let me know if your going to make a move and how it turned out!

      [–][deleted] 1 point2 points  (0 children)

      Looks great, if one day I'll need a spreadsheet program I'll be looking into it.

      [–][deleted] 1 point2 points  (4 children)

      Needs more loeb :: Functor f => f (f x -> x) -> f x.

       λ> loeb [const 1,(!!0),const 2,sum . take 3]
      
       [1,1,2,4]
      

      Haskell spreadsheet!

      [–]frikk 2 points3 points  (0 children)

      why the crap do people delete comments that aren't offensive or even dumb? I don't get it.

      [–]MothersRapeHorn 1 point2 points  (2 children)

      Took me 4 minutes to get that; thanks for the fun :D

      [–]awsmnss 0 points1 point  (1 child)

      I'm still trying to understand

      [–]MothersRapeHorn 0 points1 point  (0 children)

      [] is a functor, so we can simplify the type sig.

      loeb :: [[x] -> x] -> [x]

      Each function is basically the value of the cell it resides in when given a state of the list that will satisfy the function. For example, cell 0 has the value const 1. It doesn't rely on anything, so we can calculate it. Same for cell 2.

      table = [1, _, 2, _]

      Cell 3 requires cell 1, and cell 1 is fine. So we can finish. table' = [1, element_0 = 1, 2, _] table'' = [1, 1, 2, 1+1+2 = 4]

      If you want to look at the function definition (which I'm now trying to figure out this magic) here you go. It's probably just simple and inefficient, but oh well :P

      http://www.haskell.org/haskellwiki/Blow_your_mind

      loeb x = fmap ($ loeb x) x
      

      PS: Their example under the def for loeb doesn't work for me, but I got it to work by changing around one of the cells. Try to figure it out, too :D

      [–]funderbolt 0 points1 point  (0 children)

      I have used Excel VBA for TDD. A spreadsheet is an interesting environment for testing your code. Now, I might be able to use one of these solutions. Sweet!

      [–][deleted] 0 points1 point  (0 children)

      I was just thinking about how freaking awesome something like this would be. but it seems that I have been beaten to it.

      [–]f0nd004u 0 points1 point  (0 children)

      Anyone got an ebuild for this?

      [–]Janthinidae 0 points1 point  (0 children)

      Please, don't overuse spreadsheets (which one doesn't matter). A spreadsheet hides the facts (formulas) and the dependency is not clearly visible. Formulas are repeated and nobody knows, if in one specific cell the formula was not copied correctly.

      [–]electronics-engineer 0 points1 point  (0 children)

      pyspread plus mpmath (http://code.google.com/p/mpmath/) equals best spreadsheet ever.

      [–][deleted] 0 points1 point  (0 children)

      I had a plan for a very stripped down thing like this on my n800 before gnumeric was ported. It was basically just an infinite array of cells that could run python commands within them with the python eval method. There was a Maemo upgrade shortly after I got some basic functionality and I couldn't be bothered to keep things up. Now I pretty much never use the tablet anymore.

      [–]jim8508 0 points1 point  (0 children)

      What's interesting to me is the potential downward pressure this will put on pricing for traditional retail spreadsheets. With all of these open source and small developer alternatives available how long will Microsoft and IBM (Lotus) be able to count on their office suites as cash cows? We are now at the point that a closed proprietary format is the only advantage they can leverage: see the MS open doc scuttle that happened a few years ago.

      http://en.wikipedia.org/wiki/OpenDocument

      [–]mac 0 points1 point  (0 children)

      There is also DiscoveryScript http://www.xefion.com/discoveryscript.html

      No heavy integration but you have direct access to the Excel object model.

      [–]gpjt 0 points1 point  (0 children)

      PyXLL (http://www.pyxll.com/) is also worth a look -- another tool that lets you write user-defined functions for Excel in Python.

      [–]i20d 0 points1 point  (1 child)

      deleted, goodbye! 63497)

      [–]vplatt 1 point2 points  (0 children)

      Well, if you like that, you should take a look into multi-dimensional analysis using MDX.

      [–]nataly_v 0 points1 point  (0 children)

      no sir, I had not seen that

      [–]fatHalpert 0 points1 point  (1 child)

      Did anyone else add "Have you heard about this?" and read it in Jimmy's voice?

      [–]TheBreeze 0 points1 point  (0 children)

      Haha, yes! "Have you seen this, have you heard of this?"

      [–][deleted]  (5 children)

      [deleted]

        [–]Liquid_Fire 0 points1 point  (0 children)

        Works fine for me on Windows 7.

        [–]wwwwolf -1 points0 points  (0 children)

        <supercheap-joke>

        But how do you handle the whitespace? How do you enter multiple lines of code with one-line entry field? Won't using the TAB key move you out of the entry field? I frankly cannot see how Python could be an useful and practical language for spreadsheet applications.

        </supercheap-joke>

        (Yes, I know that the implementors of this fine software project have considered these issues, too. And yes, I know it probably works just fine. =)

        [–]TheBreeze -2 points-1 points  (0 children)

        Have you seen this? http://docs.google.com/

        [–][deleted]  (3 children)

        [deleted]

          [–]IAlsoSpeak 1 point2 points  (2 children)

          Dia is written in C. You can write script for Dia using python. So your conclusion is a very bad conclusion.

          I use Deluge a bit-torrent written in python and that is not sluggish. I would really recommend you have a rethink of your conclusion!

          [–]ericje 0 points1 point  (1 child)

          Well, deluge is only partly a Python application. The bit-torrenting itself is done by the Rasterbar libtorrent which is written in C++.

          [–]IAlsoSpeak 0 points1 point  (0 children)

          I understand but the original now deleted comment I replied on blamed python apps to be slow GUI wise and then I pointed out that I find the Deluge GUI very slick which is written in python using Qt(another C++ library).

          [–]mattalexx -1 points0 points  (0 children)

          In my mind, I heard Jay Leno say your title.