Hacker News new | past | comments | ask | show | jobs | submit login
The World Excel Championship is being broadcast on ESPN (ladbible.com)
517 points by dmitryminkovsky on Aug 10, 2022 | hide | past | favorite | 152 comments



Oh hey, I've been in two of FMWC's live competitions (though not this one) and their regular offline almost-monthly competitions.

VBA is allowed - I've used it but no one else seems too. Power Query and LET/LAMBDA is a little more common and named ranges (variables) even more common.

It's fun but going into the challenge blind is so stressful. What if your brain goes blank and you can't figure out where to begin? But there should be another Open live tournament this November or so with cash prizes, check it out.


> What if your brain goes blank and you can't figure out where to begin?

Hah, this is me with many interview questions, because you rarely ever get something like: "How would make a RESTful API to allow retrieving and changing some data from a PostgreSQL DB", instead it's just Leetcode problems that have (comparatively) little to do with the day to day, especially when you're expected to know, not look up the solution like you would normally. So there's not a lot that you can do, but just familiarize yourself with algorithms and ways to solve common problems and write plenty of code. :)

I imagine it's quite a lot like that in most specialized domains, be it solving physics or maths problems, or even using Excel for interesting use cases.


> So there's not a lot that you can do, but just familiarize yourself with algorithms and ways to solve common problems and write plenty of code. :)

I'd prefer someone that can infer the algorithm without knowing it before hand than someone who just memorized a bunch of them.


Coming up with algorithms on the spot isn't a viable strategy for technical interviews any more, even if you're a super-genius. Here's a question that the page author claims took Donald Knuth 24 hours to solve [1], which is classified on Leetcode as a Medium(!) difficulty question [2]. Leetcode Medium questions are typically the cut-off point for most FAANG-tier interview questions--and while this is a hard medium, I know someone who got a variation of it at a Meta interview, and was expected to solve it in 30 minutes. So unless you're 48 times faster at inferring algorithms than one of the best algorists in the world, memorizing tricks is the game you have to play if you want a FAANG-adjacent job!

Of course, then the natural reaction is "if your hiring process would pass on Donald Knuth, your hiring process is broken," which is absolutely true, already known, and (apparently) deemed acceptable.

[1] https://keithschwarz.com/interesting/code/?dir=find-duplicat...

[2] https://leetcode.com/problems/find-the-duplicate-number/


That problem is a terrible interview question, mainly because it's completely trivial with O(n) memory (just use a Set), but requires a different branch of comp sci at O(1).

Personally I also feel that any question that needs an O(1) memory when you _start with an array_ is disingenuous. O(1) memory was used for things like tape storage, where N was some huge external storage. If you already have an array, then the chance you don't have double that memory are dibcus.


Not sure I agree. It's very simple if you look at what's "wrong" with the input: it has a duplicated number, which means there's a "right" version of it without. That right version is just the count from 1->n. Once you see that, you can see that all you have to do is sum each list and calculate the difference.


This algorithm fails in the case that the duplicated number appears more than twice in the list, which is explicitly allowed by the problem statement.


It’s not, on Leetcode. I submitted it as an answer and it worked. In the case where the number is repeated more than once (m times), you have an array of n+m elements. Divide the sum by m, subtract, problem solved.


In that case, their test suite doesn’t cover all relevant cases. Consider nums = [1,1,1,1,4]: There are 5 elements, so n=4, and all elements are within the range [1,4]; only the 1 is duplicated. This fulfills all of the listed requirements.

The actual sum is 8, and the 4th triangular number is 10, so the duplicated number according to your algorithm must be -2 (or some fraction thereof, depending on how you calculate m).


The LeetCode version doesn't require linear time, and caps the number of elements to 10^5, so the brute-force O(n^2) time solution seems perfectly acceptable.


Tried it with a simple loop, got time limit exceeded unfortunately.


I recently did the Foobar with Google challenge and yeah, I feel this.

Question 4b was a Max Flow problem. And question 5 was Polya's enumeration theorem.

With both of those, I was not aware of the algorithms beforehand. I understood what 4b was asking, "Ok, I need to find out the bottlenecks and figure out how many bunnies I can feed through the maze at once." And 5 was more incremental. "This is a matrix.", "Ok, I know if I know the number of distinct row mixes and column mixes, I could also maybe figure out how many distinct matrix configurations I could make", etc, which led me to Burnside's lemma, which led me to Polya's enumeration theorem.

