return to table of content

Spreadsheets are all you need

mckn1ght
44 replies
14h31m

Brilliant idea/URL.

It’s often true though. So many things I think “I could make an app for that” I wind up just using a spreadsheet for. At least it helps me explore the use cases more deeply for when I’d want to actually take it to the next level.

I hung out with a friend while they solved Advent of Code challenges in Excel, that was a trip to watch.

pipes
15 replies
10h44m

One of my biggest weakness as a developer is that I can barely use excel. It's really embarrassing, especially since I've moved to a financial firm. Do you have any recommendations for becoming semi competent with it?

seb1204
2 replies
5h54m

There was a video from Joel Spolsky - you suck at excel. That is a good starting point

ccppurcell
2 replies
8h4m

Just an idea but how would you advise someone learning programming/a new programming language? Probably you'd say: build something with it. So same goes for excel. Try to hook up a spreadsheet to some database, have it update automatically, have drop down lists that populate automatically from the database (e.g. have a "country" drop down and automatically populate a "region" drop down based on the choice of country) and so on. You need some BASIC and SQL for this but not much

IggleSniggle
1 replies
5h57m

Oh wow. Different poster same problem. Your comment made me realize that it's the "but I don't wanna!" attitude that I already know how to push through when it comes to language learning, just disguised differently. I'm still not sure that I wanna, tho...

DrDeadCrash
0 replies
3h2m

You gotta need it ...

internet101010
1 replies
4h17m

For a best practices introduction I would recommend a course geared toward investment bankers. Some things that should be covered are:

* Avoiding hardcoding numbers, making input cells a certain color, etc.

* Knowing the all powerful F4 key that alternates between A1, $A$1, $A1, and A$1 (and knowing what each of these mean)

* Inserting blank lines above and below a summed range and including those rows inside of the sum formula (prevents formula from breaking if you move rows around)

Other than that you can do a lot of productive things with a combination of index/match and dynamic named ranges via offset formula.

throwaway2037
0 replies
2h44m

All solid advice. I learned many of these by: (1) reverse engineering other people's great sheets (formulas and VBA), and (2) watching highly skilled Excel users.

xbmcuser
0 replies
7h6m

For excel/spreadsheets etc chat gpt or google gemeni are a lot more useful than for normal programming as a lot of stuff about spread sheets is explained in easy steps for non technical people to implement so that has become a treasure trove of information for llm models.

svara
0 replies
9h42m

Try to do something slightly complicated and have GPT4 explain how to do it efficiently in Excel!

That's how I do it and it works great. I've gained a new appreciation for Excel.

plagiarist
0 replies
3h58m

All the spreadsheets have map/reduce stuff! It's the programming you are used to but you type into a box and reference variables by sheet location instead of by name.

layer8
0 replies
1h35m

Buy one (or several) of these books and read through them (pick what you find interesting): https://www.amazon.com/s?k=excel

I find I learn best from (good) books because they actually explain things coherently, and you can leaf through them to discover features and things that look interesting.

darkr
0 replies
9h20m

Try stepping into a management role for a while, ideally one in which you have lots of dealings with less technical parts of a business. Even if it's not for you, at least you'll have gained some insights into that side of things, and more importantly - lots of real world exposure to spreadsheets!

airstrike
0 replies
3h11m

- INDEX/MATCH. For all given purposes, the last parameter in MATCH() is always 0 unless you want to find the nearest match

- understanding that formulas can return arrays, not just single elements (easier in more recent versions of Excel which have made this more consistent for every formula), so you can e.g. AVERAGE(IF(A1:A100>100,A1:A100,FALSE)) get the average of the values between A1:A100 which are greater than 100. the FALSE parameter can be omitted there but I left it in for clarity. Interestingly this means AVERAGEIF() is just syntactic sugar, so I prefer to avoid it. it makes it easier to, say, change to MEDIAN(IF(...)) later, since MEDIANIF() doesn't exist

