8 ms·
Programming for Cats
- zupreme 6y agoRead 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!
- tigerlilythecat 6y agoAuthor here. Looking to get feedback from programmers before publishing. You can download a sample chapter at: https://programmingforcats.com/download/ https://programmingforcats.com/download/
- timthorn 6y agoExcellent 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?
- smlckz 6y agoMeow. Mwahaha. Why Java? What made you think that cats would like OOP and lots of boilerplate?
- swader999 6y agoI was thinking cats would prefer scala.
- berkes 6y agoLooking 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.
- tigerlilythecat 6y agoYou are absolutely correct, because there is a great Scala library called "Cats"! https://typelevel.org/cats/ https://typelevel.org/cats/
- derefr 6y agoTo 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?)
- alexshendi 6y ago"Java has so little syntax... ". I pronounce this the understatement of the (admittedly young) decade.
- nomdep 6y agoI took Object Pascal, C, C++, and Visual Basic. Never Java
- smlckz 6y agoi 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 6y agoBASIC 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 https://github.com/svenvc/zinc
- systemvoltage 6y agoJava is like an older brother. He gets all the work done, takes responsibility, accepts blame and still takes a lot of flak. Undetered.
- tyingq 6y agoMaybe add an ethics section. https://hackernoon.com/learnings-from-the-meow-bot-attack-on-our-mongodb-databases-y22q3zs8 https://hackernoon.com/learnings-from-the-meow-bot-attack-on...
- armoredkitten 6y agoEthics? I'm pretty sure cats are above such pedestrian concerns.
- HowTheStoryEnds 6y agoYeah 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.
- swader999 6y agoHerding cats is always my go-to metaphor for software projects.
- eitland 6y agoI 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 6y agoA bad bunch of people too
- gostsamo 6y agoSo, there is already "The Naming of Cats", the book needs "The caching of Cats" and you have the two most difficult chapters covered.
- troymc 6y agoDon't forget "The Herding of Cats"!
- gostsamo 6y agoWell, 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.
- bryanrasmussen 6y agoWe need a little discussion as to the best programming paradigms for cats - I'd call it "Cool for Cats"
- gostsamo 6y agoIt is interesting how cats will implement tail recursion.
- giovannibonetti 6y agoAwesome!
- HowTheStoryEnds 6y agoMy 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 6y agoIf you like The Naming of Cats... check out RFC 2100
- vlowther 6y agoIt will look good on the bookshelf next to https://www.goodreads.com/en/book/show/3113099-mr-bunny-s-big-cup-o-java https://www.goodreads.com/en/book/show/3113099-mr-bunny-s-bi...
- jgoodknight 6y agothis is purrfect, I love it can't wait to have the full book: good luck finishing it!
- Zhyl 6y agoFirstly, 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 6y agoThank you! I agree that cats are an underserved demographic! P.S. Tell your girlfriend to buy you the book for your birthday :)
- networkimprov 6y agoAs 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/ http://www.monpa.com/wcp/
- pcthrowaway 6y agoAre there any good resources for felines in tech?
- ktpsns 6y agoThink about a chapter about electronics! Soldering with cats is... Weird!
- tigerlily 6y agoWould 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 6y agoAww 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 6y agoNo worries. I like your book sample and thoroughly enjoyed your illustrations :)
- HowTheStoryEnds 6y agoWill 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
- hans863 6y agoExcellent! 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.
- telesilla 6y agoIndeed! 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/ https://www.origamispirit.com/2013/11/homemade-cat-toy/
- tigerlilythecat 6y agoThat's an excellent plan :)
- segfaultbuserr 6y agoProgramming for cat. $ /bin/cat - | python - print("Hello, world!") ^D Hello, world!
- timthorn 6y agoYou should have included some string manipulation.
- philipswood 6y agoNah, handling mouse events would be better.
- peterdemin 6y agoToilet water is a better name for Java indeed
- jbob2000 6y agoThe 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 6y agoYou’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.
- happyconcepts 6y agoExcept 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
- alex_young 6y agoAnother fine published resource for cat: https://www.shlomifish.org/humour/bits/Mastering-Cat/ https://www.shlomifish.org/humour/bits/Mastering-Cat/
- jgoodknight 6y agothere's got to be a good python joke for cats but I can't think of what type it would be
- elif 6y agoI 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 6y agoYou might be interested in the YouTube channels: * I am Bunny (a very fluent dog) ( https://www.youtube.com/channel/UCEa46rlHqEP6ClWitFd2QOQ https://www.youtube.com/channel/UCEa46rlHqEP6ClWitFd2QOQ ) * BiliSpeaks (a cat) ( https://www.youtube.com/channel/UCGMTesZlKa0Lokb7ZNqOJXQ https://www.youtube.com/channel/UCGMTesZlKa0Lokb7ZNqOJXQ )
- coldtea 6y ago>but alas, I could see this being entertaining to 8-14 year old children. Or adults with a working sense of humor.
- berkes 6y agoMiauw! 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 6y agoYes, 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."
- zyxzevn 6y agoWhat 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 http://www.reddit.com/r/C_AT
- blah_blah 6y agothanks for this. meow
- Dangeranger 6y agoThis 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 6y ago"Chunky Bacon!" I loved the characters, sidebars and various stories; I don't remember too much of the Ruby content, however.
- boomskats 6y agoJavaScript 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 6y agoDuring 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. :-)
- troymc 6y agoThere'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 6y agoAs a cat I've been waiting for someone to write a new UNIX shell for us named fish.
- ryukafalz 6y agoDo I have good news for you :) http://fishshell.com/ http://fishshell.com/
- 0-_-0 6y agoWhy is it called fishshell and not shellfish?
- simlevesque 6y agoBecause... Bash Shell -> Fish Shell And if it was shellfish it would be a PITA to Google it.
- borski 6y agoYou ever think you might be sounding a little shellfish?
- zengargoyle 6y agoBecause 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 6y ago
- XCSme 6y agoPurrrr...
- deleted 6y ago[deleted]
- krylon 6y agoI 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 6y agoHa, and Ada the programming language is named after Ada the badass. https://en.m.wikipedia.org/wiki/Ada_Lovelace https://en.m.wikipedia.org/wiki/Ada_Lovelace
- krylon 6y agoI 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 6y agoMake sure she names her son Haskell.
- omarhaneef 6y agoYour silence on dogs is deafening...
- tigerlilythecat 6y agoWe do not talk about dogs
- andrewnc 6y agoI 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!
- sogen 6y agodo you have a PDF sample?
- andrewnc 6y agoNot 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/toc.png https://andrewnc.github.io/preview/page_20.png https://andrewnc.github.io/preview/page_20.png https://andrewnc.github.io/preview/page_94.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
- dstick 6y ago> even if I’m not the target audience Ah - so you’re not a cat?
- slayerjain 6y agoThe cat would just eat the mouse, not so much for programming XD
- Symbiote 6y agoThis reminds me of The Unadulterated Cat by Terry Pratchett. Good job!
- jabberwcky 6y agoThis 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 6y agoThanks for that feedback. I will adjust the CSS.
- based2 6y agohttps://www.infoworld.com/article/2077265/so-why-did-they-decide-to-call-it-java-.html https://www.infoworld.com/article/2077265/so-why-did-they-de...
- drdude 6y agoI thought it was Cats (the scala library) :D
- drdude 6y agoI thought it was Cats for Scala (the library)
- deleted 6y ago[deleted]
- technick 6y agoShut up and take my money!!!
- TriNetra 6y agoThere 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 :)
- systemvoltage 6y agoI'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/ https://www.karendonnelly.com/ [1] https://news.ycombinator.com/item?id=22890877 https://news.ycombinator.com/item?id=22890877 [2] https://www.are.na/claire-l-evans/corporate-memphis 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 6y agoThank 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. :)
- speedcoder 6y agoreminds me of "Mr. Bunny's Guide to ActiveX" https://www.goodreads.com/book/show/2433344.Mr_Bunny_s_Guide_to_ActiveX https://www.goodreads.com/book/show/2433344.Mr_Bunny_s_Guide... - obsolete by now yet very funny
- Anthony-G 6y agoWhile reading this, I'm running the following commands on my media server in the sitting room corner: eject /dev/sr0 && read && eject -t /dev/sr0 The `read` is there so I only have to press the Enter key to close the disc tray before my feline fired catches it (I learned the hard way when the motor stopped working on `/dev/sr1`). He’s clever enough to have figured out that it’s me typing on the laptop that causes the DVD tray to eject and he gets equally excited when he sees me pick up the remote control for the Blu-Ray or CD player.