The nerdy jokes thread (bonus original title mode!)
-
-
Cowboy
belongs toCoder
, notProgrammer
(slight difference)I thought
Cowboy
belongs toBebop
…
-
enum Programmer { Cowboy = 1, Senior = 2, Brillant = 4 , Ninja = 8, Wizard = 16, OldSchool = 32, PHP = 64, ZendCertified = 128 };
Filed under:
ZendCertified | PHP | Wizard
-
enum Programmer { Cowboy = 0x1, Senior = 0x2, Brillant = 0x4 , Ninja = 0x8, Wizard = 0x16, OldSchool = 0x32, PHP = 0x64 };
WTFTFY
-
By definition, anyone that is a Wizard is also Brillant and Senior, anyone who is OldSchool is also Senior and anyone who uses PHP is automatically Brillant.
I approve. I am indeed Brillant at PHP.
-
This post is deleted!
-
(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)
(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)
-
Wow! That's gonna hurt, even with lube.
-
The 7 posts I spawned garnered 12 likes and mine got none.
Clearly no one likes C# style enums.
-
I gave you a pity like.
Which actually worked. Earlier, I tried to like something and got a pop-up like the daily limit exceeded, but completely blank — no error message.
-
Haskell:
data Programmer = Cowboy | Senior | Brillant | Ninja | Wizard | OldSchool | PHP
-
-
I'm curious. How do you write combinable flags in Haskell? I assume the way you wrote those are mutually exclusive.
-
Joke:
Germany, 1942. Hitler is being updated on the latest productivity figures.
"Sir, we are mining too many useless ores."
*Hitler rubs chin* "So mine less."
[Grammar Nazi busts in] "MINE FEWER"
[Hitler looks up] “Yes?"
-
I'm curious. How do you write combinable flags in Haskell? I assume the way you wrote those are mutually exclusive.
Easy:
data Programmer = Cowboy |Senior |Brillant |Ninja |Wizard |OldSchool |PHP |CowboySenior |CowboyBrillant |CowboyNinja |CowboyWizard |CowboyOldSchool |CowboyPHP |SeniorBrillant |SeniorNinja |SeniorWizard |SeniorOldSchool |SeniorPHP |BrillantNinja |BrillantWizard |BrillantOldSchool |BrillantPHP |NinjaWizard |NinjaOldSchool |NinjaPHP |WizardOldSchool |WizardPHP |OldSchoolPHP |CowboySeniorBrillant |CowboySeniorNinja |CowboySeniorWizard |CowboySeniorOldSchool |CowboySeniorPHP |CowboyBrillantNinja |CowboyBrillantWizard |CowboyBrillantOldSchool |CowboyBrillantPHP |CowboyNinjaWizard |CowboyNinjaOldSchool |CowboyNinjaPHP |CowboyWizardOldSchool |CowboyWizardPHP |CowboyOldSchoolPHP |SeniorBrillantNinja |SeniorBrillantWizard |SeniorBrillantOldSchool |SeniorBrillantPHP |SeniorNinjaWizard |SeniorNinjaOldSchool |SeniorNinjaPHP |SeniorWizardOldSchool |SeniorWizardPHP |SeniorOldSchoolPHP |BrillantNinjaWizard |BrillantNinjaOldSchool |BrillantNinjaPHP |BrillantWizardOldSchool |BrillantWizardPHP |BrillantOldSchoolPHP |NinjaWizardOldSchool |NinjaWizardPHP |NinjaOldSchoolPHP |WizardOldSchoolPHP |CowboySeniorBrillantNinja |CowboySeniorBrillantWizard |CowboySeniorBrillantOldSchool |CowboySeniorBrillantPHP |CowboySeniorNinjaWizard |CowboySeniorNinjaOldSchool |CowboySeniorNinjaPHP |CowboySeniorWizardOldSchool |CowboySeniorWizardPHP |CowboySeniorOldSchoolPHP |CowboyBrillantNinjaWizard |CowboyBrillantNinjaOldSchool |CowboyBrillantNinjaPHP |CowboyBrillantWizardOldSchool |CowboyBrillantWizardPHP |CowboyBrillantOldSchoolPHP |CowboyNinjaWizardOldSchool |CowboyNinjaWizardPHP |CowboyNinjaOldSchoolPHP |CowboyWizardOldSchoolPHP |SeniorBrillantNinjaWizard |SeniorBrillantNinjaOldSchool |SeniorBrillantNinjaPHP |SeniorBrillantWizardOldSchool |SeniorBrillantWizardPHP |SeniorBrillantOldSchoolPHP |SeniorNinjaWizardOldSchool |SeniorNinjaWizardPHP |SeniorNinjaOldSchoolPHP |SeniorWizardOldSchoolPHP |BrillantNinjaWizardOldSchool |BrillantNinjaWizardPHP |BrillantNinjaOldSchoolPHP |BrillantWizardOldSchoolPHP |NinjaWizardOldSchoolPHP |CowboySeniorBrillantNinjaWizard |CowboySeniorBrillantNinjaOldSchool |CowboySeniorBrillantNinjaPHP |CowboySeniorBrillantWizardOldSchool |CowboySeniorBrillantWizardPHP |CowboySeniorBrillantOldSchoolPHP |CowboySeniorNinjaWizardOldSchool |CowboySeniorNinjaWizardPHP |CowboySeniorNinjaOldSchoolPHP |CowboySeniorWizardOldSchoolPHP |CowboyBrillantNinjaWizardOldSchool |CowboyBrillantNinjaWizardPHP |CowboyBrillantNinjaOldSchoolPHP |CowboyBrillantWizardOldSchoolPHP |CowboyNinjaWizardOldSchoolPHP |SeniorBrillantNinjaWizardOldSchool |SeniorBrillantNinjaWizardPHP |SeniorBrillantNinjaOldSchoolPHP |SeniorBrillantWizardOldSchoolPHP |SeniorNinjaWizardOldSchoolPHP |BrillantNinjaWizardOldSchoolPHP |CowboySeniorBrillantNinjaWizardOldSchool |CowboySeniorBrillantNinjaWizardPHP |CowboySeniorBrillantNinjaOldSchoolPHP |CowboySeniorBrillantWizardOldSchoolPHP |CowboySeniorNinjaWizardOldSchoolPHP |CowboyBrillantNinjaWizardOldSchoolPHP |SeniorBrillantNinjaWizardOldSchoolPHP |CowboySeniorBrillantNinjaWizardOldSchoolPHP
-
ʎɐqǝ uo pɹɐoqʎǝʞ ɐ ʎnq ı ǝɯıʇ ʇsɐן ǝɥʇ sı sıɥʇ
-
-
G'day Bruce.
-
I'm curious. How do you write combinable flags in Haskell? I assume the way you wrote those are mutually exclusive.
It depends. How do you want to combine them? As conjunctions or as disjunctions?
If I knew there was no chance of confusion, I'd just use a list, or a set, or best yet, a newtype around them:
newtype Categories p = Categories (Set p) categories :: [p] -> Categories p categories = Categories . Set.fromList exampleCowboyWizard :: Categories Programmer exampleCowboyWizard = categories [Cowboy, Wizard]
-
-
Not Michael? Can I call you Bruce to avoid confusion?
-
-
If I start my day at 8, does that make me octurnal?
-
Someone asked me to think of a number and I thought of 0x45
Does this mean I have hex on the brain?
Filed under: Not entirely satisfied with this joke but posting it anyway
-
It's a good first draft.
-
Parents are worried about two things these days.
- What their sons download.
- What their daughters upload.
-
Dick tat idea:
Flaccid: How this tweet looks on discourse.
Turgid: How it's supposed to look.Dick tat idea:
Flaccid: An image of the mandelbrot set.
Turgid: The same image, less finely detailed.
-
It depends. How do you want to combine them? As conjunctions or as disjunctions?
A conjunction, since the disjunction was already represented in a previous post.newtype Categories p = Categories (Set p)
Yeah... I didn't really understand that. I think I'd need to learn me a Haskell.categories :: [p] -> Categories p
categories = Categories . Set.fromListexampleCowboyWizard :: Categories Programmer
exampleCowboyWizard = categories [Cowboy, Wizard]Edit: I think I understand the gist of it, just really not the details.
-
A conjunction, since the disjunction was already represented in a previous post.
Not quite. Or rather, there are two different kinds of disjunctions to consider. The
data Programmer = ...
stuff defined a list of flags. And you're right that there is an implicit disjunction there. If I have a valuezecc :: Programmer
,zecc
is going to equal eitherCowboy
orWizard
etc.Now what if I have a richer type, like:
data Person = Person { name :: String , role :: Programmer }
and a collection of
Person
s. How would I query for thePerson
s that are either aCowboy
or aWizard
? That is the sense of a disjunction that I meant. (I'm not going to answer that question -- but you'd probably want newtypes likeCategories
to represent the conjunction and disjunction and make a Boolean algebra/lattice)Yeah... I didn't really understand that. I think I'd need to learn me a Haskell.
Edit: I think I understand the gist of it, just really not the details.
The gist is the most important part.
Sure, it was fairly idiomatic Haskell.
categories = Categories . Set.fromList
means thatcategories
is the composition ofSet.fromList
andCategories
, as functions. So it turns a list into aSet
into aCategories
.The
Set.fromList
notation might seem a little odd. Basically, I would have to import Data.Set to useSet
s at all. There is a function calledfromList
in there. I can name my imports, so I'd name this oneSet
, and the function gets the nameSet.fromList
.newtype
is kind of hard to explain, because it seems unmotivated. Basically, anewtype
declaration is a special kind of type definition that says "I just want a new type with the same implementation as...".So
newtype Categories p = Categories (Set p)
is making a new type ofSet p
. It's not a sub-type. It's more like a twin sibling. Of course, you can do the same thing withdata Categories p = ...
, but you miss out on the opportunity to let the compiler do a specific kind of optimization. At run time,Categories
andSet
s use the same implementation, with no overhead for wrapping/unwrapping.
-
> A conjunction, since the disjunction was already represented in a previous post.
Not quite. Or rather, there are two different kinds of disjunctions to consider. The
data Programmer = ...
stuff defined a list of flags. And you're right that there is an implicit disjunction there. If I have a valuezecc :: Programmer
,zecc
is going to equal eitherCowboy
orWizard
etc.Now what if I have a richer type, like:
data Person = Person { name :: String , role :: Programmer }
and a collection of
Person
s. How would I query for thePerson
s that are either aCowboy
or aWizard
? That is the sense of a disjunction that I meant. (I'm not going to answer that question -- but you'd probably want newtypes likeCategories
to represent the conjunction and disjunction and make a Boolean algebra/lattice)> Yeah... I didn't really understand that. I think I'd need to learn me a Haskell.
> Edit: I think I understand the gist of it, just really not the details.
The gist is the most important part.
Sure, it was fairly idiomatic Haskell.
categories = Categories . Set.fromList
means thatcategories
is the composition ofSet.fromList
andCategories
, as functions. So it turns a list into aSet
into aCategories
.The
Set.fromList
notation might seem a little odd. Basically, I would have to import Data.Set to useSet
s at all. There is a function calledfromList
in there. I can name my imports, so I'd name this oneSet
, and the function gets the nameSet.fromList
.newtype
is kind of hard to explain, because it seems unmotivated. Basically, anewtype
declaration is a special kind of type definition that says "I just want a new type with the same implementation as...".So
newtype Categories p = Categories (Set p)
is making a new type ofSet p
. It's not a sub-type. It's more like a twin sibling. Of course, you can do the same thing withdata Categories p = ...
, but you miss out on the opportunity to let the compiler do a specific kind of optimization. At run time,Categories
andSet
s use the same implementation, with no overhead for wrapping/unwrapping.I didn't get this joke. Can someone explain?
-
This is all where you're getting into the same sort of thing that people doing OOA/OOD have to do: working out how to really model the world. The way you express it in the target language varies quite a bit, but the bigger picture is pretty much language independent.
The fun part comes when you consider that some entities in the real world model really do mutate over their lifespan. Lots of programming languages have problems with that.
-
I didn't get this joke. Can someone explain?
Its a pun: instead of values that you can set, the enum is implemented as a set of disjoint values.
-
What do you call a bull that is a donut-shape? A taurus.
-
What do you call an annoying bull with a camera? A taurist.
What do you call a bull that is teachings? Taurah.
What do you call a bull that is bishop of rome? Pope Taurius X.I.V.
What do you call a bull that is the Spanish word for bull? El tauro.
What do you call a bull that repeats itself? Histaury.
What do you call a bull that repeats itself? Taurtological.
What do you call a bull that re-eats itself? Taurobouros.
-
What did the bull call his secret fish sauce? Taurtaur.
What did the bull call all of these shitty bull jokes? Tauribull.
-
Tauribull.
Whatever. That ‘papal bull’ one was perfect. You just don't understand my genius.
-
Good lad!
-
Manchester United says fans will not be allowed to bring tablet computers or laptops into matches at Old Trafford, because of security concerns.
Liverpool FC have just announced that they will not allow colouring books, crayons, or any felt tip pens.
-
Liverpool FC have just announced that they will not allow colouring books, crayons, or any felt tip pens.
I hear Fenway has a similar policy.
-
Aren't orange jumpsuits required at Dodger Stadium?
-
No, those are handed out at the exits.
-
"There are only 10 kinds of people in the world: those who understand binary, and those who don't."
There are only 10 kinds of people in the world: those who understand binary, those who don't, and those who weren't expecting a ternary joke.
-
I don't want to say I have bad luck or anything,
But the one and only time I played Tetris, the first thing to drop was a circle.
-
You should have writtenRespect++;
++Respect;
instead. To the casual reader it looks like your Respect stayed the same.
-
Looks like there is no inbound link in my post, but there's an outbound link in @DoctorJones' post. Ah Disbugs...
-
Depends on language.
++Respect;
is legal PHP but you almost never see anyone doing it.
-
You calling me a nobody, punk?
-
No, Respect is still given, merely after the fact.
-
Now there's an outbound link in my post. I guess the post needed more time in the oven or something.
-
I just realized I wrote "inbound" and "outbound" the wrong way around in the post I quoted DoctorJones.