- if you combine the first two bullets above, you'll enter the fifth dimension

- don't ever hardcode a value if you can refer to it somewhere else. want to use INDEX(MATCH()) and AVERAGE to, say, take some average value over some time period? put the start and end dates into their own separate cells with no formulas, and then refer to those cells in your formula. if you later need to change the time period, you won't have to modify all your formulas, just those values

- LET() is strange at first but super powerful. most people still don't use it

- Separate data from presentation. This point can't be stressed enough. I care about it so much I'm literally building an Excel competitor to enforce this. If possible, separate raw data, data transformation and data presentation.

- most people know you can name cell ranges and refer to them in your formulas. most people don't know you can also name formulas and refer to them elsewhere. your "average value over time" calc doesn't even need to be in a cell anywhere, it can just exist as a defined value in a named range. now named ranges are hard to see (only visible if you open the name manager), harder to debug (you basically get just a #VALUE error most of the time, forcing you to copy-and-paste the named range into a cell to debug it) and they get copied to other workbooks when you copy-and-paste across workbooks, which makes them super messy.... but for short formulas they can be pretty nifty

- LAMBDA() is even more recent than LET() and basically makes named ranges more useful. even fewer people use it

Shrezzing
0 replies
7h45m

The MS documentation for Excel is a pretty good resource to learn from these days, with text descriptions for just about every function, and videos for most too. This page [1] is an especially great resource. It's got a "top-10" list, which is a good place to start, as it covers the majority of things you'll see in a normal business document.

After those 10, they break them down by category, and have one for Financial Functions, which is going to be useful for you. Similarly, the Logical, Math & Trig, and Stats functions, will all be useful for looking at a Finance firm's spreadsheets.

[1] https://support.microsoft.com/en-gb/office/excel-functions-b...

makeitdouble
10 replies
9h33m

I wonder at what point we stop calling them "spreadsheets" though.

You mention Excel, and a bunch of us do it Google Sheets, but at this point it's not about sheets of data anymore and more about the interface and runtime, and we have full applications running in it.

I remember a colleague running API tests inside his Excel sheet to more easily check for the different parameter combinations, but telling everyone he was still using Postman just to avoid discussing it.

kitd
5 replies
5h37m

A spreadsheet is really just an easily accessible, visual, functional programming environment. I think the question is not how to make spreadsheets more programmable, but how to make programming IDEs as simple as spreadsheets.

DonHopkins
4 replies
5h1m

From the discussion of Brad Myers' classic 1990 paper (originally published by the ACM CHI conference in 1986, then updated in 1990 in the Journal of Visual Languages & Computing), "Taxonomies of Visual Programming and Program Visualization" (where Brad dropped by to answer questions):

https://news.ycombinator.com/item?id=26057530

https://www.cs.cmu.edu/~bam/papers/VLtax2-jvlc-1990.pdf

https://news.ycombinator.com/item?id=26061576

Brad Myers' paper answers the age-old argument about whether or not spreadsheets are visual programming languages!

Google sheets (and other google docs) can be programmed in "serverless" JavaScript that runs in the cloud somewhere. It's hellishly slow making sheets API calls, though. Feels like some kind of remote procedure call. (Slower than driving Excel via OLE Automation even, and that's saying something!) Then it times out on a wall clock (not cpu time) limit, and breaks if you take too long.

A CS grad student friend of mine was in a programming language class, and the instructor was lecturing about visual programming languages, and claimed that there weren't any widely used visual programming languages. (This was in the late 80's, but some people are still under the same impression.)

He raised his hand and pointed out that spreadsheets qualified as visual programming languages, and were pretty darn common.

They're quite visual and popular because of their 2D spatial nature, relative and absolute 2D addressing modes, declarative functions and constraints, visual presentation of live directly manipulatable data, fonts, text attributes, background and foreground colors, lines, patterns, etc. Some even support procedural scripting languages whose statements are written in columns of cells.