It took me a long while to make all those increments however. Given 30 - 50 minutes, I doubt I'd be able to even implement Polya in the blind.


FAANGs would pass on Donald Knuth, their entire process is made to find devoted soldiers who will memorize every algorithm and sit through 10 interviews and are too naive to think for themselves. Corps want to say "Do this, fast, using what you know" and the candidate says "Right away!". Knuth on the other hand would say "Hold up, there might be a better way, screw the deadline, I'll find it". Corps don't want that.


I just looked at this for 30 seconds, do you just XOR everything together? Then you could XOR it with all the numbers 1 to n again to get just the duplicate number, as every number would appear in the XOR twice except the duplicate number which would appear once.

Edit: I misread the problem :D I initially read it as every number appears once and one number appears twice, but alas it's not so simple :D


Sum the input list, sum the list of [1...n], subtract and voila!


Yeah, sadly you're not guaranteed some of the things that are needed for this to work. I defo believe the story that it took Knuth a day to figure this out, although when you see the answer it's pretty easy to understand.


What things? I submitted it as an answer on Leetcode and it was accepted.


With only one repeated number, you can sum the array and subtract 1+…+n to get the answer. Still an annoying trick you wouldn’t expect in an algorithm problem. Though the leetcode version also doesn’t require linear time, so I guess you could just iterate and compare in quadratic time to solve it?


But the leetcode one is a different question in that it guarantees only one duplicate element.


How is this tough? Use a dict?

Edit: or even easier, because I didn't read the question properly the first time, sum all the numbers from 1 to n (use Euler's trick for extra points) and sum your array and take the difference.


The original challenge didn't include the "only one" repeated number part, btw


After solving problems like that for years, eventually almost anyone will develop such an ability, like one also would in regards to DB schema design, system design and picking architectures/design patterns.

The problem is that the majority of people simply don't spend time on issues like that, either in their day jobs or weekends/evenings. The closest you can get to things like that if you work in pretty boring domains, is having to pick between a Set or a Map for some data structure in the app. Or avoiding things like N+1 issues which have relatively little to do with algorithms and more in regards to how frameworks implement things.


you mean N^2?



thanks!


>I'd prefer someone that can infer the algorithm without knowing it before hand than someone who just memorized a bunch of them.

Can someone do the latter without the former?


oh yes you can, so long as you don't equate _memorizing_ things with _knowing_ things.


Not equating, but requiring. Can you really know something you didn't memorize? I don't think so.


Of course I can. I never memorized the link to this thread but I know how to find it.


One question I have is whether you can use your own Excel setup and stuff like custom toolbars etc...?


You can customize your quick access toolbar. I've never seen a rule against 3rd party add-ins so I'm not sure about those. Keyboard shortcuts and lookup/logic/date/math/dynamic array functions are key along with data tables if you want to try and solve the challenge in one go.


ASAP Utilities was my weapon of choice when I was deep in excel data extraction work. But I think that should count as "auto aim" in a sport setting...


How did he do? Offhand it seems like using VBA would be a super power


TIL about Excel e-Sports. From https://www.fmworldcup.com/excel-esports/ :

> No finance, just Excel and logical thinking skills. Use IFS, XLOOKUP, SUM, VBA, Power Query: anything is allowed, and the strategy is up to you.

It says VBA, so presumably named variables are allowed in the Excel spreadsheet competition.

What about Python and e.g. Pandas or https://www.pola.rs/ ?

> Some events are invitational, some are open for everyone to participate in.

> All battles are live-streamed and can be spectated on our Youtube channel.


> What about Python and e.g. Pandas or https://www.pola.rs/ ?

I think it is safe to assume that only Microsoft Excel is allowed. The features they listed are all built in features.

Kaggle speed runs as a sport would be interesting.


They really would. I feel like kaggle is mostly teams slowly grinding for very small incremental improvements over each other. Adding a time component would really sort the wheat from the chaff.


It would certainly change the dynamic. Not sure about wheat from the chaff - faster != better.


Metrics for scoring: error/cost/fitness, time to solution (t), dollars to solution ($), resources in terms of {carbon, kWh, USD,}, costs in terms of costed opcodes,

Whether there's a logically plausible causal explanation (for quickly-discovered probably just associative relations)


The monthly ones are fun.


If you can write it in 20 minutes, I'd be impressed. Excel has everything integrated with macros already so it is easier to use VBA.


There are many ways to do ~no-code GUI analysis with [Jupyter] notebooks (e.g. with the VSCode jupyter notebook support) pretty quickly; with some pointing and clicking of the mouse if you please.

Computational Notebook speedrun competition ideas:

- Arithmetic w/ `assert`: addition/subtraction, multiplication/division, exponents/logarithms; and then again with {NumPy, SymPy, Lean Mathlib}

- Growth curve fitting; data modeling with linear and better models

- "Principia" work-along notebooks

- "Princeton Companion to [Applied] Mathematics" work-along notebooks

- Khan Academy work-along notebooks


> - Arithmetic w/ `assert`: addition/subtraction, multiplication/division, exponents/logarithms; and then again with {NumPy, SymPy, Lean Mathlib}

"How I'm able to take notes in mathematics lectures using LaTeX and Vim" https://news.ycombinator.com/item?id=19452752 ...

"How should logarithms be taught?" https://news.ycombinator.com/item?id=28519356


Any good recommendations for starting points to learn how to work with these? I'm not a programmer, but do have programming ability, and use excel all the time. Having a more flexible system with better inputs (tying in web scraping, data pipelines, etc) sounds like a great idea.


Kaggle learn: https://www.kaggle.com/learn

"Python Data Science Handbook" (O'Reilly) http://jakevdp.github.io/PythonDataScienceHandbook

awesome-python#web-content-extracting: https://github.com/vinta/awesome-python#web-content-extracti...

https://learnxinyminutes.com/docs/python/

"What is the best way to learn to code from absolute scratch?" https://news.ycombinator.com/item?id=16299880



> - Growth curve fitting; data modeling with linear and better models

Input: at least a two-column table

Output: a symbolic (or NN) model with minimal error in predicting the test half of the data after a `test_train_split()`-like routine.


I watched one of these a few months ago - VBA was allowed, but the whole thing was very clearly about Excel specifically and all of the competitors came from the finance world. Honestly, I saw way less cool use of formulas than I was expecting - a ton of competitors had an approach of "make a big data table and use Goal Seek". Maybe the All-Star is different?


I work in finance, big spreadsheets. These guys are doing more puzzles that are easy to score. Its interesting but the guys who maintain very large dynamic models i find more impressive. Can your model survive the abuse of a 9 month m&a transaction?


Considering sports like 'Battle Bots' (A RC robot fighting event) have viewership beyond Engineers, I would assume 'Excel sports' has its own appeal considering its one of the widely used software for a long time.

But I can't dismiss the feeling that, Some assistant to an accountant in a scrappy building somewhere who has never heard of such event is actually extremely talented with excel and could win the championship if they participated.


I would assume you have to use stock. Excel/Office ships with a VBA IDE that you get to with alt-F11 (and I think by viewing macro source through the menus.)


Added challenge would be Excel 95 on a 486 DX.


...with a single challange of not making it blue screen.


Alt-F11, thanks. Is there a macro recorder built into Excel that could make learning VBA syntax and UI-API equivalencies easy?


There's a macro recorder, but the code it generates isn't meant to be efficient or readable.

VBA is easy, you can just google it. It's very bad, but once you know it well, and if you stick to a functional style, you can do what you want. For Excel, get to know Range objects well, and to wring some polymorphism out of VBA, learn interfaces.


I've seen basically Mario in VBA in Excel, so I know it's real. "Show formulas" && [VBA, JS] vs an app with test coverage.

Are unit and/or functional automated tests possible with VBA; for software quality and data quality?

GSheets has Apps Script; which is JS, so standard JS patterns work. It looks like Excel online can run but cannot edit VBA macros; and Excel online has a JS API, too.


It's Krazam's world and we're just living in it: https://www.youtube.com/watch?v=xubbVvKbUfY


I will never forget the conversation I had with someone about competitive Excel.

Them: It's a real thing, I was watching on YouTube!

Me: I know, it's pretty awesome/hilarious.

Them: Yeah, and they treat it like a real e-sport!

Me: With announcers and everything!

Them: I know. "Helloooo sheeeetheads!"

Me: .......yeah that's a parody.


Every one of their videos is so pitch perfect for the tech world. "Microservices" is my favorite.


Currently, mine is Leadership Sync. I like it so much I played it on a loop.

https://youtu.be/1RAMRukKqQg

Most, if not all, of their videos are masterpieces.


Omega Star still not supporting ISO timestamps smh


We're blocked! sobbing. We're blocked!

This person definitely worked at a tech company where as soon as someone has to wait more than 2 seconds they start histrionically marking tickets as blockers.


I think he was at Amazon at the time.


My favorite is the standing mat :D


Ballmercon is going to be dope this year!


Except for that Chinese localization nerf - MS just doesn’t care for the pro scene anymore!


TIL there's a sequel to this! https://www.youtube.com/watch?v=ICp2-EUKQAI


Right? Seems like this joke willed it into existence.


Don't know about you but I'm pretty pumped for BallmerCon this year.


First thing I thought of as well haha


Same. I’m honestly kind of stunned


Going no-ANSI is still a viable strat imo


Life imitates art.


Every $BIG_BANK still uses humongous Excel spreadsheets and xll add-ins for the heavy lifting. It is no longer a right of passage to learn arcane techniques for calling C, C++, or even Fortran from Excel. There are several good libraries to make that easy, including one I wrote: https://github.com/xlladdins/xll.

Only the ancient Excel C SDK allows you to get a pointer to 2-dimensional arrays of doubles in Excel. Every other API requires the data to be copied out and copied back in again.


In case anyone wants to watch the event without tracking it down on ESPN, you can jump to the YouTube version if it here:

https://www.youtube.com/watch?v=x1RVNGDSdw4


I think ESPN is just testing waters for future events with EVE Online.


I'm more of a fan of EVE than I am of Excel, but I think competitive Excel would be more interesting, if not as visually stimulating. Competitive Excel shows off quick problem solving, EVE battles are really slow and dull if you're not invested in them


Which would be about the same amount of spreadsheets plus a few extra battle scenes



Not the most outlandish thing I've seen on ESPN. I remember during the early days of the pandemic tuning in and seeing the US cherry pit spitting championship.


Back in college, me and my friend hosted a text editing tournament, where you would compete to see how could edit a text file the quickest, thereby proving which text editor is unquestionably the best (and which one sucks the most =P).

It was probably my best memory from undergrad.

https://github.com/ebanner/TextEditorTournament


Code Golf needs to become an e-sport! And vimgolf, of course!


I'd be very interested in watching a live time-limited code golf competition, but after a cursory search I couldn't find anything. I guess it's too niche of a sport still.


First assignment: find header and footer settings in the ribbon.


Fascinating. This makes me wonder. How legit can things get with LO Calc? That's been under heavy development. Or Calligra Sheets, Gnumeric, sc-im, Pyspread. Like what's really power-user stuff in those worlds. What level of business logic, what level of gamedev, what level of appdev, etc.


VisiCalc and SuperCalc enter the ring ready to do battle without Turing completeness.


Just learned about pyspread[0] from your comment, it's surprisingly powerful. I'm well-versed in Python and in Excel, and I'm already more comfortable in pyspread than in Excel after 10 minutes.

[0] https://pyspread.gitlab.io/index.html


UHm, where is Martin Shkrei

If you dont know, Martin is an absolute EXCEL (the microsoft application) wizard.

His youtoubes are really good and a must watch.

Fuck that that guy though.

https://en.wikipedia.org/wiki/Martin_Shkreli


Morals aside, his track record is insane. The fact that he was able to keep getting so much funding is nuts.


I give ESPN credit for morphing itself past being the pioneering sports channel.

It's become kind of a joke, but at least it's moved outside the niche. Maybe someday it'll find relevancy again. For now, there's no way I'd pay for ESPN.


But first, a word from our sponsor, Microsoft...


That remembers me the quote "If it makes you sweat and it can fill a gymnasium of people to watch it, it is a sport" so Excel is a sport indeed hehe.


Sweet. That makes my bathroom breaks after the day I had genuine Mexican food a sport, too.



I'm sure the people who do the competing enjoy it, but I can't imagine it being something any large group of people would enjoy watching.


Reminds of this crazy final https://youtu.be/ICp2-EUKQAI


The geeks shall inherit the earth.


"Idiocracy" presents a credible argument against.


Richest people are generally are geeks (with luck also). Tech people are richer in general.


I don't think that's true at all - it seems like Finance, Fashion, and Politics people are the richest in general, with geeks coming tied for 3rd or even 4th overall. Of the richest (known) 25 in the world [1], only 4 or 5 can be said to be "nerds", with some financiers and magnates in the tech industry doing fairly well also. The rest are all financiers, inheritors, politicians, etc.

1 https://www.therichest.com/top-lists/top-250-richest-people-... idk how reliable this is, and family/endowed fortunes like the medicis, the papal trust, eastern european organizations etc aren't counted at all apparently.


I think you are using a pretty narrow definition of the word “geek” - and I would probably classify 7 of the top 10 of having some level of “geekiness”.

They are just different kinds of geek - Warren Buffett is a geek, just a “securities-pricing geek” rather than a “tech-geek”


Exactly. There art geeks, shoe geeks, food geeks, finance geeks, ad geeks, etc…

But my initial comment was really a reference to how far Excel needs have come, being featured on ESPN and all ;)


