HACKER Q&A
📣 kamphey

Does anyone teach spreadsheet architecture?


Has anyone taken a formal class where spreadsheets and spreadsheet usage and spreadsheet architecture is taught?

High school, or college.


  👤 sp332 Accepted Answer ✓
This might not be as in-depth as you need, but Joel Spolsky's "You Suck at Excel" is a great first hour. https://youtube.com/watch?v=0nbkaYsR94c

👤 sargstuff
part 2 follow-up to ""From Memex to Hypercard" commentary:

"functional" tree structure[:

1) So, once get over the Steve Awk-ings stuff (geek stocking stuffer ideas) and want something more determinate/functional; try excel with an in-depth 80's Q-bert theme. Just rotate excell display 45 degrees[0]. Extra excel points for adding drop shadows to excel cells to create the 3d q-bert board. This is the 'diamond' screen view. See data structures information on tree traversal.

Rules/Restrictions for fetching/storing diamond screen cell data. a) ALWAYS start at top corner. b) Can not move left or right while remaining on same level. c) Starting at top, can not go lower than imaginary line at widest point. The 'determinate' line! d) 'Useful' data/values can ONLY be stored in cell if complete cell touches the determinate line.

2) Open a 2nd excel spread sheet in 'square' screen view. As traverse the diamond screen, store 'matches' in a free cell in same column. this will be an 'array of data' when diamond screen traversal is complete.

So, at the point where can introduce the 'Event Horizon' line[1] and introduce the weighty lead in to 'signed' garbage collection aka negative / posative cancellation. What OS's tag as 'swap space'.

----

[0] : https://github.com/leonicolas/ReQbert

[1] : https://www.youtube.com/watch?v=n6lDG-bP3zg

[2] : excel as a digital crt storage device : https://www.computerhistory.org/storageengine/williams-demon...


👤 gidorah
A number of years ago, I came accross the FAST standard for financial modelling, and a company F1F9 that teach financial modelling. Somewhat related I suppose.

https://www.fast-standard.org/

https://www.f1f9.com/


👤 mikewarot
Excel is, by far, the most popular programming language in the world. It's strong support of declarative programming is hard for those used to procedural programming (such as C, Python, etc.) to grasp.

It does have a few flaws when it comes to making assumptions about cell contents, and the handling of tables, but otherwise it's quite powerful.


👤 sargstuff
re: part 3 follow-up to "From Memex to Hypercard" commentary:

Could call l-systems the electronic/virtual version of 'tally sticks'[0]

[0] : https://www.computerhistory.org/storageengine/roman-philosop...


👤 sargstuff
Learning with Lucy[0], a beginner excel course.

---- curated direct links from searching hackernews / search engines on 'excel'

* excel for everything : https://benn.substack.com/p/the-next-billion-programmers

* The World Cup of MS Excel : https://archive.ph/DgDYQ

* user-centered approach to user functions in excel : https://www.microsoft.com/en-us/research/wp-content/uploads/...

* MS opens up Excel to custom data types with images, arrays and more : https://www.theverge.com/2021/11/2/22759149/microsoft-excel-...

* Lambda: the ultimate excel worksheet function : https://www.microsoft.com/en-us/research/blog/lambda-the-ult...

* lambda-2d: An exploration of drawingas a programming Language, featureing ideas from lambda calculus : https://www.media.mit.edu/projects/2d-an-exploration-of-draw...

* Using Java script functions in excel : https://www.bleepingcomputer.com/news/microsoft/microsoft-ad...

* spreadsheet as software paradigm : https://medium.com/@vlapiner/spreadsheet-is-a-software-devel...

* make excel spreadsheet behave as an integrated development environment (IDE) : https://www.youtube.com/watch?v=xY6ri3blTQM

* spreadsheets are graphs : https://neo4j.com/blog/spreadsheets-are-graphs-too/

* excel turning machine : https://www.felienne.com/archives/2974

* from recursive functions to turning machines : https://people.irisa.fr/Francois.Schwarzentruber/recursive_f...

* quick way to create an excel example to learn from -> free ai bot creates any excel formula you need : https://bgr.com/tech/game-changer-for-excel-free-ai-bot-crea...

* unusual excel uses : https://www.youtube.com/watch?v=r9PLmtQZwmY

* excel 'card layout' : https://blog.prototypr.io/secrets-of-excel-break-free-from-t...

* excell infographics : https://bootcamp.uxdesign.cc/mastering-excel-infographics-7d...

* conways' game of life simulation in excel : http://dailydoseofexcel.com/archives/2011/04/06/conways-game...

* explaining a structured excell game of life : https://www.j-paine.org/dobbs/life.html

----