Maybe "real programmers" would have accepted spreadsheets more readily had Lotus named their product "Lotus 012"? (But then normal people would have hated it!)

I Was Wrong About Spreadsheets And I'm Sorry:

https://www.reifyworks.com/writing/2017-01-25-i-was-wrong-ab...

Excerpt from "Taxonomies of Visual Programming and Program Visualization", by Brad A Myers, 1990/3/1, Journal of Visual Languages & Computing, Volume 1, Issue 1, pages 97-123:

Spreadsheets, such as those in VisiCalc or Lotus 1-2-3, were designed to help nonprogrammers manage finances. Spreadsheets incorporate programming features and can be made to do general purpose calculations [71] and therefore qualify as a very-high level Visual Programming Language. Some of the reasons that spreadsheets are so popular are (from [43] and [1]):

1. the graphics on the screen use familiar, concrete, and visible representation which directly maps to the user's natural model of the data,

2. they are nonmodal and interpretive and therefore provide immediate feedback,

3. they supply aggregate and high-level operations,

4. they avoid the notion of variables (all data is visible),

5. the inner world of computation is suppressed,

6. each cell typically has a single value throughout the computation,

7. they are nondeclarative and typeless,

8. consistency is automatically maintained, and

9. the order of evaluation (flow of control) is entirely derived from the declared cell dependencies.

The first point differentiates spreadsheets from many other Visual Programming Languages including flowcharts which are graphical representations derived from textual (linear) languages. With spreadsheets, the original representation in graphical and there is no natural textual language.

Action Graphics [41] uses ideas from spreadsheets to try to make it easier to program graphical animations. The 'Forms' system [43] uses a more conventional spreadsheet format, but adds sub-sheets (to provide procedural abstraction) which can have an unbounded size (to handle arbitrary parameters).

A different style of system is SIL-ICON [49], which allows the user to construct 'iconic sentences' consisting of graphics arranged in a meaningful two-dimensional fashion, as shown in Figure 5. The SIL-ICON interpreter then parses the picture to determine what it means. The interpreter itself is generated from a description of the legal pictures, in the same way that conventional compilers can be generated from BNF descriptions of the grammar.

10. Conclusions

Visual Programming and Program Visualization are interesting areas that show promise for improving the programming process, especially for non-programmers, but more work needs to be done. The success of spreadsheets demonstrates that if we find the appropriate paradigms, graphical techniques can revolutionize the way people interact with computers.

https://news.ycombinator.com/item?id=26061279

By the way, something I always meant to ask you, Brad: How does "C32" fit into your acronym theme of gemstones and rocks? Is it a teeny tiny 4x4x2 carbon atom block of diamond? How many carats would that be?

Brad Myers wrote several articles in that book about his work on PERIDOT and GARNET, and he also developed C32:

C32: CMU's Clever and Compelling Contribution to Computer Science in CommonLisp which is Customizable and Characterized by a Complete Coverage of Code and Contains a Cornucopia of Creative Constructs, because it Can Create Complex, Correct Constraints that are Constructed Clearly and Concretely, and Communicated using Columns of Cells, that are Constantly Calculated so they Change Continuously, and Cancel Confusion

Spreadsheet-like system that allows constraints on objects to be specified by demonstration. Intelligent cut and paste. Implemented using Garnet.

http://www.cs.cmu.edu/~bam/acronyms.html

nox101
1 replies
2h1m

It an very different definition of visual programming to claim a system where you don't actually see the code is "visual programming”

In a text based language you see the code as text

In visual programming you generally see the code as a connected graph of nodes like Unreal Blueprints

In most spreadsheets you don't see the code. it's all hidden as formulas in cells and all you see is the result of each formula.

I'm not saying a spreadsheet isn't a programming environment but it's hard to see it as "visual programming" to see at most one line at a time

mcbishop
0 replies
1h33m

Seeing all formulas in Excel is a menu-button click away:

Formulas tab > Formula Auditing group > Show Formulas button

sillysaurusx
0 replies
2h24m

This is by far the most comprehensive overview of spreadsheets related to programming that I’ve ever seen. Thank you for putting this together.

DuncanMak
0 replies
1h12m

There's also this paper by Alan Kay that talks about the power of spreadsheets:

https://worrydream.com/refs/Kay_1984_-_Computer_Software.pdf

The dynamic spreadsheet is a good example of such a tissuelike superobject. It is a simulation kit, and it provides a remarkable degree of direct leverage. Spreadsheets at their best combine the genres established in the 1970's (objects, windows, what-you-see-is-what-you-get editing and goal-seeking retrieval) into a "better old thing" that is likely to be one of the "almost new things" for the mainstream designs of the next few years.
wil421
1 replies
8h51m

You can feed postman a CSV to test parameters with. You can also do it on the CLI with Newman.

makeitdouble
0 replies
8h19m

Once you've decided to go with Excel it becomes pretty different from just feeding an array of values. You can autogenerate the combinations applying rules on what to avoid, fuzzy the values, get the result of an API transform it and feed it to another API etc.

I'm not recommending any of this, but it can go as far as you want...

thelittleone
1 replies
9h19m

I think it still becomes about the data. If using a sheet as an app particularly with sharepoint, data integrity and merging multiple users often becomes a problem.

I run one for a financial services firm and often get "excel couldnt merge changes, want to save a copy or discard". We tested this out, 2 users make editing different sheets on a single excel workbook hosted on sharepoint and excel can't figure out how to merge. If someone is on VPN and connection drops this also often occurs.

DonHopkins
0 replies
4h40m

This is why for all its faults and limitations, Google Sheets is astronomically better than Excel for collaboration. There is one single source of truth, will full change history and undo-redo of the entire spreadsheet or individual elements, plus comments and chat.

ramses0
4 replies
6h11m

Check out "Google AppSheets". I've only scratched the surface while investigating other stuff but it's basically "drag-and-drop mobile GUI builder w/ sheets as a backend". If it were 2005 it would SLAY so much code. As it is, it seems really useful but the outcome seems a bit generic for modern tastes.

wycy
2 replies
5h59m

This seems quite hidden. Googling "google appsheets" results in "did you mean 'google sheets'?" and showing only results for google sheets unless you specifically then request AppSheets.

It sounds cool, but I'd hate to rely on it since Google will probably shut it down.

rqtwteye
0 replies
1h10m

I am not using them so it should be ok for now. Once I start using them it’s almost guaranteed that they will shut down that service.

iLoveOncall
0 replies
4h30m

Seems to be because the actual name is AppSheet and not "Google AppSheet" (even though it is mentioned in this way on their website in some places).

Requesting just "AppSheet" gives the right result.

greenie_beans
0 replies
5h55m

love appsheets, very powerful.

yreg
2 replies
3h15m

Our company used to run completely on Google spreadsheets (a lot of it was written by the CEO). It worked, but at some point, it became a convoluted unmaintainable mess.

First, we partially switched to Airtable, but soon abandoned it in favour of our own internal node/python tools. The company is now a lot larger and the tools are more robust/capable/clean now, but at the same time, they are much less flexible than the old spreadsheets.

throwaway2037
0 replies
2h45m

Why is this downvoted? Many Wall Street fixed income trading desks were the same before 2010. What you wrote is true for many different types of businesses. A huge amount of sales (customer management) tools are written in Excel/VBA. They work well. It is a great platform.

rqtwteye
0 replies
1h6m

“ they are much less flexible than the old spreadsheets.”

I have seen that several times while I was a consultant. People run their stuff on spreadsheets. It’s a big mess but things get done . IT comes in and starts producing “professional” systems. Months of requirements gathering, then they deliver something. It’s not 100% right so people need to write tickets. IT may or may not make the changes. If they make a change it takes forever. People still need to do their job so they go back to spreadsheets.

asabla
2 replies
10h55m

