Review: Learning Cython Programming

About 6 months ago now, I had the pleasure of getting Phil Herron to talk at the Farset Labs PyBelfast group about his work in GCC/Cython fron end optimisation work, which was simultaneously waaaaay over my head and really interesting. I’ve been a ‘Python Primary’ software engineer now for about 5 years, in web-dev, infrastructure monitoring, data analysis, and scientific computing, with some esoteric stuff involving small-vector linear algebra optimisation on GPU CUDA, Matlab bridging with Octave / Oct2Py, and distributed state systems. But somehow, I’ve managed to dodge hardcore Cython. ...

January 31, 2014 · Andrew Bolster

Octave 3.8 on Mint (or Ubuntu)

My work has be flittering between Python and Matlab recently, and lets say I’m not a massive fan of Matlab at the best of time, and VM matlab isn’t the most performant thing in the world. So I was happy to hear that octave, an open source, Matlab compatible analysis framework have started testing their GUI. Package Requirements sudo aptitude -y build-deps octave sudo aptitude -y install gfortran libgfortran3-dbg-arm64-cross liblapack-dev libblas-dev libarpack2-dev llvm-dev libfltk1.3-dev libglu1-mesa-dev libcurl4-gnutls-dev libfreetype6-dev libqt4-dev libfontconfig1-dev libfftw3-dev libqrupdate-dev libqscintilla2-designer texlive Download I used /dev/shm as the build directory as it’s effectivly a RAM disk, but YMMV. ...

January 22, 2014 · Andrew Bolster

Those who can...

I was digesting “The Design of Design” by Fred Brooks as a bit of holiday reading, which talks in great depth about the nature of technical and architectural design from a practical perspective, and it made me thinking about my own experience and the “future” of that experience. Blessing or curse, due to my inability to say no and (publically) boundless patience exploration of a range of areas, in technology, security, academia, business, and society; several people have made flippant, off the cuff comments about some form of predicted success, usually financial or technical. ...

May 28, 2013 · Andrew Bolster

K8055 USB + Python + Twitter + IRC: Space Indicator as a OS Service

After a long time in the oven, Farset Labs is up and running. Unforanately we don’t have any of the crazy equipment yet, since we’re broke. As my first ‘official’ Farset Labs project, I’ve installed a ‘Big Red Button’ to notify the @FarsetLabs twitter feed and #FarsetLabs on Freenode to the status of the space. Basically, first person pushes the BRB down in the morning, then one of the directors key-unlocks the space to ‘close’ it. ...

April 10, 2012 · Andrew Bolster

Python + irclib for IRC Status Updates

IRC, Python, Ubuntu linux. Simples! Same as by Twitter post, but for IRC. Biggest problem with this one was working out that the IRC server needs to be kept alive with the irclib.IRC.process_once() command. This is wrapped in the while loop that assumes that there is other stuff going on for which you are waiting on a condition to be satisfied, but could easily be ignored if one is just sending out one message. Also, the PRIVMSG command can be used to broadcast to a channel, as is used here, or, as the name suggests, to communicate with a specific user. ...

April 10, 2012 · Andrew Bolster

Python + Oauth2 for Twitter Status Updates

Working on the Farset Labs Big Red Button for space occupancy, had to find a simple way to tweet a status. This is a post to remind myself and anyone else who has dived through hundreds of incorrect, out of date, or inapplicable examples of Oauth 2 with Twitter using a pre-generated auth-token pair. import oauth2 as oauth import urllib ckey='$CONSUMER_KEY' csecret='$CONSUMER_SECRET' akey='$AUTH_TOKEN' asecret='$AUTH_SECRET' def post_twitter(status): try: consumer = oauth.Consumer(key=ckey, secret=csecret) token = oauth.Token(key=akey, secret=asecret) client = oauth.Client(consumer, token) resp, content = client.request( postapi, method='POST', body = urllib.urlencode({"status": status, "wrap_links": True}), #headers=http_headers, #force_auth_header=True ) except oauth.Error as err: print("Twitter Error:"+err) return resp, content post_twitter("Hello Twitterverse")

April 10, 2012 · Andrew Bolster

Stuff I've found interesting in the past month - 23/09/2010

Segway Olympics - prototype run Segway Olympics - prototype run European Parliament All But Rejects ACTA My First Place On HGTV: How to Spend Your Next Thirty Years House Poor BugMeNot Lite Now Provides Anonymous Login Credentials in Chrome [Downloads] 10 fresh and lite jquery content sliders for web applications EEVblog #108 – Amazon Kindle 3 3G/WiFi Review Cyber-Offence is the New Cyber-Defense SweetSearch Finds Credible Research Sources for Students [Research] ...

September 23, 2010 · Andrew Bolster

Installing and Configuring NS-3 on a Ubuntu System

** NS-3 Appears to have a staggeringly steep learning curve so I hope these posts help out someone else (or me, when i forget all this in a month). Running off a virtualised Ubuntu 9.10 system, the prerequisites I installed were all the ones listed here. (And i removed some out of date packages) sudo apt-get install bison bzr dia doxygen flex g++ gcc gdb graphviz imagemagick libgoocanvas-dev libgtk2.0-0 libgtk2.0-dev libsqlite3-dev libxml2 libxml2-dev mercurial python python-dev python-kiwi python-pygoocanvas python-pygraphviz sqlite sqlite3 tcpdump texi2html texinfo texlive texlive-extra-utils valgrind ...

March 14, 2010 · Andrew Bolster

Change Of Plans.....

My attention span isnt really that great with projects, so the thought of doing the entire Project Euler in several different languages was never realistically getting off the ground. (FYI Problems All On One Page ) So, modification and extension to the previous idea; Take one random number generator (java.util.random) and a list of languages I think I should have at least a cursory knowledge of. Each time I finish one problem, push a button and it tells me what language to use for the next one. ...

June 28, 2009 · Andrew Bolster