ackshually one pays respect to the computational trinity by saying "in the name of Sigma (1.) , Pi (2.) and Lambda (3.) homoousion amen. " 1. being, Father 2. universal quantification, Son 3. computation, movement, Holy Spirit
@@BicheTordue Depends on the language, because the way each language handles them is likely going to be different. In a language like C++, especially modern C++, it's going to be heavily frowned upon for a few reasons: - Macros don't respect namespaces, which means they can overwrite things that you might not want them to. A common counter practice is using uncommon, often ugly naming conventions to reduce chances of name clashes. - Macros do dumb search + replace, which can introduce hidden side effects depending on the structure of the macro. Such side effects include rapid ballooning of code size (think min/max macros), hidden esoteric syntax use that breaks in some situations, doesn't tell you when name clashes happen unless it breaks syntax conformity. - Macros don't restrict the types of syntax use they can hide, so in order to figure out what a certain complex macro can do you often have to substitute it into the code by hand. - Editors like Visual Studio don't handle macros very well. The macro definitions don't get syntax highlighting or intellisense because there is no sensible way to do it. Visual Studio also fails to report errors in the correct places for more complex interconnected macro structures. - Most of the things you can do with macros can also be done with newer modern C++ features. These new features may often be esoteric or ugly, but they don't have any of the draw backs listed above because they have first class support and have been carefully and meticulously combed over and ironed out by a committee. Some of the few remaining things you cannot do with standard C++ syntax to my knowledge are: stringification of code, implicitly capturing types of values up the stack without explicitly initializing it by hand. Here's an example of how the previous macro technique can be used for something like reflection: making a lambda with a macro in a member function and capturing the type of the parent class with 'decltype(*this)', useful for computing member offsets and storing statically #define Bind_Member(member) #member, [] () -> int { decltype(this) base = nullptr; return int(&base->member); } MemberRegistry { Bind_Member(memberName) }; // makes a 'MemberRegistry' instance with initialization list '{ "memberName", memberName offset computing lambda }' In an ideal world standard C++ syntax would be able to do everything that preprocessor macros can. Edit: looking through the comment section more I'm realizing that people are talking more about editor macros. I'd say the first two points still apply a lot depending on how you can twist them. Before you make large, sweeping changes to a code base with automation you should really make sure that you know 100% exactly what it is that you are doing, and everything that can go wrong. It's super easy to nuke a code base by not being careful with automation tools.
@sundaran 1122 ssh into fresh ubuntu install on digitalocean :) And in my past experiences on a local machine, a computer that can run the latest and greatest and render heavy loads and host several VMs can't run freshly installed Vim. It's almost as if Vim is a heaping pile of trash. And also you'll find that the #1 question about Vim, far far more popular than other questions, is "how do I exit vim?". I pity Vim users like I pity Atom IDE users. Atomheads try to sell me the idea that their bloated pile of dog vomit is efficient and cool. Mmm who doesn't love microstutters every second and minute long executions of code mm. But hey, if it works for you, cool, just don't be religious about it.
Honestly, that makes sense and it's a logical optimization. All the strings in the list are constant, the separator is constant, and the base case for the join function is just one of its parameters. Therefore, there's nothing that can go wrong with evaluating that at compile time. Damn.
@@benjaminrood1648 the human time is negligible. the sorting algorithm that you write might be used by your team. if you package it as npm or gradle or maven etc then it will be used by millions. the puny 1 month of time that you spent is negligible compared to that. Not to mention, there are spiders, crawlers, bots that might visit your website and run your code etc. that adds time up very quickly
more like he's farming views from bots. cause I just watched the view count drop. unsubscribed. what a shame. I thought the dude was alright til I noticed he paid for all these views LOL
If you're looking for someone who is able to run macros, with repeated mistakes and crashes, then yeah I guess this is the perfect demonstration of that skill.
@@insertoyouroemail That program is the opposite of "easy to adjust." Want to adjust actual FizzBuzz? Change the argument. Want to change this version? Manually add all the new lines. Reusable code is good code. This is just a goof.
It's amazing how these "software engineers" are so self-biased and arrogant in their views they have to preach to others on how to enjoy humor. Twitter really is a giant echo chamber. Maybe they should spend more time actually writing code than preaching.
Remember... If your array elements touch the side it causes friction which slows down the code and, in the worst cases, can cause the elements to heat up. Most expert coders only ever use the even numbered indices as this prevents the elements from rubbing.
As a heavy vim user, I'd say it was okay at best. A lot of things would've been much simpler if he had just used a :s command. Eg `:13,s/.*/\\&\\\ /` would add all of the backslashes and newline characters he needed
If I was interviewing this guy I would have kicked him out for trying to be cute but a) screwing it up and b) having to use a calculator to divide 100 by 5. And for bonus points, thinking than VIM is impressive. Want to succeed at interviews? Don't be a dick.
This is that one video that demotivates you so much, you start questioning your career choices. I don't think I will have this level of mastery with 25+ more years experience.
So, I'm just a script fucker and linux dude who appreciates code like a music lover who can't play an instrument..... but this is probably one of the funniest videos I have seen in a long time. This is pure gold. Pure Troll. "This is what I wanted all my life."
@@vwnb php also has such wonderful features as: - unintuitive function names - parse_str() instead of something along the lines of parse_query(), parse_query_str(), or even just parse_qstr() - inconsistent names among related functions - gettype() vs get_class(), htmlentities() vs html_entity_encode(), etc - ...non-transitive equality (yikes) (a = b and b = c does not always mean that a = c) - ...circular comparison????? (*yikes*) (it is possible for a < b, b < c, c < a to all be true with the same values of a, b, and c) - and as a side effect of circular comparison, there's the lovely feature that sorting a list with sort() will in some cases, not actually return a sorted list. isn't that fun! _and more_ type safety and decent performance, a good language do not make. php is a trainwreck.
@@scottguest2240 Nah, if the algorith was to traverse s list of 100 elements 100 times it would still be O(1). It is in the very definition of O(f) notation - a class of all functions bounded from above by k*f for some number k, from a certain point to the infinity. If the algorith runs in a constant time (because it's defined with constant input) you can bounded it by e.g. f(t)=1year and no matter the input, it won't exceed this limit.
I was given the fizzbuzz question during an interview for a placement, I think it's a good indication of the person's understanding of programming principles because there's many ways you can complete the challenge
I had to do fizzbuzz for an Austin startup a couple years ago. I said a similar prayer and then did it on the whiteboard in Rust. I got an offer but the company went under before I could start. Now, as a hiring manager at a different company, I will start asking candidates to do fizzbuzz. But, the only acceptable answer will be this one.
thank you for making this video i was having a hella mood swing so I couldn't watch any videos on youtube that would make me too sad and emotional and this was perfect
One more tip is to bring a spare pair of socks and offer them to the interviewer. I like to get custom ones printed with a QR code to my Linked In page.
I decided to do FizzBuzz myself without ever seeing a solution or doing it before, after a couple days of learning C# and I was able to implement it successfully within 15 minutes on my first ever attempt/execution of code. Definitely helped me feel good about my future with software engineering (soon to be student).
This is possibly the greatest video that has ever and will ever exist on the internet! My socks have not fallen off instead they have completely melted!
Extremely disappointing that you didn't use the list monad instance for join, and wrote a function which would clash if you imported Control.Monad. Unbased :(
Walk into the interview with your flash drive. Upload your collection of programs and utilities that you had previously written. Load them into the appropriate IDE fixing any necessary project settings. For example, let's say you're using C++ and you wrote different versions of FizzBuzz one of them in the form of Meta template programming where it will calculate everything for you at compile-time via templates, the other version was written in terms of Lambdas without using any branching where when this is compiled and depending on your compiler of choice, it optimizes most of the code to give you the smallest assembly footprint in which you can show them by adding that code to Compiler Explorer. This shows them that you were well prepared for the interview and that you know how to use existing codebases and libraries to perform specific and required tasks. If you want to get really creative, try doing it in either Excel, Powerpoint, or both!
Only someone highly skilled in programming could invent a worse way of coding something that also makes perfect sense and shows skills in a technique unrelated to anything you would actually do on the job. 10/10 I would hire you as the creative director.
BTW, this is a great drinking game :D just switch the numbers to 7 for Fizz and 9 for Buzz. You sit around a table, someone starts with "one", next person goes "two" etc. Then, whenever there is a number divisible by 7 (7,14,21..) or contains a 7 (17, 27,...) you say Fizz. Same rules apply for 9 and Buzz. If you mess up, you drink and the counting starts over from start. If your friends are not programmers, it's better to start with just Fizz and 7 :P
Instead of 0C, you could use cc, or even just S. Also, for writing 1 to 100, you could copy 0 on 100 lines, select them all, then press g. You could've used more of the visual block mode as well, where pressing I and A allows to insert and append to every line. Also, might as well write a vimscript to write the program for you :p
Imagine an absolute beginner seeing this video
That's me.
I have some questions....... actually a lot of questions.......😐
Did this guy just wrote ans printed everthing instead of using loops and of condition......what the hell....am i stupid or this went over my head
@@adnankazi8845 That was just a VIM flex guide
@@nnchnl111 ohh thanks man ❣️
I think the interviewer is taking his socks off to make a noose.
Lmfaoooo.
Hahahahaha
Hahaha so true
those are some really stretchy socks
LMAO
I can't believe I've watched this madman's video until the end.
I wanted to like your comment but then I saw you have 666 like and it's beautiful!
he is class
is he really the madman if you watched it till the end? ;) :D
I can't believe his view count dropped ! that only happens when you pay for views! so therefore, he's a scam literally. what a joke !
How do I install vim on whiteboard? plz help
Look for colon e behind the whiteboard.
npm install vim-whiteboard
You just write down your keypresses and the internal Vim editor built into the interviewer's head will parse it and create the solution in his head.
How do I exit the vim whiteboard? I’m trapped
@@markhaus you have to write EscEscEscEsc:q and then the witheboard should dissapear
That prayer should be added to official Haskell liturgy. Well done.
I am assuming liturgy in simple words is docs
I second this motion
@@chizuru1999 actually it's a religious thing and a lot more complicated...
ackshually one pays respect to the computational trinity by saying "in the name of Sigma (1.) , Pi (2.) and Lambda (3.) homoousion amen. "
1. being, Father
2. universal quantification, Son
3. computation, movement, Holy Spirit
When the interviewer gets mad you're using macros, just let them know automation is the future and they'll quickly change their minds
Does that append often ? i didn’t think dev would be against macros
@@BicheTordue there's a lot of dev out there against anything they don't know
@@BicheTordue Depends on the language, because the way each language handles them is likely going to be different. In a language like C++, especially modern C++, it's going to be heavily frowned upon for a few reasons:
- Macros don't respect namespaces, which means they can overwrite things that you might not want them to. A common counter practice is using uncommon, often ugly naming conventions to reduce chances of name clashes.
- Macros do dumb search + replace, which can introduce hidden side effects depending on the structure of the macro. Such side effects include rapid ballooning of code size (think min/max macros), hidden esoteric syntax use that breaks in some situations, doesn't tell you when name clashes happen unless it breaks syntax conformity.
- Macros don't restrict the types of syntax use they can hide, so in order to figure out what a certain complex macro can do you often have to substitute it into the code by hand.
- Editors like Visual Studio don't handle macros very well. The macro definitions don't get syntax highlighting or intellisense because there is no sensible way to do it. Visual Studio also fails to report errors in the correct places for more complex interconnected macro structures.
- Most of the things you can do with macros can also be done with newer modern C++ features. These new features may often be esoteric or ugly, but they don't have any of the draw backs listed above because they have first class support and have been carefully and meticulously combed over and ironed out by a committee. Some of the few remaining things you cannot do with standard C++ syntax to my knowledge are: stringification of code, implicitly capturing types of values up the stack without explicitly initializing it by hand.
Here's an example of how the previous macro technique can be used for something like reflection: making a lambda with a macro in a member function and capturing the type of the parent class with 'decltype(*this)', useful for computing member offsets and storing statically
#define Bind_Member(member) #member, [] () -> int { decltype(this) base = nullptr; return int(&base->member); }
MemberRegistry { Bind_Member(memberName) }; // makes a 'MemberRegistry' instance with initialization list '{ "memberName", memberName offset computing lambda }'
In an ideal world standard C++ syntax would be able to do everything that preprocessor macros can.
Edit: looking through the comment section more I'm realizing that people are talking more about editor macros. I'd say the first two points still apply a lot depending on how you can twist them. Before you make large, sweeping changes to a code base with automation you should really make sure that you know 100% exactly what it is that you are doing, and everything that can go wrong. It's super easy to nuke a code base by not being careful with automation tools.
@@mettaursp309 not that kind of macros
@@vanjazed7021 Yep, I threw an edit on my post a while ago that clarified that mistake.
"I'm going to write fizzbuzz in haskell" *writers Fizzbuzz in vim.
Story Feet to be fair he did define a real Haskell function
@sundaran 1122 He is a sane person and not a virgin*
FTFY
@sundaran 1122 does it freeze and shit itself like vim does especially when in ssh?
@sundaran 1122 oh yes, my computer, my laptop, company computer, etc. TIL: Vim is more demanding than Battlefront 2 and BF5
@sundaran 1122 ssh into fresh ubuntu install on digitalocean :)
And in my past experiences on a local machine, a computer that can run the latest and greatest and render heavy loads and host several VMs can't run freshly installed Vim. It's almost as if Vim is a heaping pile of trash. And also you'll find that the #1 question about Vim, far far more popular than other questions, is "how do I exit vim?".
I pity Vim users like I pity Atom IDE users. Atomheads try to sell me the idea that their bloated pile of dog vomit is efficient and cool. Mmm who doesn't love microstutters every second and minute long executions of code mm.
But hey, if it works for you, cool, just don't be religious about it.
since Haskell is such a high level language, it actually compiles your O(n) algorithm to O(1)
Honestly, that makes sense and it's a logical optimization. All the strings in the list are constant, the separator is constant, and the base case for the join function is just one of its parameters. Therefore, there's nothing that can go wrong with evaluating that at compile time. Damn.
@@DanCojocaru2000 but a lot goes wrong before you even get to compile
It’s just lazy
I think the complexity is actually O(human) which is often quite slow, which can be seen in this video.
Yeah, but when you run the code on a computer the complexity is O(1)
@@oscwavcommentaccount but before that human has to write that code :P
@@blasttrash The human always has to write the code.
@@benjaminrood1648 the human time is negligible. the sorting algorithm that you write might be used by your team. if you package it as npm or gradle or maven etc then it will be used by millions. the puny 1 month of time that you spent is negligible compared to that. Not to mention, there are spiders, crawlers, bots that might visit your website and run your code etc. that adds time up very quickly
@@blasttrash lol you cannot be taking this video or my reply seriously
I have nothing else to lose might as well try this for my next interview.
"Losing all hope was freedom."
Did you land a job? xD With this approach? Did you actually try it?
I see that Ben is trying to farm some karma on r/programminghorror.
i read that as r/programminghumor
@@jhigger Me too!
@@jhigger my god i didnt realise it wasnt that till u said it
@@jhigger same thing
more like he's farming views from bots. cause I just watched the view count drop. unsubscribed. what a shame. I thought the dude was alright til I noticed he paid for all these views LOL
Not gonna lie, i would be kinda impressed by that in a coding interview
Me too. The program contains very little complexity and is easy to adjust with special cases.
If you're looking for someone who is able to run macros, with repeated mistakes and crashes, then yeah I guess this is the perfect demonstration of that skill.
Except for all the times he forgets to end the macro. -100 points for that nonsense
@@LongBoy.0 He needed to make the video longer then 10 minutes
@@insertoyouroemail That program is the opposite of "easy to adjust." Want to adjust actual FizzBuzz? Change the argument.
Want to change this version? Manually add all the new lines.
Reusable code is good code. This is just a goof.
He really done memorized that prayer 😂
Dan won't notice if we call it "that one framework"
I ❤️ Ng
Angular. There. I said it
The framework that must not be named
It's amazing how these "software engineers" are so self-biased and arrogant in their views they have to preach to others on how to enjoy humor. Twitter really is a giant echo chamber. Maybe they should spend more time actually writing code than preaching.
Yeah bois
My trap card doing too much damage to the interviewer is exactly why I’ve failed all my interviews
totally...
Haskell is so high level it doesn't like your array to touch the side here
I went into tears XD
this is at the same level as a guy with a good typing speed just typing the first 100 fizz buzz
i just searched for this video 2 years later because it still lives in my nightmares
For a moment I thought this was going to be a serious video. So I solved the problem myself before watching just to return to this masterpiece.
That is honestly adorable xD
I lost it when he spotlight 100 divided by 5 🤣🤣
You got me at, "Haskell's such a high level language that you.."
Remember... If your array elements touch the side it causes friction which slows down the code and, in the worst cases, can cause the elements to heat up. Most expert coders only ever use the even numbered indices as this prevents the elements from rubbing.
If your array elements touch the side it's gay
makes a haskell prayer and then goes along using it for printing strings in vim macros
This kid's hilarious, why are people downvoting him.
Because they're probably Angular sheep
@@cervixcrusader85 says the react sheep 😂
The people downvoting him are probably the interviewers.
Also, I would use React over Angular any day. And I have used both, and Vue for that matter.
because he is using vim? why woul anyone do this. I mean he knows the macro's/shortkeys and he is still slower than using a regular editor
"I'm doing 1000 calculations in my head per second and they're ALL WRONG!"
If I were an interviewer I'd be impressed with those vim skills.
I wouldn't call them skills...
As a heavy vim user, I'd say it was okay at best. A lot of things would've been much simpler if he had just used a :s command. Eg `:13,s/.*/\\&\\\
/` would add all of the backslashes and newline characters he needed
If I was interviewing this guy I would have kicked him out for trying to be cute but a) screwing it up and b) having to use a calculator to divide 100 by 5. And for bonus points, thinking than VIM is impressive. Want to succeed at interviews? Don't be a dick.
@@TheMonk72 and I would kick you out because I can't understand your first sentence
He used 0C instead of cc. And didn't know he can cancel the 322 input with Escape. But then again you just can't know all the Vim features.
This is that one video that demotivates you so much, you start questioning your career choices. I don't think I will have this level of mastery with 25+ more years experience.
Just learn vim for like 1 week and you’re good
The programming hype and meme digs go deep in this one Ben. As a fan of FP and a vim user, you got me good, real good. Salute!
I wasn't expecting this XD
I laughed my socks off
I love this so much, the purest form of the menacing Vim + Haskell energy I can only hope I'll one day achieve
This is a video I watch in bed and then accidentally drop the phone onto my face, but I just leave it there. God bless
Can we get the story behind your sister being called Fizz Buzz?
Please
It's the sound made while her many lovers pork her simultaneously.
Lonny Bulldozer - I REALLY shouldn’t be laughing this much 🤣
"everyone does her as part of a standard coding interview"
I love how you've combined 2 of my favorite things: coding, and You Suck At Cooking. Well done sir
So, I'm just a script fucker and linux dude who appreciates code like a music lover who can't play an instrument..... but this is probably one of the funniest videos I have seen in a long time.
This is pure gold. Pure Troll.
"This is what I wanted all my life."
"Haskell is so high level that they" insert anything
Did he just say "Bulbasaur" when listing languages? Lol
Probably referring to this joke: www.reddit.com/r/ProgrammerHumor/comments/6llocd/my_linkedin_profile/
"...is to show off how smart you are"
Haskell couldn't NOT come up 🤣
Your interview question videos kill me everytime.
I feel like joking about them actually makes them easier to learn.
„and there’s a lot of good one’s out there, there’s PHP”
PHP is beautiful....... If it had better Windows supp for dev and if it was faster
@@vwnb php also has such wonderful features as:
- unintuitive function names - parse_str() instead of something along the lines of parse_query(), parse_query_str(), or even just parse_qstr()
- inconsistent names among related functions - gettype() vs get_class(), htmlentities() vs html_entity_encode(), etc
- ...non-transitive equality (yikes) (a = b and b = c does not always mean that a = c)
- ...circular comparison????? (*yikes*) (it is possible for a < b, b < c, c < a to all be true with the same values of a, b, and c)
- and as a side effect of circular comparison, there's the lovely feature that sorting a list with sort() will in some cases, not actually return a sorted list. isn't that fun!
_and more_
type safety and decent performance, a good language do not make. php is a trainwreck.
@@SkylearJ see my other comment
"...In the name of filter, map, and reduce-Amen" I have laugh out loud in a while, subbed.
“Like Wacka Flocka Flame, we are doing this with no hands” 😂😂
I can’t believe how entertaining and informative that was. Well done!
Might hit you hard, but it's still 0(1) 😉your length is always 100. Your algorithm has no inputs. Hence it's still O(1)
Technically it's still 0(n)
@@championofwits4621 It can't be O(n) when there is no n ¯\_(ツ)_/¯
BTW Haskell is SUCH *POWERFUL* programming language that it rewrites the second version to be the first one for you
@@h7x4 behold my power to solve TSP in 0(1) .
1) step one go on chrome find answer for problem
2) step 2 copy
3) step 3 print ()
@@scottguest2240 Nah, if the algorith was to traverse s list of 100 elements 100 times it would still be O(1). It is in the very definition of O(f) notation - a class of all functions bounded from above by k*f for some number k, from a certain point to the infinity.
If the algorith runs in a constant time (because it's defined with constant input) you can bounded it by e.g. f(t)=1year and no matter the input, it won't exceed this limit.
I was given the fizzbuzz question during an interview for a placement, I think it's a good indication of the person's understanding of programming principles because there's many ways you can complete the challenge
That One JavaScript Framework. Voldemort of JS Frameworks.
? Haskell is not a js framework
I had to do fizzbuzz for an Austin startup a couple years ago. I said a similar prayer and then did it on the whiteboard in Rust. I got an offer but the company went under before I could start. Now, as a hiring manager at a different company, I will start asking candidates to do fizzbuzz. But, the only acceptable answer will be this one.
coding with macros in the interview will pull your interviewer socks off.
I was expecting to be blown away by some legit amazing code but instead i got a good laugh out of it. Good shit yo.
Oh dude really enjoyed this
I was waiting for the usual Angular roast, but it didn't come. Great video anyways :D
😂Bro' this was sooooo funny!! I laughed my ass off! 😂
Awesome video!
"what's your favorite language?" "vim"
This was just a really hard vim flex, LOL. Hilarious.
thank you for making this video i was having a hella mood swing so I couldn't watch any videos on youtube that would make me too sad and emotional and this was perfect
We learned vim macros are hard
This was very helpful. Thanks for this video!
memes aside, I appreciate the fact that Ben has actually memorized the Haskell Prayer
This solution literally destroyed every pair of socks I own.
I foresee the interviewer will start to put on their socks right about the time you crash your editor... 😂
We need a whole channel dedicated to explain Ben's videos
One more tip is to bring a spare pair of socks and offer them to the interviewer. I like to get custom ones printed with a QR code to my Linked In page.
😂😂😂
Great video, educating and entertaining, and more than that, it's in Haskell, would love to see more of Haskell
An actual solution in Haskell: fizzBuzz = map (\x -> case mod x 3 - mod x 5 of 0 -> "FizzBuzz"
1 -> "Buzz"
-1 -> "Fizz"
_ -> show x) [0..]
"This cursed programing tutorial will trigger you"
THIS is why all devs should learn Vim. Look at how much time Ben saved using vim!
1:18 extremely disappointed you did a Christian cross and not a >>=
I decided to do FizzBuzz myself without ever seeing a solution or doing it before, after a couple days of learning C# and I was able to implement it successfully within 15 minutes on my first ever attempt/execution of code.
Definitely helped me feel good about my future with software engineering (soon to be student).
10 out of 10 highly recommend
I have given you a THUMBS UP only for your pre-coding prayer hhhhhhhh, that was AWESOME!
I literally watched the whole thing
This is possibly the greatest video that has ever and will ever exist on the internet! My socks have not fallen off instead they have completely melted!
Ben, why in the world is your sister called FizzBuzz?
😂😂
She’s divisible by 15
Because she’s easy
0:44 I felt his breathing in my ears on my headphones
The running joke on angular is just too good 😂😂😂
8:18 👌👌👌👌I see ben is pleased with himself.
Extremely disappointing that you didn't use the list monad instance for join, and wrote a function which would clash if you imported Control.Monad. Unbased :(
also could've used $ instead of paren 😔
Also, he should have really used Text instead of String.
Walk into the interview with your flash drive. Upload your collection of programs and utilities that you had previously written. Load them into the appropriate IDE fixing any necessary project settings. For example, let's say you're using C++ and you wrote different versions of FizzBuzz one of them in the form of Meta template programming where it will calculate everything for you at compile-time via templates, the other version was written in terms of Lambdas without using any branching where when this is compiled and depending on your compiler of choice, it optimizes most of the code to give you the smallest assembly footprint in which you can show them by adding that code to Compiler Explorer. This shows them that you were well prepared for the interview and that you know how to use existing codebases and libraries to perform specific and required tasks. If you want to get really creative, try doing it in either Excel, Powerpoint, or both!
All of your brackets were unnecessary, the pair in join literally does nothing, and the pair in main should rather be a dollar sign
Came here for FizzBuzz, ended up learning Vim. This deserves an Awa'r'd.
Haven't understood a thing happened here. But still like it 🌟
Only someone highly skilled in programming could invent a worse way of coding something that also makes perfect sense and shows skills in a technique unrelated to anything you would actually do on the job. 10/10 I would hire you as the creative director.
Didn't know Spotlight Search auto-performs math in Calc app. Thx.
I think spotlight can also do it, but he is using Alfred
that prayer was the best thing i've ever heard
that prayer was spot on 😂😂
Thanks youtube for recommending me this after 4 years of coding
This is what engineering means 😁
BTW, this is a great drinking game :D just switch the numbers to 7 for Fizz and 9 for Buzz. You sit around a table, someone starts with "one", next person goes "two" etc. Then, whenever there is a number divisible by 7 (7,14,21..) or contains a 7 (17, 27,...) you say Fizz. Same rules apply for 9 and Buzz. If you mess up, you drink and the counting starts over from start.
If your friends are not programmers, it's better to start with just Fizz and 7 :P
This is the most extra thing I have seen in a while.
"This is actually O(1)"
now that you mention it, that's a pretty good point
"So let's make it O(n)"
wait wha-
Thanks Ben that was great, we'll email you about the job status later in the week.
Oh no, Ben has descended into madness from doing too much haskell
No, this is not madness.
THIS
IS
HASKELL
🦵
I subscribed immediately it got to the Haskell prayer. This is gold
This has got to be your greatest video yet
Love your humor! ❤️ Keep it up
You got new subscriber with just Vim magic love that part
I lost it when you said, "And then we're just gonna turn this into an array."
Well, my socks have been thoroughly knocked off.
It's O(n)? putStrLn = mapM putChar. Or something and the length of that array is linear with respect to the max number/fizz/buzz?
not what I expected, it is much better
thank you for making me know how to do those amazing macros in vim
now I am starting to know why many love vim
Instead of 0C, you could use cc, or even just S. Also, for writing 1 to 100, you could copy 0 on 100 lines, select them all, then press g. You could've used more of the visual block mode as well, where pressing I and A allows to insert and append to every line. Also, might as well write a vimscript to write the program for you :p