You are talking about private wealth held in things like bank accounts, etc. These are always subordinate to the actual sovereign owners of the property. I think those who can ultimately control final disposition of resources are far richer.

The Medicis actually ran Florence. If you're wealthy in Russia or China or the USA today, you don't actually get to decide what happens with your biggest assets, push comes to shove, that's up to Putin or Xi or the CIA.

https://en.wikipedia.org/wiki/Joseph_Nacchio

Unless you have an army, you're not really "rich" in the way people have used that term for the last few thousand years.


I'm not. I'm talking about assets controlled directly. Things do get blurry with eg MBS or Putin, or the weird finances of Thailand etc.


This makes me wonder why speed coding isn't more of a thing.


Do you mean programming competitions? They were a huge thing for me in high school, and that was 20 years ago. I have to imagine they’re an even bigger thing now.


ctrl-shift-enter + 2 variable solvers.

It will change your world.

That is all.


They need to mic the contestants and mechnical keyboard sponsors to provide some boards.


I've got to give them credit, that's some entertaining marketing.


Awesome! I think Excel is the low code version of database.


No sheet!



This was posted in the same thread 2 hours ago


It’s ESPN2 though, the annual Corgi Race in Seattle also aired on ESPN2 again last week.


What makes horses special. If you can find some eccentric millionaire who's willing to stump up prize money for any sort of race, crowds and gamblers alike will start to take things seriously. I have been to dachshund races. People will bet on anything.


Seen in a bathroom in an Australian bar/grill: A poster with two flies.

Fly 1: "Bet you I can run up this wall faster than you."

Fly 2: "Bet you you can't."

At the bottom: "They say that Australians will bet on anything, even two flies running up a wall. If you have a gambling problem, call <helpline number>."

Also seen on that same bathroom wall: A poster reading "Win a trip for two to Las Vegas".


Dash-hounds sound like they'd be fast.


There are badgering competitions for dachshunds too!


Except for sumo I've never been a fan of sports broadcasts. Between Corgi racing and Excel I may have to rethink this.


I was surprised it wasn't the Ocho


That's literally the stunt here, airing a bunch of silly and/or obscure "sports" in character as The Ocho for a week.


I would actively want to watch Corgi race though.


It's so good


We


Google Sheets > Excel


For sharing and viewing, yes. For anything else including speed, macros, options, keyboard shortcuts, MS Excel kills anything. Google is for convenience, I wouldn't even consider it a professional software at its current level.


I shouldn’t respond to this but…in what universe?

Please share whatever drug you’re on with the class.


I bet you it's someone who used Excel for work, and whose entire analysis is something like "it's on the browser and it's easier to share documents".


Yes, that's a crazy thing to say without explaination.

I think Excel will be unbeatable as an offline spreadsheet application for many years, if a competitor ever appears.

Now, if what you're looking for is not offline spreadsheets, but a tabular interface that can be messed around in JS, with an API integration, Sheets is an excellent product that fills Excel's niche but in a connected system.