[0] : https://www.learnwithlucy.rocks/courses/excel?coupon=earlyde... from https://news.ycombinator.com/item?id=31878462


👤 sargstuff
"From Memex to Hypercard"[0][1] might be insiteful digression related to 'spreadsheet architecture'.

Just keep in mind how libraries worked before the advent of the computer.

Decker[2][3] current modern take on hypercard.

various types of spreadheets with user interface (vs. use editor with a plain tabular text file):

   teapot : https://www.syntax-k.de/projekte/teapot/

   visicalc : https://www.visidata.org/

   sc-m : https://github.com/andmarti1424/sc-im
or mix files & manipulating 'spreadsheet' text files, gawk[4], webawk[5], python awk[6].

not as compact as excel, but diy gui for awk[7] with screen[8]/menu[9] or gui design courses[10]

informal discussion about moving beyond 'text' files: https://twitter.com/llama_index/status/1733653470987825452

--------

[0] : https://elearningindustry.com/memex-hypercard

[1] : https://en.wikipedia.org/wiki/As_We_May_Think

[2] : https://beyondloom.com/decker/index.html

[3] : https://news.ycombinator.com/item?id=33377964

[4] gawk : https://www.gnu.org/software/gawk/manual/

[5] webawk :

   a) https://github.com/agordon/webawk  /  https://agordon.github.io/webawk/

   b) https://www.npmjs.com/package/awkjs

   c) 'awk driven iot' : https://news.ycombinator.com/item?id=14737978
[6] pawk : https://github.com/alecthomas/pawk

[7] https://github.com/chriskiehl/Gooey

[8] screen: https://linuxize.com/post/how-to-use-linux-screen/

[9] menu : https://www.geeksforgeeks.org/menu-driven-shell-script/

[10] HN suggested gui design courses : https://news.ycombinator.com/item?id=38591437


👤 sargstuff
LibreOffice is a package of various applications usable under a common environment (including spreadsheet software, Calc).

One can then run various scripts to use/pull/push data to/from spreadsheet to other libreoffice applications (database, wordprocessor, forms, etc.)[0][1]

Specific theory not withstanding, learing how to use the various libreoffice applications together, sort of informal way of learning spreadsheet architecture.

list of libreoffice classes from internet search engine request:

https://documentation.libreoffice.org/assets/Uploads/Documen...

https://openclassrooms.com/en/courses/5873051-master-the-bas...

https://www.udemy.com/course/step-by-step-spreadsheets-for-a...

https://www.coursera.org/projects/excel-for-beginners-introd...

https://www.yaclass.in/p/science-state-board/class-8/libreof...

------

[0] : https://help.libreoffice.org/6.1/en-US/text/shared/guide/scr...

[1] : https://documentation.libreoffice.org/assets/Uploads/Documen...

[2] : https://www.youtube.com/watch?v=bgO40-CjYNY

[3] : https://www.libreoffice.org/discover/templates-and-extension...


👤 sargstuff
part 3 of "From Memex to Hypercard" commentary:

"aligning/compressing planes"

For the final installment, merge the diamond and square excel screens/sheets to align/line things (compress) using l-systems[0][1][2][3] / turtle programing[4][5][6]

Basic execl l-system concept, is each cell in given square sheet column (highlighted with color of interest) has list of all corresponding similar diamond cells of same color. each square sheet column then is a different picture, an 'l-system' picture.

The trick to finding the diamond cells to put in corresponding square cell color block is XORing square cell color checking for with each diamond sheet cell. If get no color back, then add the diamond sheet cell number to current square sheet cell list (aka no need to mess with garbage results).

[0] http://cd.textfiles.com/amigaacs/amigaacs199806/Utilities/Sh...

[1] : https://www2.cs.arizona.edu/patterns/weaving/weavetech.html

[2] : https://nathan.ho.name/posts/sound-synthesis-with-l-systems/

[3] : draw l-systems with common lisp : https://news.ycombinator.com/item?id=23919080

[4] : learning to program using python logo-like turtle : https://news.ycombinator.com/item?id=2494004

[5] : turtle graphics library (p5.js) : https://github.com/CodeGuppyPrograms/TurtleGFX

[6] : https://www.transum.org/software/Logo/

Logo for kids : https://softwareprogramming4kids.com/logo/

logo programming : https://medium.com/@isetitra/logo-language-for-windows-mac-a...

logo tutorial : https://www.tutorialspoint.com/logo/index.htm

powerfx : https://powerapps.microsoft.com/en-us/blog/introducing-micro...

which language to learn : https://www.reddit.com/r/excel/comments/9emiwd/confused_abou...

lambda, the excel ultimate worksheet function : https://www.microsoft.com/en-us/research/blog/lambda-the-ult...