I hung out with a friend while they solved Advent of Code challenges in Excel, that was a trip to watch.

That sounds wild. Do you or your friend have anything to share about this?

skipants
1 replies
3h6m

I'm confused... are you just commenting on the name of the website itself or the content?

The content itself is about demonstrating how an LLM/Neural net works using a spreadsheet and is a play on the title "Attention is All You Need". It has nothing to do with using a spreadsheet for most of your use cases.

bunderbunder
0 replies
2h38m

And the author's comments on the difficulty of doing matrix multiplication in Excel suggest that he doesn't _actually_ believe that spreadsheets are all you need.

ianand
0 replies
9h49m

LOL that’s totally me. Thanks for posting.

puppymaster
0 replies
13h14m

it's like all the current gaga over RAG and vector dbs when the real ones just use numpy to prototype

ianand
0 replies
13h6m

Brilliant idea/URL.

Thanks! There's a truth to the name beyond just the play on the transformers paper. Definitely have thought about how many SaaS apps could be a spreadsheet and vice versa and often use them to create mini-apps (often via apps script).

tombert
13 replies
5h48m

I occasionally need to loan people money, and usually they need to pay me back in multiple payments, sometimes over several months.

Being a proper geek, my first inclination was to build a web app to keep track of that and so the people I am loaning cash to can also view their balance, but I realized that would involve maintaining state and login creds and a bunch of other variables I haven’t even considered, and maintaining this app would become a second, unpaid job.

Then I thought “I could just use a Google sheet and share it”, which is what I ended up doing. It’s easy to set permissions, I don’t have to worry about hosting, I can have it do any amount of arithmetic and light programming that I might need, as well as being automatic and reactive as I add information. It will be slower than something I would write in C obviously, but realistically for something involving budgeting the time savings will be on the order of milliseconds.

I love spreadsheets. They provide a gateway to programming for non-programmers, and they provide a low-effort means of playing with data.

anonymouse008
2 replies
5h13m

Discernment is an earned virtue. Knowing when to build and when to borrow is akin to a great filter in builder culture, congrats on making it through

tombert
1 replies
3h16m

I do think that there's sometimes value in reinventing the wheel. Sometimes your goal is to figure out how a wheel works, or you think you have a better design for a wheel, etc.

In this case, I don't think anything I'd do is going to be revolutionary, and I don't think I would have learned at that much, so Google Sheets was great.

anonymouse008
0 replies
1h3m

Aye - your discernment is strong ;)

LtdJorge
2 replies
5h15m

I think you told your experience based on the "spreadsheets are all you need" title. I don't know if you know this, but it's a play on the "Attention Is All You Need" 2017 paper by Google which introduces transformers, the building block of LLMs.

tombert
0 replies
3h17m

That's what I get for not fully reading the article. Thanks for the reference, I have some reading material tonight.

Still, I meant everything I said about spreadsheets :)

LtdJorge
0 replies
5h7m

Now I noticed it does say so at the bottom of the page...

pqwEfkvjs
1 replies
4h9m

How do you deal with people who don't pay back in time or ever? What's your favourite tool for dealing with such situations?

tombert
0 replies
3h18m

Mentioned in a sibling reply, but the money I loan is to either close friends or family members or in-laws. I know them well enough to know that "not paying me back" really isn't on the table.

In regards to "not paying on time", these are friends and family, so it's not like I'm going to go break their kneecaps or anything; if they're a bit short on the payment date we just push it back.

ishtanbul
1 replies
5h28m

Its not an unpaid job. Presumably you are charging interest. You just dont have the scale of a bank to make money changing anything close to market rates.

tombert
0 replies
3h28m

These are family members and/or in-laws, I'm not charging interest to them, so if you count inflation it's actually costing me money.

So it would absolutely be a second unpaid job, but I'll admit that I didn't specify why.

_fat_santa
1 replies
5h11m