disclaimer: I haven't touched much of office 365's online part, but am under the impression scripting with cloud services is not the direction MS is going for.


>scripting with cloud services is not the direction MS is going for.

It absofuckinglutely is the direction they're going for. MS Flow, Teams and Sharepoint integration, upgrades to simultaneous-editing-documents-in-the-browser... the main problem is that they're trying to go too big too quickly which is causing hiccups especially from MS Teams, and also that anyone that doesn't use Excel seriously is already on Google Sheets with no real reason to migrate.


Excel has had a JavaScript api since at least 2016. Excel online definitely has the ability to integrate with online services, although at that point you really want something like Power Automate. See also Microsoft Graph, which has an Excel API as well.

Edit: https://docs.microsoft.com/en-us/graph/api/resources/excel?v...


Totally agree that Sheets is better as a quick and dirty web-based spreadsheet app. I’d still prefer something like Airtable for most of the use cases you outlined, but Sheets is absolutely a good quick and dirty tool.

But once you go beyond that, all, as we’re both saying, it’s not even a conversation. And anyone who is trying to argue against Excel on its merits as a power app (no pun intended) is on something or not arguing in good faith.

(O365 has improved a lot but I still think GSuite feels faster. But I don’t hate Office Online or whatever it is called.)


Apple Numbers for iOS has entered the chat


I almost made a Numbers joke!


Nice...I would give you an award if I could.


No professional organization that depends on Excel to make things with real consequences should be using Google Sheets.


Large audit firms (Big4) use google sheets and they do some real crazy/awesome stuff.

Why are you poo-pooing on the tech?

Edit: They also use Excel, btw. It’s just the right tool for the right job.


haha, maybe Big 4 does, but, generally speaking, the best employees of Big 4 leave for greener pastures as soon as possible

I've never seen anything remotely impressive from a cpa in public practice in terms of excel usage or high level thinking tbh


That makes sense.

Everyone leaves, they have no partners and it’s all run by college grads?

Just thinking through the premise of: Big4 folks arent capable of high level thinking that’s why they leave for “greener pastures”, implies that the “greener pasture” employees are less competent than the Big4. Otherwise, why would they hire folks from Big4?


My relative works at KPMG and it's fully Excel there.


PwC uses g-suite


No professional organization that depends on Tool A to make things with real consequences should be using Tool B? /pedantry

An argument could be made that no organization should use Excel/Sheets for anything with "real" consequences.

I agree that Excel is stronger than Sheets in some regards, but Sheets with App Script and a little JavaScript knowledge goes a loooong way towards empowering people to build useful things collaboratively.


My time to shine.

SQL > Google Sheets, Excel for large data.

Try https://superintendent.app


SQL and excel are pretty different tools. When used as a database, SQL is far superior to Excel. When used for calculation, SQL isn't even particularly good:

- Depending on which implementation you're using, it has a pretty anemic set of built-in functions.

- Building calculations on top of other calculations is trivially easy in Excel and basically not available in SQL.

- SQL forces you into a tabular mindset - Excel is often used that way but it's more freeform and you can have individual calculations that don't map to a particular schema.

- Excel has much better UX in terms of visually representing what you're building as you build it, where SQL doesn't have any real interactivity in terms of building queries.

Your product does look cool, but I think it's very much addressing specifically the "Excel / CSV as database" use case and less the analysis side.


Sacrilege


I guess that's going to be a sign that Excel is dead


It's only dead when Microsoft thinks they can make more money on Excel being an e-sport, and start changing it in a way that helps with e-sports but annoys normal users.

This is a common killer of video games.


Can you name a single video game that this has ever happened to? There isn't even a hint of truth to what you said


Excel is fine. E-Sports, however, just jumped a shark.


I'd like any readers of this thread to know that there was once a million dollar Farming Simulator tournament. The competition was haybale stacking. I always found that hilarious


If anyone wonders what that would look like… well here you go!

https://youtu.be/lvlBDjsQzpE


Were those bales of hay shaped like "L" or "T" or "Z" and did the music for it sound kind of Russian?


To some, certainly.

But to me it looks like a real skill and tough challenges. Super micro niche, for sure.




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

Search: