DevLog for 2015 Dec 19

  • Today looks like a day of finding, reporting and fixing bugs in WikiChatter. I had made a stupid mistake yesterday that meant not all of the Teahouse pages were being parsed, and I immediately started running into bugs. Have reported (and fixed!) two (1 and 2), and ran into another bug in mediawikiparserfromhell itself. I’m sure I’ll find more.
  • Another bug in WikiChatter! 3
  • Perils of digging through archives – you find Wikipedians giving relationship advice.
  • Should work on https://github.com/jupyter/jupyterhub/issues/17 in some form over the next few weeks.

DevLog for 2015 Dec 18

Haven’t done these in a while, let’s see if I can get this back on the wagon!

  • Discovered the WikiChatter library (thanks to @halfak!), and using that in my Teahouse analysis notebook. Far better than writing my own parser and fighting with that. Lets me get on with the actual fun stuff I wanted to do (which is the actual analysis)
  • Learning about pandas, checking out matplotlib, bokeh and wordcloud libraries to use in the analysis. Have included matplotlib and bokeh (and with it, pandas and numpy) in the default libraries list for PAWS, and also fixed permissions so users can pip install stuff themselves too.
  • For context, I’m trying to do an analysis of the English Wikipedia Teahouse questions archive, mostly as a way of showing off what PAWS makes possible.
  • Also spent a good chunk of the day regretting previous life decisions. All temporary however – nothing irreversible was done, which is wonderful. Should figure out how to reduce likeliness of similar events happening in the future.
  • Docker build times on my machine are pathetic, both because of slow network (USA! USA! USA!) and cheap laptop. Need to find a proper solution to this soon.

“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

DevLog for Jan 5, 2015

DevLog for Jan 5, 2015

Trying out the ByWord app, since it has MarkDown support and also publishes to WordPress. Paid Rs. 900 for it, let’s hope it is useful. Hate the default font, though.

  • Need to parse View definitions on labsdb public databases and verify that we aren’t leaking any info (https://phabricator.wikimedia.org/T85783). Was going to use the sqlparse library, but that doesn’t seem very complete or useful. Will attempt to use regexes now. Wish I had learnt how to build parsers properly easily.
  • Ignore lament ^, I spent some time learning to use PyParsing, and ended up with a very simple parser that parsed the small subset of SQL I cared about! Yay :) Still need to set aside some time at some point to fully understand parsers/parsing.
  • Fixed wikdidata beta not resolving (https://phabricator.wikimedia.org/T85793). Of course, problem was caused by me as well, not verifying that DNS changes I was making didn’t have unintended consequences. It’s also somewhat surprising that it was down for 6 days before someone noticed.
  • Add labsdb-auditor report that verifies views have appropriately done definitions that do not expose private information (https://gerrit.wikimedia.org/r/#/c/182848/). This was fun to write. I should definitely learn more parsing things and seek out other simpel things I can write a parser for. Code quality is getting better, although could still be better if I can remove the regex part entirely – it currently cleans up the SQL via a regex and then parses it with pyparsing.
  • Fixed a consistency bug in the perl script that maintians public view replicas (https://gerrit.wikimedia.org/r/#/c/182819/).

Reading list: * What most young programmers need to learn was nice. I just feel lucky to have been gifted a copy of Code Complete and Pragmatic Programmer when I was 15 (by Colinizer).

DevLog for Jan 3-4 2015

Nothing much going on…

  • Continue reading Real World Haskell. This is indeed expanding my horizons, but I haven’t found any project I could use haskell in yet. Will keep looking.
  • Helped fix a parsoid outage yesterday. No biggie. I still do not understand fully how parsoid works / how it is set up, should do.
  • Spend most of the rest of the time in ‘weekend mode’, which includes mostly not doing things. That went mostly well.
  • Watched ‘Pink Floyd The Wall’ movie. HOLY FUCK MY MIND IT IS GONE OMG IT IS QUITE REALLY NICE. Recommended.

I should probably write a ‘Year in Review 2014’ post, but so much of that is going to be NSFW and private that there probably is no point… ;)

DevLog for Jan 2, 2015

Woohoo, 2015! :) Let’s see if I can keep this going this time :)

  • Have started taking weekends slightly more seriously. My brain feels less overwhelmed after that. Should take weekends even more seriously going forward.
  • Merged labsdb-auditor rewrite patch. Code clean enough for my tastes now, although not documented enough. Lots of back and forth CR with valhallasw was really nice – it’s something I’ve been missing for the past few months. Debating over style and cleanliness was also interesting. Felt like I had been taking code cleanliness and proper design not as seriously as I should have, and this is now time to change that. Also spent time consciously thinking about the commit message I was writing, and shall continue doing that. I think I’ve taken a few things for granted wrt code quality and design, and should be more careful. And learnt a few more tricks about decorators (haven’t built decorators that are parameterized before).
  • Read a few chapters of Real World Haskell. Quite nice, although the syntax feels a bit too dense for my tastes. Still should maybe write things with ChickenScheme instead :)
  • Continuing re-reading Coders at Work, which continues to be a thought provoking, wonderful book.

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.