Yuvi Panda

JupyterHub | MyBinder | Kubernetes | Open Culture

2017

I haven’t done a ‘year in retrospective’ publicly for a long time, but after reading Alice Goldfuss’ 2017 year in review decided to do one for me too!

This is a very filtered view - there are lots of important people & events in 2017 that are not contained here, and that is ok.

Professional

  • New Job

    I finished around 6-ish years at the Wikimedia Foundation, and joined UC Berkeley’s Data Science Division early in the year. I grew immensely as a person & programmer in that time. The new job gives me a lot more responsibility and it is quite fun.

    At Berkeley, I build infrastructure for students to dive into writing code to solve their own problems in their own fields without having to navigate the accidental complexities of software installation & configuration as much as possible. This is in line with my previous work like Quarry or PAWS, except it’s my main paid-for job now rather than a side project, which is great! It lets me work full time in realizing some of the ideas from my talk on democratizing programming. I’m happy with the kind of work I’m doing, the people I am doing it with, the scale I am doing it at and the impact I think it is having. I feel lucky & privileged to be able to do it!

    Wherever I go, whatever I do - good or bad - Wikimedia will always be partially responsible for that :)

  • Working closer to users

    At my Wikimedia Job, I was partially responsible for maintaining the Tool Labs infrastructure. Others (mostly volunteers) built the tools that end users actually used. While this was still good, it made me one step removed from the actual end users. At Berkeley, end users (both students & faculty) directly use the infrastructure I build This increase in directness has given me a lot of joy, happiness & confidence about the impact of the work I’m doing.

  • MyBinder

    I helped rewrite & redeploy mybinder.org as part of the mybinder team, which was one of the high points of the year! It has had the most public facing impact of all the projects I’ve worked on this year - even got a glowing review from Juilia Evans! We’re now temporarily funded via a grant from the Moore Foundation, and need to find long term sustainable solutions. We have a lot of low hanging fruit to take on in the next year, so I am super excited for it!

  • Academia

    I’m now sort-of accidentally ‘inside’ Academia as defined in the US, which is a strange and surreal experience. I’m ‘staff’, which seems to be a distinct and different track than the grad student -> post grad -> faculty track. From the inside, it is many moving parts than one behemoth - some move fast, some slow & super cool stuff / tension at the intersections. I don’t fully understand my place in it yet, but maybe someday I will!

  • Teams

    At Wikimedia, I was in a team of (otherwise amazing!) operations folks that was mostly white and male. Now, I’m in multiple diverse & multi-disciplinary teams, and it is amazing. I find it easier to do more impactful work, grow technically & professionally, build consensus and have fun. Hard to go back!

  • Intersections

    I spend time at the Berkeley Institute for Data Science, with the interesting variety of people who are there. They’re all very smart in different fields than I am in, and the intersection is great. I walk away from every conversation with anyone feeling both dumber & smarter for the new knowledge of things I now knew I didn’t know! Cool (and sometimes uncomfortable) things happen at intersections, and I want to make sure I keep being in those spaces.

Community

  • I am a Maintainer

    With enough involvement in the Jupyter community, I have now found myself to be an actual Maintainer of open source projects in ways I was not when I was at Wikimedia. Took me a while to realize this comes with a lot of responsibility and work that’s not just ‘sit and write code’. I am still coming to terms with it, and it’s not entirely fully clear to me what the responsibilities I now have are. Thankfully I’m not a solo maintainer but have wonderful people who have a lot of experience in this kinda stuff doing it with me!

  • Talks

    I was involved in 3 talks ( 1 2 3 ) and 1 tutorial at JupyterCon this year, which was a mistake I shall not make again. I also gave one talk at KubeCon NA 2017. I am a little out of practice in giving good talks - while these were okay, I know I can do better. I gave a number of talks to smaller internal audiences at UC Berkeley & ran a number of JupyterHub related workshops - I quite enjoyed those and will try to do more of that :)

  • Documentation

    I finally understood how little I had valued writing good documentation for my projects and spent time correcting it this year. I still have a long way to go, but the Jupyter community in general has helped me understand and get better at it.

Technical

  • Python skills

    I’ve started working on python projects again, rather than just scripts. Some of my skills here have rusted over years of not being heavily used. I got into writing better tests and found lots of value in them. This is another place where being part of the Jupyter ecosystem has made it pretty awesome for me.

  • Autonomous systems

    This year I’ve had far more operational responsibilities than I had at Wikimedia, and it has forced me to both learn more about automation / autonomous systems & implement several of them. It’s been an intense personal growth spurt. I also have the ability to work with public clouds & a lot of personal freedom on technology choices (as long as I can support them!), and it’s been liberating. It will be hard for me to go back to working at a place that’s automated a lot less.

  • Performance analysis + fixing

    I did a lot of performance analysis of JupyterHub, in a ‘profile -> fix -> repeat’ loop. We got it from failing at around 600ish active users to about 4k-5k now, which is great. I also learnt a lot about profiling in the process!

  • Container internals

    I learnt a lot about how containers work at the kernel level. Liz Rice’s talk Building a container from scratch made me realize that yes I could also understand containers internally! LWN’s series of articles on cgroups and namespaces helped a lot too. I feel better understanding the hype & figuring out what is actually useful to me :) It pairs well with the kubernetes knowledge I gained from 2016.

Personal

Lots happened here that I can not talk about publicly, but here is some!

  • Election & Belonging

    The 2016 US Elections were very tough on me, causing a lot of emotional turmoil. I participated in some protests, became disillusioned with current political systems, despondent about possible new ones & generally just sad. I feel a bit more resilient, but know even less than before if the US will be a good long term place for me. I’d like it to be, and am currently operating on the assumption that the Nov 2018 elections in the US will turn better, and I can continue living here. But I am starting German classes in a week just in case :)

  • Visa situation

    My visa situation has stabilized somewhat. Due to wonderful efforts of many people at UC Berkeley, I am possibly going to start my Green Card process soon. My visa is getting renewed, and I’ll have to go back to India in a few months to get it sorted. It’s a lot more stable than it was last year this time!

  • Traveling

    I did not travel out of the country much this year. I had the best Fried Chicken of my life in New Orlean’s, and good Chicken 65 (!!!) in Austin. I also did my first ever ‘road trip’, from the Bay Area to Seattle! I spent a bit of time in New York, Portland & Seattle as well - not enough though. Paying bay area rents does not help with travel :(

  • Cooking

    I cooked a lot more of the food I ate! I can make it as spicy or sweet as I want, and it is still healthy if I make it at home (right?). Other people even actually liked some of the food I made.

  • Health

    I haven’t fully recovered from a knee injury I had in 2016 :( It made me realize how much I had taken my body for granted. I am taking better care of it now, and shall continue to. I’m doing weights at home, having admitted I won’t have the discipline to actually go to a gym regularly when it is more than a 3 minute walk…

  • Hair

    It’s been mostly red this year! I might just stick to red from now on. I switched out my profile picture from random stick figure to a smiling selfie that I actually like, and it seems to have generally improved my mood.

In conclusion

  • My primary community is now the Jupyter community, rather than the Wikimedia community. This has had a lot of good cascading changes.
  • Lots of personal changes, many I can’t publicly talk about.
  • The world is an bleaker & more hopeful place than I had imagined.

‘18!

“Things”

I’m writing this post in an attempt to catalog the list of things I own so I can evaluate if I really need them and get rid of them.

  1. 15″ rMBP
  2. Kinesis Keyboard
  3. Apple Trackpad
  4. Moto X
  5. Kindle
  6. Nexus 7 (To be returned to the WMF)
  7. Broken Nexus 4 (To be backed up and then… something)
  8. iPod Touch
  9. Earphones (Soundmagic E10)
  10. Headphones (AudioTechnica ATH M50)
  11. Battery Pack #1
  12. Battery Pack #2
  13. MiFi (US Only)
  14. Multi USB Charger + 6 USB Cables
  15. Bluetooth Speaker (JBL Flip 2)
  16. Assorted Medication (in several loose covers, need to consolidate)
  17. Toiletries (Emergency Soap, Toothbrush, Toothpaste, Hair Gel, Shampoo, Conditioner)
  18. Velcro Rolls
  19. Box of Leaves
  20. Octopus
  21. Letter in Envelope
  22. Universal plug convertor
  23. Physical paper notebook
  24. Nailcolor
  25. Glasses + backup glasses
  26. Small Green Foldable Bag
  27. Pens
  28. Wallet with assorted currencies and cards
  29. Raspberry PI
  30. Assorted USB chargers (accumulated from various devices)
  31. Wrist Straps (left and right)
  32. Beard Trimmer

Clothes:

  1. 14 Underpants
  2. 23 Socks (not 19 pairs – I had given up on pairing socks a long long time ago)
  3. 8 T Shirts
  4. 3 pairs of cargo shorts
  5. 1 pair of jeans
  6. 3 Jackets of varying thickness
  7. 1 Down Jacket
  8. 1 Scarf
  9. 1 pair of thermal underclothes
  10. 2 Towels (1 slightly fluffy, 1 microfiber)

I’ll try and keep this list updated.

Decluttering actions:

  1. I gave away assorted USB Power chargers and Plug convertors – I have now a universal plug that should be good enough, and 3 USB power adaptors of various sizes. I should probably trim down the number of cables I have

Plugging a keyboard into my Nexus 7

Was a great idea! It just worked (with an OTP cable), and I can now probably find much more uses for this thing than I could before. Yay!

I wonder if I can use this to write code. However, a 7 inch tablet is very poorly suited for that task – would need at least a 10″ one. But there aren’t many of those going around these days…

I’ll probably use this for random browsing / commenting, and use my Mac for actual programming.

“Scouting for Boys”

In Welcome to the Machine there is a line that goes “provided with toys and scouting for boys”. I had initially assumed that it was referring to a young guy who is gay and is ‘scouting for boys’.

And then a few days later I realized that it is talking about ‘the book‘. That is now doubly funny because of the Boy Scouts’ attitude towards gays

Discworld Series progress

Contains a list of Discworld Novels. Am reading them all, and will cross them out here as I finish each. Number of books currently finished: 24 (as of 16 Jan 2014)

  • The Colour of Magic (1983) (Rincewind)
  • The Light Fantastic (1986) (Rincewind)
  • Equal Rites (1987) (Witches)
  • Mort (1987) (Death)
  • Sourcery (1988) (Rincewind)
  • Wyrd Sisters (1988) (Witches)
  • Pyramids (1989) (One-off)
  • Guards! Guards! (1989) (City Watch)
  • Eric (1990) (Rincewind)
  • Moving Pictures (1990) (One-off)
  • Reaper Man (1991) (Death)
  • Witches Abroad (1991) (Witches)
  • Small Gods (1992) (One-off)
  • Lords and Ladies (1992) (Witches)
  • Troll Bridge (1992) (Short story)
  • Men at Arms (1993) (City Watch)
  • Theatre of Cruelty (1993) (Short story)
  • Soul Music (1994) (Death)
  • Interesting Times (1994) (Rincewind)
  • The Discworld Companion (1994) (Companion)
  • Maskerade (1995) (Witches)
  • Feet of Clay (1996) (City Watch)
  • Hogfather (1996) (Death)
  • Jingo (1997) (City Watch)
  • The Unseen University Diary (1998) (Diary)
  • The Last Continent (1998) (Rincewind)
  • Carpe Jugulum (1998) (Witches)
  • The Sea and Little Fishes (1998) (Short story)
  • The Ankh-Morpork City Watch Diary (1999) (Diary)
  • The Fifth Elephant (1999) (City Watch)
  • The Science of Discworld (1999) (Science)
  • Nanny Ogg’s Cookbook (1999) (Recipes)
  • The Assassins’ Guild Yearbook and Diary (2000)
  • The Truth (2000) (One-off)
  • The Fools’ Guild Yearbook and Diary (2001) (Diary)
  • Thief of Time (2001) (Death)
  • The Last Hero (2001) (Rincewind, although this is debatable)
  • The Amazing Maurice and his Educated Rodents (2001) (One-off, children’s)
  • The Thieves’ Guild Yearbook and Diary (2002) (Diary)
  • Night Watch (2002) (City Watch)
  • Death and What Comes Next (2002) (Short story)
  • The Science of Discworld II: The Globe (2002)(Science)
  • The Wyrdest Link (2002) (Quizbook)
  • The (Reformed) Vampyre’s Diary (2003) (Diary)
  • The Wee Free Men (2003) (Wee Free Men)
  • The New Discworld Companion (2003) (Companion)
  • Monstrous Regiment (2003) (One-off)
  • A Hat Full of Sky (2004) (Wee Free Men)
  • Going Postal (2004) (Post Office)
  • Once More* *With Footnotes (2004) (Compilation of short works)
  • The Discworld Almanack (2005) (Almanack)
  • Thud! (2005) (City Watch)
  • Where’s My Cow? (2005) (Picture Book)
  • The Science of Discworld III: Darwin’s Watch (2005) (Science)
  • Wintersmith (2006) (Wee Free Men)
  • The Post Office Diary (2007) (Diary)
  • Making Money (2007) (Post Office)
  • Unseen Academicals (2009) (The Wizards, Rincewind)
  • I Shall Wear Midnight (2010) (Wee Free Men)
  • Snuff (2011) (City Watch / Sam Vimes)
  • Raising Steam (2013) (Post office)

Doing Laundry

At a hotel in SF, doing my laundry. This trip has made me more amenable to taking my time to do things. Feel more happy in general and less restless :)

Comments on again

WordPress decided to be a dick and turned off comments without telling me. They’re back on now.

Why does all software suck?

An Entire Night Wasted

[Warning: Childish rant ahead]

My natural sleep cycle seems to be one that tends towards the darker times – sleeping before 3AM feels like an abomination, before midnight unheard of. My best work seems to be done between 2AM and 5AM. My current ‘sleep cycle’ has me sleeping at about 8AM, and waking up at about 5PM. Plenty of sleep for the day, eh?

It is probably not healthy. I don’t look, or feel healthy. But that is the way it is.

SO IT FUCKING SUCKS WHEN THE POWER GOES OUT AT MIDNIGHT, BECAUSE I HAD JUST STARTED GETTING SHIT DONE. AND THEN YOUR PHONE REFUSES TO TETHER INTERNET, BECAUSE FUCKING ASSHOLES. AND THEN THE POWER COMES BACK AFTER THREE FUCKING HOURS AND YOU STILL CAN NOT GET ON THE INTERNET BECAUSE THE FUCKING LINE IS DEAD. IT IS MIDNIGHT AND YOU ARE IN FUCKING CHENNAI SO YOU CAN NOT EVEN GET THE FUCK OUT OF THIS PRISON. YOU CAN NOT SLEEP BECAUSE YOU JUST WOKE UP. FUCK THIS SHIT.

I’m scarily addicted to the internet. All my friends are there.

Disconnecting, for real

I’ve been on the Internet since I was 14. And I don’t remember a time when I did not have a computer – I think I got mine when I was 10. Growing up, writing code has always been a major part of me – my identity. I’ve never quite managed to separate ‘me’ from ‘my code’ – despite mouthing off the soundbite ‘You are not your code!’ to plenty of people.

After Wikimania 2013, I spent a week in Hong Kong. The first few days were rough, but after that – it was amazing. For the first time I could imagine, I had completely managed to not think about code at all! I had my laptop locked in a locker somewhere, and didn’t even bother getting to it. I didn’t feel the burning urge to make a commit. The feeling of guilt that keeps gnawing at you from the back of the head ‘teehee you have been so unproductive today!’.

That was a rather great feeling. Put things into a little bit more perspective. A step towards separating my identity from my code. I gave up on my GitHub streaks after that. I’ll probably also be less of a codeaholic.

I could write about ‘oh my god, this was amazing!’ and detail where I travelled in Hong Kong, but I think what was far more fascinating was how. I did not feel in a hurry. Did not feel like having to ‘tick all boxes’ before leaving. Just… actually relaxing. And doing whatever.

Vacations are good :)

GitHub Streaks

I’m on my longest GitHub Streak this year – currently 20 days (was previously 18 days). That means I’ve had at least one commit (though usually more!) each day for the last 20 days. Sounds much easier than it actually is. Wanting to keep my streak unbroken is also making me write more diverse code – I think those 20 days feature code in Javascript, Python, Java, PHP and Python. It’s also distributed across a lot of projects – at least 8-9 different ones on last count. Streaks are helping me a fair bit! Getting the first commit of the day is the hardest – seems to get easier to keep things after.

So I’ve beat my previous streak length for this year (18 days). Next step would be to get over the awesome/scarily productive legoktm’s longest streak (29 days). Eventual goal would be to match ori-l at some point in productivity.