[HN Gopher] Programming for Cats
___________________________________________________________________
Programming for Cats
Author : tigerlilythecat
Score : 413 points
Date : 2021-02-06 15:42 UTC (7 hours ago)
(HTM) web link (programmingforcats.com)
(TXT) w3m dump (programmingforcats.com)
| troymc wrote:
| There's a POSIX utility named "cat" and cats already know what it
| does, but if a man wants to know, he just types the following
| words into the terminal and then presses <Enter>:
|
| man cat
| mojuba wrote:
| As a cat I've been waiting for someone to write a new UNIX
| shell for us named fish.
| ryukafalz wrote:
| Do I have good news for you :) http://fishshell.com/
| 0-_-0 wrote:
| Why is it called fishshell and not shellfish?
| zengargoyle wrote:
| Because it went Shell, then like C Shell, then like Korn
| Shell, then like Bourne Again Shell, and then there's
| like TCL shell.
|
| The 'sh' goes at the end. Shhhhhhhhh.
| 0-_-0 wrote:
| But there is "sh" at the end of "shellfish"!
| zengargoyle wrote:
| That makes it Shell Friendly Interactive Shell which is
| redundant. Then there would be Shell Korn Shell, and
| Shell C shell. The 'sh' for Shell goes at the end as like
| a grammatical marker. It's postfix. Sh-FI-sh is awkward
| because it's prefix of the Shell -> 'sh' and also
| includes the 'sh' for Shell at the end making it a Shell
| X Shell sort of thing.
| 0-_-0 wrote:
| OK, I see the logic. How about "She Shell C Shells on the
| C Shore"?
| smoldesu wrote:
| there's also an 'sh' at the end of 'fish', which is why
| that's the name of the shell.
| techlatest_net wrote:
| Because it is Friendly Interactive SHell
| simlevesque wrote:
| Because...
|
| Bash Shell -> Fish Shell
|
| And if it was shellfish it would be a PITA to Google it.
| borski wrote:
| You ever think you might be sounding a little shellfish?
| BerislavLopac wrote:
| I've always been surprised that nobody has built a small,
| secure shell named "nutshell"...
| zepearl wrote:
| # eix sys-apps/dog * sys-apps/dog Available
| versions: 1.7-r6 Homepage:
| https://packages.gentoo.org/package/sys-apps/dog
| Description: Dog is better than cat
|
| :)
| ape4 wrote:
| `man dog` for me gives:
|
| SHEEPDOG(8) System Manager's Manual SHEEPDOG(8)
|
| NAME dog - Command line utility for the sheep daemon
|
| SYNOPSIS dog <command> <subcommand> [options]
|
| DESCRIPTION dog - Sheepdog is a distributed storage system
| for QEMU. It provides highly available block level storage
| volumes to virtual machines. Sheepdog supports advanced
| volume management features such as snapshot, cloning, and
| thin provisioning. The architecture of Sheepdog is fully
| symmetric; there is no central node such as a meta-data
| server. The server daemon is called
| sheep(8). A command line utility is avail- able
| via dog(8). QEMU virtual machines use the sheep daemon
| via a block driver available in qemu(1).
| For more information, run 'dog <command> <subcommand>
| --help'.
| based2 wrote:
| https://en.wikipedia.org/wiki/Copycat
| tigerlilythecat wrote:
| Author here. Looking to get feedback from programmers before
| publishing. You can download a sample chapter at:
| https://programmingforcats.com/download/
| HowTheStoryEnds wrote:
| Will there actually be basics of programming in there or is it
| just for cuteness?
|
| Buying it either way but it might be a means to finally
| kindling an interest into it in my spouse. :P
| eitland wrote:
| I don't particularly like cats, but the intro is so well
| written I'd been tempted to read a little further.
|
| A few folks have already vented that they don't like it. Don't
| care too much about it. A good bunch of people might love a
| book like this.
| happyconcepts wrote:
| A bad bunch of people too
| gostsamo wrote:
| So, there is already "The Naming of Cats", the book needs "The
| caching of Cats" and you have the two most difficult chapters
| covered.
| bryanrasmussen wrote:
| We need a little discussion as to the best programming
| paradigms for cats - I'd call it "Cool for Cats"
| gostsamo wrote:
| It is interesting how cats will implement tail recursion.
| giovannibonetti wrote:
| Awesome!
| HowTheStoryEnds wrote:
| My cat still seems to run out of space when tail
| recursing when certain values get adjusted, I figure he
| needs to go into functional programming and no longer use
| shared and mutable positional values with what he uses to
| thread.
| shagie wrote:
| If you like The Naming of Cats... check out RFC 2100
| based2 wrote:
| https://tools.ietf.org/html/rfc2100 The Naming of Hosts
| troymc wrote:
| Don't forget "The Herding of Cats"!
| gostsamo wrote:
| Well, the two most difficult things with cats is how to
| name them, how to cache them, and the offset by one when
| counting the herd.
| tyingq wrote:
| Maybe add an ethics section. https://hackernoon.com/learnings-
| from-the-meow-bot-attack-on...
| armoredkitten wrote:
| Ethics? I'm pretty sure cats are above such pedestrian
| concerns.
| HowTheStoryEnds wrote:
| Yeah violating ethics is something that happens when you
| get caught doing something others don't like and like any
| non-critical error a cat can just walk away from that or
| spend their time reprogramming the short-circuited device.
| vlowther wrote:
| It will look good on the bookshelf next to
| https://www.goodreads.com/en/book/show/3113099-mr-bunny-s-bi...
| swader999 wrote:
| Herding cats is always my go-to metaphor for software projects.
| ktpsns wrote:
| Think about a chapter about electronics! Soldering with cats
| is... Weird!
| jgoodknight wrote:
| this is purrfect, I love it can't wait to have the full book:
| good luck finishing it!
| timthorn wrote:
| Excellent work! Did your dog delete the sections on cat & mouse
| games, and em-cat-bedded programming? Oh, and making sure the
| code was appropriately tabbified?
| tigerlily wrote:
| Would you like to have my username instead? If yes then I can
| message you my details via your site and we can mail hn
| together to request a change.
| tigerlilythecat wrote:
| Aww I'm touched! But no need, this is not my main account and
| I only use it for this book, while I see you have a lot of
| history already. But thank you!
| tigerlily wrote:
| No worries. I like your book sample and thoroughly enjoyed
| your illustrations :)
| Zhyl wrote:
| Firstly, this is frikking hilarious. I giggled so loudly while
| reading it that my girlfriend asked what I was laughing at and
| she was so captivated by it that I had to sit on the couch with
| her reading it, flicking to the next page of the downloadable
| whenever she'd finished.
|
| Secondly, I applaud the style/premise of the book. Cats
| especially are aiming at an underserved demographic that would
| absolutely be interested in programming but do not have the
| same number of and level of quality of 'ins' (ways of getting
| into programming) as other demographics. Along the same lines I
| would love to see 'scripting for Sims 4 builders' or 'Love
| Calculator and other scriots for your next sleepover'.
|
| Thirdly, I really like the way that this is pitched. I feel
| like _so few_ tutorials give a high level overview of
| programming rather than diving into specifics of languages. I
| can only think of "Hello Ruby" as being analogous, although
| I'm sure others exist.
|
| Finally, I love the art style. Not much more to be said than
| that.
|
| I can't really think of anything critical to add.
| tigerlilythecat wrote:
| Thank you! I agree that cats are an underserved demographic!
| P.S. Tell your girlfriend to buy you the book for your
| birthday :)
| networkimprov wrote:
| As you liked this, you'll adore the original (?) entry in
| this genre, the delightful and pictorial
|
| _Why Cats Paint - A theory of feline aesthetics_
|
| http://www.monpa.com/wcp/
| pcthrowaway wrote:
| Are there any good resources for felines in tech?
| smlckz wrote:
| Meow. Mwahaha. Why Java? What made you think that cats would
| like OOP and lots of boilerplate?
| derefr wrote:
| To answer seriously: it might not be most people's favorite
| language, but it's probably one that the most practicing
| programmers today _and_ people who ever took a programming
| language in school any time in the last 30 years, can read;
| and therefore it 's probably the best choice as the basis for
| a humor book.
|
| Java has so little syntax--and yet what little syntax it has
| is C-ish--that it's mutually intelligible to everybody from
| programmers who only know C, to programmers who only know
| Haskell. (Maybe not to programmers who only ever learned 6502
| assembler, but they have their own humor books published 40
| years ago.)
|
| (Is there a term for this in linguistics? A measure of the
| eigenvector of mutual intelligibility a language has to all
| other spoken/written languages?)
| smlckz wrote:
| i don't know, but, why not, say, BASIC? (most programmers
| being able to understand) or, Smalltalk, (little syntax,
| that ''fits inside a postcard'') or a lisp?
| pmontra wrote:
| BASIC was commonly understood in the 80s despite lots of
| very different dialects and also in the 90s mostly
| because of Visual Basic. Is it still true that developers
| are familiar with BASIC? I would expect that JavaScript
| and maybe Python replaced BASIC as lingua franca.
| JavaScript looks simpler because it basically (pun
| intended) doesn't have a standard library to learn, with
| all the problems deriving from that.
|
| Java doesn't seem a bad choice because if one sticks to
| the basics probably everybody can figure out what a
| simple program does. Smalltalk, I wonder how many people
| here ever read a Smalltalk source file [1]. Lisp, maybe
| more, at least to look once at all those funny
| parentheses (disclaimer, I wrote my fair share of Lisp
| but I know the effect it does on most people.)
|
| [1] One random Smalltalk project from the list of
| trending Smalltalk repositories on GitHub
| https://github.com/svenvc/zinc
| xkriva11 wrote:
| What you see in the Zinc repository is (obsolete)
| serialization format, not the code the programmer works
| with.
| alisonkisk wrote:
| BASIC was commonly understood because it had no structure
| or boilerplate to learn, just a few commands.
| alexshendi wrote:
| "Java has so little syntax... ". I pronounce this the
| understatement of the (admittedly young) decade.
| nomdep wrote:
| I took Object Pascal, C, C++, and Visual Basic. Never Java
| systemvoltage wrote:
| Java is like an older brother. He gets all the work done,
| takes responsibility, accepts blame and still takes a lot of
| flak. Undetered.
| swader999 wrote:
| I was thinking cats would prefer scala.
| tigerlilythecat wrote:
| You are absolutely correct, because there is a great Scala
| library called "Cats"! https://typelevel.org/cats/
| berkes wrote:
| Looking at my cats, I presume they ignore anything neat and
| impressive, prepared for them. And instead go for the first
| thing that satisfies their current whim.
|
| So, a hodgepodge of bash, basic, Python, JavaScript and
| some C. Or Java if it happens to be just on top in some
| menu. And NIH: obviously theyr own ZiggyLang or ZazaScript.
| [deleted]
| happyconcepts wrote:
| Except for the multitasking legstand reference, your introduction
| describes Donald J Trump
|
| I suggest you change your title to reflect the premise of your
| book e.g. Programming for Egomaniacs
| speedcoder wrote:
| reminds me of "Mr. Bunny's Guide to ActiveX"
| https://www.goodreads.com/book/show/2433344.Mr_Bunny_s_Guide... -
| obsolete by now yet very funny
| alex_young wrote:
| Another fine published resource for cat:
| https://www.shlomifish.org/humour/bits/Mastering-Cat/
| segfaultbuserr wrote:
| Programming for cat. $ /bin/cat - | python -
| print("Hello, world!") ^D Hello, world!
| timthorn wrote:
| You should have included some string manipulation.
| philipswood wrote:
| Nah, handling mouse events would be better.
| pmontra wrote:
| And a red spot in a loop ;-)
| elif wrote:
| Knowing my cats, they would experience a buffet overload.
| XCSme wrote:
| Purrrr...
| omarhaneef wrote:
| Your silence on dogs is deafening...
| tigerlilythecat wrote:
| We do not talk about dogs
| andrewnc wrote:
| I recently wrote a high level book on data science with a bunch
| of pictures and illustrations (not nearly this nice).
|
| I am a big proponent of the idea of fusing art and technical
| content in a pedagogical way.
|
| This is really nice, even if I'm not the target audience, I can
| appreciate just how much care and effort went into this work.
| Best of luck moving forward!
| dstick wrote:
| > even if I'm not the target audience
|
| Ah - so you're not a cat?
| sogen wrote:
| do you have a PDF sample?
| andrewnc wrote:
| Not nearly the same level as this book. I have the table of
| contents and two pages.
|
| https://andrewnc.github.io/preview/toc.png
| https://andrewnc.github.io/preview/page_20.png
| https://andrewnc.github.io/preview/page_94.png
|
| There is a PDF version online that is "half priced" on
| gumroad to try and make it affordable for those who don't
| need a hardcopy
| technick wrote:
| Shut up and take my money!!!
| systemvoltage wrote:
| I'd like to recognize and appreciate how exceptionally
| captivating these illustrations are. Karen's illustrations [0]
| bring whimsical beauty to this quirky book - it's a perfect
| match.
|
| In the sea of "Corporate Memphis" [1][2], it's pretty refreshing
| to see the good stuff.
|
| [0] https://www.karendonnelly.com/
|
| [1] https://news.ycombinator.com/item?id=22890877
|
| [2] https://www.are.na/claire-l-evans/corporate-memphis
|
| PS - Feedback to the author: Dogs really love JPEGs in the PDF,
| so try to use SVG format instead.
| tigerlilythecat wrote:
| Thank you! Karen's illustrations are indeed wonderful. And
| thanks for the tip re SVG. The originals are large raster
| images and the JPGs with lossy compression seem to be much
| smaller than a PNG embedded within a SVG. I'm open to
| suggestions though. The printed book will use the uncompressed
| images of course. :)
| peterdemin wrote:
| Toilet water is a better name for Java indeed
| [deleted]
| jgoodknight wrote:
| there's got to be a good python joke for cats but I can't think
| of what type it would be
| tyingq wrote:
| Python is highly preferred by tabby cats.
| based2 wrote:
| who do not like C 'switch'
| elif wrote:
| I have dreamed about using a pet feeder to gradually teach my
| pets how to use buttons and eventually limited keyboards, to see
| how abstract of concepts they are able to interact with.
|
| I was hoping this was in that domain.. but alas, I could see this
| being entertaining to 8-14 year old children.
| shagie wrote:
| You might be interested in the YouTube channels:
|
| * I am Bunny (a very fluent dog) (
| https://www.youtube.com/channel/UCEa46rlHqEP6ClWitFd2QOQ )
|
| * BiliSpeaks (a cat) (
| https://www.youtube.com/channel/UCGMTesZlKa0Lokb7ZNqOJXQ )
| coldtea wrote:
| > _but alas, I could see this being entertaining to 8-14 year
| old children._
|
| Or adults with a working sense of humor.
| berkes wrote:
| Miauw! Does it have threads? I love threads. Especially if I can
| turn them into a mess. and what comes last knows what no-one
| first comes So that.
| tigerlilythecat wrote:
| Yes, of course :) It reads "To deal with concurrency issues,
| you may be tempted to experiment with multiple threads. Do not
| do this. You will end up with some regrettable racing
| conditions and then a terrible tangle."
| slayerjain wrote:
| The cat would just eat the mouse, not so much for programming XD
| zupreme wrote:
| Read the sample. I was sold as soon as I ran across terms like
| "The Society for the Promotion of Cat Ascendency (SPCA)" and "The
| Association for Cat Machinations (ACM)" and the following
| disturbingly accurate paragraph:
|
| "Juvenile humans, in particular, are capable of having their
| internal logic be permanently reconfigured by repeated exposure
| to certain powerful instructions. These kinds of devices are
| called purrgrammable logic devices."
|
| Excellent work!
| jbob2000 wrote:
| The people you're hoping to sell this to aren't interested in
| programming.
|
| If you can't sit down for an hour to learn something, you're
| going to _hate_ programming because that's literally the entire
| job.
| teddyh wrote:
| You're thinking of the _readers_ , not the _buyers_. This is an
| important distinction, since they may not overlap much.
|
| I.e. this might be one of those books which is meant to be
| bought _as gifts for others_ , regardless of whether the
| recipient will read them or not.
| jabberwcky wrote:
| This site is designed to destroy old eyeballs. Is it just me or
| is the font razor-thin? Firefox Ubuntu 19.04 HiDPI
|
| Changing <body> CSS rule to "color: black; font-weight: normal"
| was required to actually read the page here
| tigerlilythecat wrote:
| Thanks for that feedback. I will adjust the CSS.
| krylon wrote:
| I love it!
|
| Coincidentally, after I managed to get my sister to name her
| daughter Ada after the programming language, I will eventually
| have to make an effort to get her acquainted with programming.
| This book will make a good starting point.
| sdenton4 wrote:
| Ha, and Ada the programming language is named after Ada the
| badass.
|
| https://en.m.wikipedia.org/wiki/Ada_Lovelace
| krylon wrote:
| I know, that is why I suggested the name. I would not have
| suggested she call her daughter COBOL or BASIC. (FORTRAN
| could make a cool name, though.)
| BerislavLopac wrote:
| Make sure she names her son Haskell.
| based2 wrote:
| https://www.infoworld.com/article/2077265/so-why-did-they-de...
| zyxzevn wrote:
| What do you get when combine C++ and C# ?
|
| You you get C@
|
| Subreddit for Cat related programmer jokes:
|
| http://www.reddit.com/r/C_AT
| blah_blah wrote:
| thanks for this. meow
| TriNetra wrote:
| There was a man with a cat and he loved it so dearly. One day he
| thought if the cat would have been a woman, they'd have a nice
| time together. The God was listening - low and behold the cat
| turned into a beautiful woman instantly.
|
| The man was surprised but overjoyed. A few years passed with both
| having a great time together, and one day ...
|
| A mouse appeared in front of the woman and she grabbed it with
| her tender hand and ate it raw and alive right that very moment.
|
| The man was disgusted to see this and the God remarked "Look I
| can change a being from outside but what they are inside even I
| can't change!"
|
| Disclaimer: No pun intended; just sharing after reading the title
| for fun. No offence to cats around :)
| hans863 wrote:
| Excellent! I plan to buy your book and use it to teach my
| daughter programming. She loves cats and doesn't leave the side
| of her cat. I will read this book to the cat, and maybe my
| daughter will pick up something too.
| tigerlilythecat wrote:
| That's an excellent plan :)
| telesilla wrote:
| Indeed! And perhaps programming-style instructions to turn a
| page into an origami cat toy might be a great way to get our
| younger adults to engage.
|
| https://www.origamispirit.com/2013/11/homemade-cat-toy/
| Dangeranger wrote:
| This sort of writing is a wonderful departure from the
| traditional and is underrepresented in programming books. There
| are a few other examples that I know of which could be considered
| similar, but don't focus as heavily on the illustrative approach
| show here. Some works for comparison would be; Land of Lisp,
| Realm of Racket, Clojure for the Brave and True, Learn you a
| Haskell for Great Good!, Learn you some Erlang for Great Good!,
| and Why's (Poignant) Guide to Ruby. There may be more I am not
| aware of. On the topic of cats programming there is also
| JavaScript for Cats, which is great too.
| rzzzt wrote:
| "Chunky Bacon!"
|
| I loved the characters, sidebars and various stories; I don't
| remember too much of the Ruby content, however.
| boomskats wrote:
| JavaScript for Cats taught me more about JS than any other book
| or course combined. I don't know how it compares to the other
| examples you mention, but there's something about the informal
| style that just works for me and my attention span.
| richajak wrote:
| During the day, my cat will sit behind me while I am coding
| in Javascript. We practise mentoring system. He can focus in
| it, not disturbed by the cooked chicken. I think both of us
| may have ADD/ADHD.
|
| :-)
| drdude wrote:
| I thought it was Cats (the scala library) :D
| drdude wrote:
| I thought it was Cats for Scala (the library)
| Symbiote wrote:
| This reminds me of _The Unadulterated Cat_ by Terry Pratchett.
|
| Good job!
___________________________________________________________________
(page generated 2021-02-06 23:02 UTC)