Tangential but I've been thinking about building a real-estate calculator after my first homebuying experience, something that will provide you with a total cost of ownership, points bydowns and other useful metrics about a home purchase. Rather than jumping into a web app to start building, I've been prototyping it in Excel. I found it really cool for prototyping this type of app, I built my entire "MVP" in about an hour and now just evaluating all the "features" I've added before committing to transplanting this into a webapp.

tombert
0 replies
3h12m

Yeah, at this point for a lot of the more "number heavy" things I do, my first version is generally in Google Sheets to get a rough prototype and to make sure my math is basically correct, and then a port to Julia.

The hyper-interactive nature of spreadsheets makes them kind of genuinely fun to tinker with. You can see results immediately, and you have enough logic (even in just the vanilla cells, not even counting JS or VBA) to implement a lot of algo stuff.

LecroJS
0 replies
3h55m

Well said. This can go even further by defining JavaScript code as functions in a sheet. For example, if someone pays you back, you click a checkbox in the corresponding cell, and it runs your code to send them a thank you email.

ianand
7 replies
13h9m

Creator here. Thanks for posting this! Happy to answer questions or take suggestions and hope it helps folks better understand LLMs.

Next video will be on embeddings and hopefully done soon-ish.

anhner
2 replies
10h27m

Thank you so much for doing these videos, I learned a lot today. You have a talent for teaching! If you don't mind me asking, what is your background?

ianand
1 replies
10h6m

Happy to help and thanks! Do let me know how the material could be better. Always looking to improve it.

To answer your question:

EECS Major in college; 20 years of engineering and product management experience. I have given a few technical talks at conferences and I do enjoy the process of explaining things though it takes a surprising amount of work.

When I went to school ironically neural nets were the one thing they didn't cover in the intro to AI courses. I've basically learned modern AI from just filling my own curiosity over the years through online resources on nights and weekends. Learned a lot from Jeremy Howard's Fast.ai and Andrej Karpathy's stuff just like everyone else. I really wanted to know how every step of GPT worked, kind of like how you learn Computer Architecture in college: you learn how CPUs work in principle starting with circuits. Then I got a crazy idea the whole model could fit in a spreadsheet because well I just really like spreadsheets. Went down a 2-3 month rabbit hole in my non-existent sparetime to make it work.

anhner
0 replies
9h23m

The passion and curiosity you have for the topic are palpable in the videos. Thank you again for also sharing with us your exploration into this learning endeavor.

krick
1 replies
2h1m

RSS would be really nice.

burkaman
0 replies
1h38m

Not 100% sure this will work, but there is a Mailchimp signup, and Mailchimp newsletters have RSS feeds. Based on the newsletter URL the RSS feed should be https://us21.campaign-archive.com/feed?u=96d33fd949860389358.... There's nothing in there yet but I would expect posts to show up if they start sending out emails.

okokwhatever
0 replies
10h32m

We need more people like you. Thank you.

enahs-sf
0 replies
4h16m

moovweb mafia strikes again

intalentive
5 replies
13h44m

Jeremy Howard has been using spreadsheets to teach NNs for years. Instructive and intuitive.

ianand
3 replies
13h14m

Author here. Yes, Jeremy Howard and fast.ai was one of the inspirations for this! I'd actually be curious what he thinks of the project if he ever sees it.

jph00
2 replies
12h24m

He thinks it's really amazingly cool! :D

I'm so happy to hear that I had some part to play in inspiring such a marvellous project.

ianand
1 replies
12h15m

Oh wow!! Thanks!!

Whiteshadow12
0 replies
10h3m

The beauty of HN is interactions like this.

hinkley
0 replies
43m

Reminds me of Standup Maths using colored spreadsheet cells to paint an image.

nxobject
4 replies
9h18m

Now we wait for a GPU-accelerated Excel calculation engine to close the loop.

tombert
3 replies
5h45m

I had a coworker who had the idea of having a system that automatically compiling xlsx files to Apache Spark, so that you could have the easy interface of Excel while having the processing power of Spark to crunch bigger data sets.

