Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Building Tic-Tac-Toe in a Google spreadsheet [video] (youtube.com)
80 points by rarescruceat on March 12, 2017 | hide | past | favorite | 26 comments


A few years ago I wrote a Minesweeper clone in Google Spreadsheets: https://docs.google.com/spreadsheets/d/1367o4BYYNynmMan_1I5x...


That is very cool! I'll mention it at the end of the series. Might come back to doing something with Apps Script some day!


I love that he makes real mistakes and then shows how to debug them (using docs, debug output, etc).


I am glad you liked it! I also really enjoy watching people build things, and I am always more interested in the journey than the result.


Makes one wonder about an IDE that use grids like that, but where one can grow multiple sheets/regions as needed without disrupting what exist already.


Like insert cells, shift existing cells right or down in Excel?


yep. Thing is that this is likely to break existing formulas etc at the best of times.

Its funny how it seems only Apple has a spreadsheet the offers free floating "sheets", but there it seems to be treated more like a presentation/layout refinement (meaning that even the "humble" spreadsheet is basically a tool for desktop publishing).

I do believe Excel and others have the ability to reference cells from other sheets, but that still means having to flip between them to keep things in sync.


Formulas will only break if you got them wrong, usually if you confused relative and absolute addressing. Or if you perform your own cell address calculations and the cells are no longer where your formula says. I am pretty sure it is almost always not the fault of Excel.


Yup. A few rules I try to follow when designing spreadsheets that will be used for more than 15 minutes:

- Any cell that contains a numerical value (as opposed to a formula) is highlighted. All such cells are at the top of the first sheet.

- Never ever use VLOOKUP or HLOOKUP, as inserting columns or rows will break them. Use INDEX and MATCH instead.

- Never use OFFSET, as it's a 'volatile' function, meaning Excel will recalculate the value for any cell which contains it, if any value in the sheet changes. Use INDEX instead.

- When you're tempted to enter a value directly in a formula (e.g. when you divide by 12 for the number of months in a year), just don't do it. Move the value to an input cell. This goes also for parameters in an OFFSET formula.


I did some of that in part 2! For the most part, it is smart enough to do the right thing for simple operations like cut and inserting rows/columns, however they are indeed some edge cases that it doesn't handle well.


That was fun, easy to understand and informative. He shows how he debugs real errors and builds a decent product pretty quickly. The only complaint is that his voice was drowned in music in the intro.


Thanks for the feedback! I fixed that in part 2.


rly? #13?


This is almost impossible to listen to. If one must have background music in a video, use some god damn sidechain compression. Or even better, drop the music. /rant

Aside from that - awesome.


What is sidechain compression?


you put a compressor on the background music with the sidechain input set to the channel your microphone is on, so when you speak the music is automatically pushed to the background and you can actually hear the mic.


What the other poster is describing is more commonly called "ducking". https://en.wikipedia.org/wiki/Ducking

The secondary audio (background music) automatically lowers when the primary audio (narration) is active. It allows the narrator to talk over the background music without being muffled by the music.

An automated way to do this is in audio production is by using the sidechain input of a dynamic range compressor. https://en.wikipedia.org/wiki/Dynamic_range_compression#Side...


Rather than having voice over and background music clashing at the same volume levels, the music level would decrease whenever the voice over signal is active.


Thanks! Confusing because I think "bitrate" when I hear "compression" but it actually refers to the volume level.


In this case, it's basically where when the presenter is speaking, the music quiets at the exact moment, so you can hear more clearly but still have the music.


Thanks for the feedback! I fixed it in part 2, let me know if it's still an issue for you. Also, I did not know that's how it's implemented in real life (learned it from this thread). Perhaps I should try building that in Web Audio in another series!


And it you're adding the music after the speech is recorded, you can use look-ahead so the music can fade out gently before each piece of speech instead of having to abruptly cut off to avoid obscuring it.


Url changed from http://chancancode.tv/tic-tac-toe-1, which redirects to this.


Note: redirect to auto-playing YouTube video. Please add "[video]" to the title.


Sure.


It seems to me that this would be a lot easier by just using Apps Script.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: