PicoCalc: A fully-functional clone of VisiCalc for the PICO-8(lexaloffle.com) |
PicoCalc: A fully-functional clone of VisiCalc for the PICO-8(lexaloffle.com) |
> The VisiCalc program was born out of the observation that many problems are commonly solved with a calculator, a pencil, and a sheet of paper — three nearly universal tools. Calculating sales projections, income taxes, financial ratios, your personal budget, engineering changes, cost estimates, and balancing your checkbook are done with these tools.
I've never thought of the spreadsheet as the computer equivalent of paper, pencil, and calculator.
That might sound odd, but coming from a programming background, I've always viewed it as some sort of limited-database-with-limited-scripting-abilities. I've even felt bad about using spreadsheets sloppily – not structuring data properly, applying formulae systematically, etc.
But "electronic paper, pencil, and calculator" does explain exactly how I often end up using spreadsheets, and now I know I shouldn't feel bad about it anymore!
The innovation of the computer spreadsheet program is being able to put formulas in cells and auto-update and reference them elsewhere, all of which previously had to be done by hand (and with an eraser handy).
Few apps for Linux and Android: TreeSheets[0], µMath+[1], Xournal++[2].
[0] https://strlen.com/treesheets/
[1] https://f-droid.org/en/packages/com.mkulesh.micromath.plus/
A general use string type being the current default, there’d be lots of benefited use cases to locking down rows (heading rows aside) as having to be safe format, or a number etc.
Following some strict "best practices" when using spreadsheets gets you 80% of the way there. The other 20% is functionality that doesn't exist yet, but can be done.
In the end, most of the time, our day to day needs can be covered by very simple software - text editors, spreadsheets, messaging (including email), threaded discussions, and not that much else.
Here is one by the inventor of VisiCalc, Dan Bricklin, on github: https://github.com/DanBricklin/socialcalc
Audrey Tang (who happens to currently serve as the Minister of Digital Affairs of the Republic of China (Taiwan)) created the Node.js port of SocialCalc, EtherCalc: https://github.com/audreyt/ethercalc
Audrey made a fascinating write up of SocialCalc for The Architecture of Open Source Applications https://aosabook.org/en/v1/socialcalc.html
https://twitter.com/radiofreejohn/status/780664363631935488
and
For those who have used TIC-80 or PICO-8 to introduce their young (e.g 7yo) kid to programming by modifying games, what games did you start with? And any other tips?
Is a spreadsheet even necessary on the go? Might be better to just have a calculator and store values in a text file?
Also, music? Or is this really a luxury? Truthfully I think yes. But maybe there are some "sound programs" which are "necessary" (like white noise generation)?
I'm sure a lot of us have had this line of thinking many times, but it'd be nice to have a discussion around it :)
You might be right technically, but one of the features of a spreadsheet is that it stores formulae. (Like a programmable calculator.) Even better, it does it spatially (which fits the way many people remember things), so after a while you can train yourself to put "kilometers driven here, amount of liters of gas there, and your gas usage per 100km is over there" etc. You can do this in a text file, too, of course (see e.g. https://www.gnu.org/software/emacs/manual/html_node/calc/Emb...), but a text file is essentially 1-dimensional, which may be a drawback here.
Necessary, no, not by any means. But it is certainly a very-nice-to-have. Something far simpler than Excel would do but as it runs on my phone and I have a licence, why not?¹
> just have a calculator and store values in a text file?
That would be something new to learn and/or a manual process.
I use spreadsheets for little repetitive calcs, or even non-repetitive ones that I want to remember after I've lost the bit of paper from my pocket that they'd otherwise be on. This doesn't happen on-the-go often, but when it does it is handy to have something that lets me go back and edit the calcs easily, and automatically keeps the results rather than me copying them from calculator to notepad. The middle ground that is a logging calculator app could deal with some of these use cases, of course, as long as it has the range of functions a reasonable spreadsheet has (usually I'm just totting up money, but sometimes time-base calculations are useful, or unit conversions (though 1.609 sticks in my mind better than I remember what Excel's CONVERT() function calls miles so usually those are done from memory not with a built-in function), and so on).
--
[1] other than the fact it seems to have sync problems, so I never trust it to edit workbooks created elsewhere
I'd say music is fair. The notion of using a desktop computer to listen to music was always a bit strange to me.
Also, a phone, because it's very useful to remain connected (I instruct everyone who works with me that, if they want synchronous responses, they should phone me. All other are asynchronous with low QoS.
I think there's still a ton of room for spreadsheet tech to evolve, but nobody seems to really be trying anymore, because Excel is the Gold Standard that everyone seems comfortable with.
for example: why do neither of the mainstream spreadsheet apps (Excel, Google Sheets) have first-class support for row and column headers? seems like an absolute no-brainer to me, and everyone who has worked in spreadsheets for more than thirty minutes.
The web version was mostly replete last I used it half a decade ago, including realtime collaboration with mac and iOS.
Excel provides Tables for that. Outside tables, you can define named row or column ranges, and reference them by name, including their intersections. The names are just not displayed in the headers (use Tables if you want that).
The other name's familiar too. (Looked it up) Audrey Tang also started Pugs which prototyped Perl6 in Haskell while it was being designed.
Dual license CPAL + Artistic.
They are both OSI approved, but uncommon.
We did two games by following tutorials on youtube. Platformer tutorial: https://www.youtube.com/watch?v=q6c6DvGK4lg&list=PLyhkEEoUjS... and also a top down adventure game: https://www.youtube.com/watch?v=J1wvvbVQ5zo
My daughter is 12, so things are different, but we didnt go much further than that with pico8. We moved to python then arduino/microbit/etc and then to c and now to riscv assembler, and will circle back to python in a year or so.
When she was 7-8 we spent more time with physical things, arduinos and etc (clap and light turns on kind of things) like this one: https://www.youtube.com/shorts/EVXavpNGYEc
completely offtopic:
My dream is to build a super cheap child friendly computer, that the kids can build themselves, has a software keyboard that directly polls the gpio pins so that kids can modify their keyboard instead of having a keyboard controller (just so there is less mistery in what happens when a key is pressed). And the OS is something inspired from LEAP: https://www.youtube.com/watch?v=o_TlE_U_X3c that allowing you to evaluate code and apply it to your current file. A bit like your LOAD81 but with text.
I have a prototype now: https://github.com/jackdoe/programming-for-kids/blob/master/... but it has a long way to go.
I was about 10 then. I hope my son (7yo) starts to find this stuff interesting soon.
Daniel Shiffman has a YouTube playlist of various videos about making games with p5.js [2].
There is also p5play [3], which was made specifically for educational game development.
[1] https://p5js.org
[2] https://www.youtube.com/watch?v=AaGK-fj-BAM&list=PLRqwX-V7Uu...
(Text is the safe string format that isn't as "magic" as General, the default. It's also the type you get if you use the " prefix in General.)
It's interesting to note here that the weird "magic" of Excel's default General "type" is pretty directly VisiCalc's fault because they had similar types but wanted to keep entry "simple" and decided to just guess types as people wrote cells with a handful of special character prefixes to override types. That legacy will likely forever live on. Excel could name General "VisiCalc Backward Compatibility" and it wouldn't entirely be wrong.