He actually quit the company to build it; I should find out what came of that.

LtdJorge
2 replies
5h9m

Well, there are spreadsheet backends using Apache Arrow for storage. You could use something like pola.rs or Arrow DataFusion + Arrow Ballista for distributed processing of the dataset.

tombert
1 replies
3h9m

Wait really? Which spreadsheets? I want to play with this!

breckognize
0 replies
1h59m

rowzero.io

thunfischtoast
2 replies
5h47m

Jokes on you, my Excel regularily thinks that two cells are not equal, despite both of them having exactly the same value and type (also no trailing spaces or these things). Copy and pasting it around sometimes solves the problem, but it never is apparent to me why that happens.

tombert
0 replies
5h42m

Shot in the dark, but could this be some kind of IEEE floating point rounding shenanigans? Never had that issue in excel specifically, but I’ve certainly had that issue in C when trying to compare two floats that should be equal.

airstrike
0 replies
2h7m

another shot in the dark but it could be different data types. some numbers can get stored as text when you import them. you can try wrapping your operands in VALUE() or TEXT() formulas accordingly

other than that, I agree with the other poster and the only issue I can think of is due to having a different number of digits after the decimal point causing some rounding error when comparing floats

kitd
1 replies
5h41m

Reminds me of way back when I wrote a simple 8086 assembler in Lotus 123. It even worked for simple uses.

DonHopkins
0 replies
4h31m

Lotus 123 would have been more popular with programmers if it were named Lotus 012.

brnt
1 replies
9h9m

I'm not a big Excel user, but I see errors that I get when I type in English function names while using a non-English version of Excel. Is it correct that functions (and thus this xlsb file) are not portable to other language versions of Excel?

c-linkage
0 replies
3h7m

It's been my experience that Excel spreadsheets are not transferable from one locale to another. Maybe there is a "culture-invariant" version of a spreadsheet but I haven't found it.

rokhayakebe
2 replies
14h11m

Maybe purchase sayn.ai. Saayn.ai is unvailable.

ianand
1 replies
13h9m

I'm a bonehead. I did buy saayn.ai but forgot to redirect it. Fixed now. Thanks for pointing it out.

KMnO4
0 replies
1h11m

I'm impressed by your investment into this. That's already a couple hundreds dollars (per year) on just the domains.

emmelaich
2 replies
8h10m

Related? I was copy'n'pasting a few chars from one column from to another in gsheets.

Gsheets intuited that I wanted to do this multiple times and offered this formula:

=RIGHT(A7,LEN(A7) - (FIND(CHAR(160),SUBSTITUTE(A7," ",CHAR(160),2))))
sebastiennight
1 replies
7h43m

Wait... this... outputs the right-hand part of a cell in column A that follows the second space character in the string?

How is that related to anything?

Was it, at least, the correct formula for your need?

emmelaich
0 replies
7h33m

I presume it was the AI/ML part watching me doing the manual stuff and automating it, which is cool.

Yes it was correct.

It gave me 43h0m from "08 Jan 43h0m". Obviously over a column. I was able to adjust that to give me time durations.

decafninja
2 replies
11h40m

Classic scenario in legacy finance tech: the hotshot trader or investment banker shakes his fist furiously demanding to be given back his Excel spreadsheets and the entire tech department be fired.

denimnerd42
1 replies
3h57m

regulators would like a word.

michaelcampbell
0 replies
2h52m

Not any more; they're overworked and underpaid and have little to no authority in our new reality.

MichaelZuo
2 replies
10h56m

Aside from the minuscule context length, it also lacks the instruction tuning and reinforcement learning from human feedback (RLHF) that turn a large language model into a chatbot.

Is RLHF even strictly necessary?

littlestymaar
0 replies
10h13m

By default it's just going to be a text completion model, you want an additional round of training to make it behave like a chatbot. I guess you could probably get away with just fine-tuning on chatbot discussions, but everybody uses RLHF so I guess it must be much more efficient for that.

