go read worm
This commit is contained in:
parent
87a76d2cd2
commit
c879313fe8
62
posts/best-bug.md
Normal file
62
posts/best-bug.md
Normal file
@ -0,0 +1,62 @@
|
||||
---
|
||||
title: Best Bug
|
||||
published: 2019-05-21
|
||||
---
|
||||
|
||||
my pal and i accidentally introduced a bug in our code that sorta took up a personality of its own, heres the story.
|
||||
|
||||
# the setting
|
||||
|
||||
at university comp sci, me and my buddy entered a programming contest that was run by a health company. it was free, and we thought we might be able to get some of the prizes.
|
||||
|
||||
the goal was to create an engine to play last card, and all the entries would be run against each other and ranked.
|
||||
|
||||
this was in about two hours in one of the uni labs.
|
||||
|
||||
> pretty boring stuff
|
||||
|
||||
it had that yellow glow of the lights as well, because it was getting dark outside.
|
||||
|
||||
# the fun
|
||||
|
||||
we started implementing a pretty basic card counting thing, and to pass the time a bit were talking about our 'ai'
|
||||
|
||||
> its super good at card games, even the basic ones
|
||||
|
||||
> its like outta yugioh, its kaiba or something
|
||||
|
||||
> yeah jojos poses every turn, better than the rest
|
||||
|
||||
*etc etc*
|
||||
|
||||
so we finished up after...
|
||||
|
||||
***having to deal with whatever maven is***
|
||||
|
||||
i still dont understand the hundred different package management things, why do they have to keep changing? `/rant over`
|
||||
|
||||
# uh oh
|
||||
|
||||
we ended up placing second, losing to the guy that already worked for the company running the event.
|
||||
|
||||
we lost points because we didnt understand the state format correctly, but i believe we understand it right.
|
||||
|
||||
what theyd done is ~~super gross~~ ~~logically wrong~~ had any collection of cards as the java version of `Maybe Cards` such that rather than an empty list being `[]`, the whole thing was a `Nothing`.
|
||||
|
||||
a collection of cards that has zero cards in it is still a set, and therefore should be represented by `[]` or equivilent. `/rant over`
|
||||
|
||||
the affect of this on ol` kaiba boi (aka kAIba which added to the charm) was that if it was the first player of a game, it would crash, timeout and the game manager would default to a pass.
|
||||
|
||||
# neato bug
|
||||
|
||||
this cemented the persona of this bug to be a kaiba-esque dramatic dickhead, threatening to fall off buildings if he loses, but saying:
|
||||
|
||||
> huh! first player advantage? thats for **noobs**, you take it
|
||||
|
||||
and yeeting the other player first turn.
|
||||
|
||||
# fin
|
||||
|
||||
memorable bugs are the best kind of bugs, and have a life all of their own. part of the magic of programmation is finding these so you gotta pay attention.
|
||||
|
||||
`:wq`
|
Loading…
Reference in New Issue
Block a user