Another entry in my gripping series of posts intended to remind me about various software and development things when I inevitably forget them, this time to do with pycrypto. Installing pycrypto via a regular pip install is a pain for me on Windows, as it requires some C compiling, and I don’t always have a C compiler installed or configured for pip to see. Some googling has yielded a repository of pre-built Windows links, so this is where you found them, future-me:
Yearly Archives: 2013
I’ve had occasion to deploy Django on fresh Ubuntu systems a few times recently, for some side projects. To save me Googling these answers again the next time I do so, here are the steps for getting MySQL properly installed so Django deploys happily via pip:
sudo aptitude install mysql-server libmysqlclient-dev python-dev
This one is more for my own reference when I inevitably forget how to do this: I needed to install the mysql-python connector into a virtualenv on my Windows system but could not get it to do a pip or easy_install install for a variety of errors: a missing header file and a missing compiler batch file amongst others. I solved it by using a pre-compiled package from this excellent list of pre-compiled Python Windows packages and then instructing easy_install to install it (which I didn’t realise was possible):
I saw a tweet from a friend today, also a professional developer, expressing dissatisfaction with writing code for a living after 7 years at it, although he still enjoys doing it as a hobby. This is not the first time I’ve seen this sentiment expressed, which is why I consider myself very blessed to still enjoy my career after 7.5+ years of being paid to engineer and develop software. After giving it a bit of thought, I strongly suspect my enjoyment has come from variety – in those 7.5 years I have:
- Developed extensively in C, Delphi and Python, developed significantly in Labview and dabbled in C#
- Designed and developed code for embedded devices, desktop systems and workstations in factory environments
- Developed low-level drivers, front-end GUI-based systems and several layers in between
- Ported large legacy systems to new platforms and architected completely new systems
- Designed a communications spec for device-to-PC communications and designed a variety of systems and tools around it
- Designed and implemented a variety of database schemas
- Assisted in administering a version control system
- Played toolsmith, developing a number of internally used tools
On top of that, I’m regularly consulted on various languages, including C and Python, and have presented training courses on both. This last point is not meant as a boast (I’m hardly a guru on either language) but an indication that I’ve been fortunate enough to get enough exposure to both languages to teach them.
Looking at the list above, I seem to have lucked into the kind of job that changes regularly and keeps me interested – I’ve come to realise how rare this is and I’m certainly not going to take it for granted.