whoarder May 25, 2013
I just published a first version of whoarder, a python module that converts your Kindle's 'My Clippings.txt' file to a more pleasant, sortable, filterable HTML file:
The name is a pun on "words" and "hoarder", and urbandictionary tells me there's another NSFW meaning, which is awesome.
It's not big, it's as perfect as a first version can be, but it's a start I'm proud of, which let me put in practice the few Python books I just finished reading. So while they're hot, some newbie notes for you and for my future self:
- Python rocks. Batteries Included indeed; everything is here, and more. The native data types are powerful, the language is simple & pleasant yet featureful, and the community is awesome. WANT. TO. DO. MOAR. PYTHONZ.
- virtualenvwrapper helps to not smash your head against pointy hard stuff because of environment confusions, conflicts and weird pip magic. I point specifically to virtualenvwrapper (the shell companion to virtualenv) because, while virtualenv is obvious and virtualenvwrapper brings tremendous fluidity, the latter may be overlooked. I still don't understand PEP 405, though.
- The 'lean' vim/emacs setups sprouting around Hacker News like mushrooms around wet old pines are not yet for me. Maybe when I'm a bit more fluent and need less help. Having previously worked on C#/Java I'm still enclined to heavy IDEs and, with a few tweaks, PyDev is extremely usable. Performance is good and all the tools are here: highlighting, pylint/pep8 integration, debugging, refactoring, unit tests.
- Speaking of which, I'm falling in love with TDD / unit testing / refactoring practices. Coming from a non-CS background, and having worked on frameworks & professional environments that weren't very favorable to them, I never had the occasion to dig the subject. But I started doing so, by reading Clean Code and a shitload of blog posts, and after putting it into practice it feels like seeing the light. Being able to recklessly and confidently refactor without worrying about breaking stuff is fabulous. The tests being still very fast (whoarder is a very small app), I can even use comfortably PyDev's Rerun current test suite whenever any Python file changes feature, which is a fantastic safety net: "Oh I just broke something. Alright, I'll fix it right now. Done, thanks