ianand
0 replies
10h25m

Strictly necessary? Maybe not. I wrote that before URIAL [1][2]. I actually haven't tried URIAL in GPT2 small but I need to give it a whirl. Might be too small a model to work?

Even if URIAL works with GPT2 small, the really small context length in the Excel file as currently implemented will make it hard to leverage. I've considered a more flexible implementation to support a longer context length (e.g. using Macros to build the layout of the sheet) but have prioritized the teaching videos first.

[1] https://allenai.github.io/re-align/index.html [2] Summary https://twitter.com/intuitmachine/status/1732089266883141856

throwaway14356
1 replies
13h20m

sentient spreadsheets, i don't think ill be able to sleep now.

thomashop
0 replies
11h31m

sentient spreadsheets. i love it. can I use that as my next band name?

mrfakename
1 replies
2h48m

Wow! Impressive. How did they manage to fit GPT-2 in a spreadsheet?

A question for the author: will it be open sourced?

bunderbunder
0 replies
2h41m

It's GPT-2 Small, which is only ~125 million parameters. That's big, but it's not out of reach for modern versions of Excel. The final spreadsheet is a 1.25GB file.

There's a GitHub link on the page: https://github.com/ianand/spreadsheets-are-all-you-need

macrolime
1 replies
8h23m

Any way to try it without an Office 365 subscription?

Alifatisk
0 replies
3h38m

I think Office for web is free

keybits
1 replies
8h41m

What about Google Sheets? > This project actually started on Google Sheets but the full 124M model was too big and switched to Excel. I’m still exploring ways to make this work in Google Sheets but it is unlikely to fit into a single file as it can with Excel.

I wonder if it would work in https://rowzero.io/home ?

breckognize
0 replies
2h4m

Founder of Row Zero here. We can handle it. We can scale your workbook to more memory/cores if the defaults aren't enough.

brcmthrowaway
1 replies
11h32m

Why can't a spreadsheet implement GPT-3 or GPT-4?

xyzzy_plugh
0 replies
13h9m

Spreadsheet, tensor... same difference.

wsc981
0 replies
14h5m

Awesome stuff.

The introduction video on the page is very nice indeed to get a basic idea on the inner working of the Excel sheet.

taco-hands
0 replies
8h6m

This is a great project! Just forwarded to 7 people to help them work through LLMs. Kudos.

russellbeattie
0 replies
10h28m

Breakout inside Google Calendar, an LLM inside Excel... What's next, a VR environment using Slack?

ponector
0 replies
7h25m

It is truly amazing!

Funny thing is that excel can do such thing but cannot replace dates within the sheet. For example on Windows in Office 2021 if I want to replace text cell which has value 2023-10-10 with new value 2023-10-11 I have only two options as the result: 10/11/2023 or 45210.

low_tech_punk
0 replies
1h33m

Spreadsheet is the grandfather dataframe

krunck
0 replies
3h13m

Doesn't work in LibreOffice. Doesn't work with web Excel(too big).

jrockway
0 replies
13h55m

An AI company going for investment banks as customers, eh? Pretty smart idea!

jhanoncomm
0 replies
7h49m

Damn why didn’t I think of that! Well done. And I wonder if in memory spreadsheets are similar to (and as efficient as) Pytorch Tensors anyway!

godzillabrennus
0 replies
14h10m

Harper Reed said this at an 1871 event after Obama got his second term.

enahs-sf
0 replies
7h18m

worked with Ishan back in the day at Moovweb and he is truly a genius and had ideas way ahead of their time when it came to the web!

arh5451
0 replies
9h4m

Super cool stuff!

analog31
0 replies
47m

Now instead of "it's just curve fitting" I can tell my friends "it's just a spreadsheet."

Prcmaker
0 replies
11h1m

Cool, the modern equivalent of 1-800-i-really-enjoy-carpeting.