VS Code Pets

2 months ago (github.com)

This has reminded me of an anecdote. I work on a corporate social network. One day a colleague from the parent company comes to us scared because instead of seeing the people photos and the attached images, he saw strange images. As in the past we had some scare with xss reflected, we immediately got scared and went straight to investigate the matter. It turned out that the colleague had a Firefox extension installed that changed his images for Nicholas Cage's faces. He didn't remember having done it, but we did remember his blunder hahaha

  • I remember one of the students in our school replaced the Windows 95 startup logo with the goatse.cx picture of every computer of a new lab, the rector of the moment called an emergency gathering in the gym BEGGING the students to change it back . promising that there would be no repercussions, he was sweating blood, because authorities picked our school to inaugurate the computer national program that made the lab possible, the next day. nobody talked, they had to change the inauguration to another school, fun times.

  • Here's anecdote from Google's glory days! We had a similar extension, with Larry Page instead of Nicholas Cage. And anyone leaving their computer unlocked were subject do it.

    This became widespread enough to be mentioned at the new employee orientation.

  • At university, we used this extension to teach our classmates about good security practices, such as locking their computers when left unattended. It was fun, especially when professors didn't lock their computers. And my former classmates did learn to lock their computers :)

    • violating security policies in order to “teach a lesson” is a sure fire way to get people to lose trust in you.

      Accessing someone’s computer and manipulating the software was instant termination at my old company. Some new security guy joined and tried to do what you did. Find unlocked computers and mess with them to prove a point. He lasted a week.

      26 replies →

    • Some IT departments spend years trying to drill "Lock your computer!" into people’s heads yet you need just really simple solution!

  • At a company selling a B2B platform, we had an internal extension used to teach how to write extensions that drew an interactive pet on screen, similar to the one in this VS Code extension. It accidentally got deployed to one client, which caused a complete company shutdown because lots of people suddenly reported being hit by a virus to their internal IT team, causing company-wide panic.

    I'm not sure what the lesson here is.

  • At my company this happened once across all our internal tools. It was a joke inside one department that accidentally got pushed comapny wide

Sadly they only appear in the right/left hand side, not the editor :( I want a cat that reacts to my code, ideally getting mad at me for writing poor quality code, and stretching/sleeping when I'm thinking.

  • I got "power mode" (or something similar) installed in Intellij/Jetbrains IDE. The faster I write or bigger change I make the more sparkles and flames etc grow around the cursor. Similar plug-ins exist for other editors as well. A bit fun to enable before pairing with a coworker to see their reaction.

  • Triggering an animation based on what's under the cursor sounds interesting. Like moving to a loop declaration starts a chase-your-tail animation. Or moving to a function signature gives the pet some paint and paper.

  • Atom could have them in the editor. But one of the wins for VS Code was better security isolation for plugins.

    Maybe Microsoft could bring back the Bob team to integrate pets with all facets of VS Code.

  • It could enforce 80 char line width limits by batting stray characters “of the ledge” to watch them fall

  • > a cat that reacts to my code, ideally getting mad at me for writing poor quality code, and stretching/sleeping when I'm thinking

    This... this needs to happen!

Random thought... What if you could link pets to visibility of a variable? If the variable is in scope, a certain pet appears. You get both cute, and something to tickle your brain with familiarity.

  • That unholy petvar symbiosis owns the codebase like a cat owns your house. The program and the company are now in service of minTaxRateOffsetTemp.

Can my pet subtly react to the state of my workspace? If there’s errors and warnings, or if various events happen.

  • Hmmm. Given the state of your code we would also need to incorporate a VS Code Veterinary Hospital and I’m not sure you can afford the insurance premiums.

    • [obviously I know nothing about the state of your code which I am sure is very good and so this should simply be understood as me being ‘amusingly’ mean!]

On a slightly unrelated note, I am absolutely thrilled about tonybaloney’s other project[1] that automatically generates C# bindings for python. Can’t wait for it to support complete class mappings and finally I will be able to use python ‘type-safely’.

[1] https://github.com/tonybaloney/CSnakes

Is there evidence showing that such things do boost productivity? Or any research on how they affect the way people work?

  • I can't think of a reason why it would improve productivity, can you think of anything?

    • Perhaps these 1. Stress relief 2. Makes boring work a bit more interesting 3. Rubber duck debugging 4. A small amount of distraction might actually boost productivity by allowing us to jump out of a local optimum?

I've have this installed for years, and actually find it useful. It's my version of "rubber duck programming", where when I'm thinking through something I sit there throwing balls to the little puppy while my brain crunches away.

This is such a great idea. Very original, at least as far as I'm aware. Kinda nice to see something like this in today's cynical world.

Would be cooler if it walked around the whole screen and not just stuck in a dedicated panel.

Ok… this should be like tamagotchi - but if the more errors you have the closer it is to dying, and you feed it by taking breaks often i.e. coding for too long in one sitting and it starts dying incentivising you to take breaks!

Yes! This is along the lines of what I thought of when I saw ghostty.

  https://news.ycombinator.com/item?id=42524537

It's too bad I don't use vscode. I think it would be cool to have something that can jump between terminal emulators, something that isn't shackled to a text editor.

EDIT: I seem to vaguely remember something similar to this concept from some anime I watched that depicted a "hacker". It might have been serial experiments lain, or cowboy bebop..

Really cute and charming! And beyond the fun factor, I can see something like this subtly boosting morale.

Now integrate them with your linter of choice, so the pet's attitude reflects the current state of your code.

How does it boost productivity? I feel like it is a distraction.

  • Brief interactions with your "pet" encourage you to take small mental breaks. For me it can be a big boost of productivity

    • Uninvited, randomly forced small mental breaks is disruptive for me.

      That said, I have a real pet, when I get the feeling to play with it, I do so, and it helps my mind to come up with a solution while I'm not consciously thinking about it. I often came up with great ideas while I was talking to my girlfriend as well, essentially when I wasn't actively focusing on the issue.

      1 reply →

I imagine software archaeologists of the future will use this prominently to explain why developers have been replaced with AI. /s