I had a very confused evening debugging my new XTEINK X3 when trying to use Koreader Sync. It appeared to complete the sync process successfully, but no progress ever got synced. By the way the XTEINK X3 is wonderful little device. It’s so small and does what it does (just reading) really well. When I got it I naturally immediately installed Crosspoint to get some extra features. One of…
I wanted to share a tool I use daily, that does what does so well that I sometimes even forget that it’s there. Tmuxinator is a wrapper around Tmux that lets you create and manage sessions really easily. Let’s say that you have a project that you want to open in Tmux and you have two windows, one window contains a full screen editor and the other window is vertically split with logs on…
When I read an interesting book or article, I always struggle to remember the things I’m learning. For example, I’m currently reading cPython Internals and there a lot of information in this book to process. There’s a myriad of different approaches to this problem; note-taking, reading twice, summarising and more. But these have never worked. They may help understanding in the…
Spotify is a great service that embodies the idea that piracy is a distribution problem not a money problem. There’s just one small (or very large depending on your viewpoint) problem. Like all electron or electron-like apps, Spotify carries an entire instance of Chromium inside of it, which bloats its memory usage significantly. There is where spotifyd comes in. Spotifyd streams music just…
One of the interesting features of Kindle is the ability to subscribe to newspapers or magazines and get them delivered to your Kindle when a new issue is released. This works great for publications that are sold on the Kindle store, but what about your subscribed RSS feeds? I wanted to see if it was possible to create a daily ’newspaper’, containing all of my RSS aggregator’s…
My Bash start-up time is around 1.7 seconds. This doesn’t sound like it’s too bad, but it feels like hours when you want to open a new window to only run one command. The first step is to run a profile of your Bash start-up, to try and find out what exactly is taking so long. How to profile a bash shell script slow startup? This should give you a timestamp against each Bash command…
Very often, when I want to test the performance of something, most of the time I end up using time . time , however, lacks a certain amount of scientific rigor, it only runs the thing you’re testing once and gives three different times which can mean slightly different things in different contexts. Enter, Hyperfine . Here are three things I love about it: 1. It runs commands multiple times.…
One of the downsides to the great Reeder app is syncing feeds between Desktop and Mobile. Many services offer this, but they are almost all paid services. The free option is to use Feedly . However, with the free tier of Feedly, you are limited to 100 sources and 3 feeds. For normal use, this is more than adequate, but something is limiting about there being a limit at all… This is where…
Containers A container is an object that contains a reference to another object. A common example would be a List . >>> shopping_list = [ 'milk' , 'bread' , 'eggs' ] >>> onions = 'onions' >>> shopping_list . append ( onions ) >>> shopping_list [ 'milk' , 'bread' , 'eggs' , 'onions' ] >>> id ( onions ) 4563363056 >>> id ( shopping_list [ 3 ]) 4563363056 In this example, we are creating a List…
Everything in Python is an object. From an instance of a class to an attribute of that instance and even the class itself. An Object has three basic properties that govern all of its behaviours. These are: Identity Type Value Identity The identity of an object distinguishes it from other objects and will never change. You can get the identity of an object using the id() function. >>> name = 'John'…
Cool Things is a series of intereting things, resources or projects that I’ve found. basecs is a great blog series by Vaidehi Joshi on some of the Computer Science fundamentals that you might not have picked up if you don’t have a formal education, or like me, faded from your memory.
Cool Things is a series of intereting things, resources or projects that I’ve found. Data Structure Visualisations is a site containing a number of visualisations of data structures and algorithms. Really cool when you’re struggling to understand how an algorithm works and just seeing it as an animation makes everything much more clear. I wish I had the Graph Algorithms section…
I was transferring old blog posts from Blogspot to Hugo a few days ago and came across a post I wrote in 2010 about the benefits of reading an eBook on Kindle vs the newly released iPad. Specifically the visual benefits of an eink display over a backlit LCD. At the time I had a Kindle 2, twice the size of modern models and with a full sized keyboard. It was a great device for reading on, before a…
5 days ago Twitch, the popular streaming platform for games, delivered the following bombshell. Starting today, Twitch will be implementing technology intended to help broadcasters avoid the storage of videos containing unauthorized third-party audio. We respect the rights of copyright owners, and are voluntarily undertaking this effort to help protect both our broadcasters and copyright owners.…
What would you do if you lived for 3000 years? If someone sat down and wrote a biography of your life, how long would it be? Now take that and apply it to an entire civilisation. That should give you a rough image of how much history there is for Ancient Egypt. Preferring to listen to something in audio format, I went in search of an audiobook that would allow me to learn more about this vast…
Back in the rose-tinted days of the 1990’s, when the sun was always shining and flowers blomed all year round, I had a Super Nintendo Entertainment System, probably more commonly known as a SNES. Some of the best games of all time were on this system; Super Mario World, Earthbound, Chrono Trigger, and many, many more. It's soccer, but virtual. It’s soccer, but virtual I remember…
So, I’m trying to learn French. What better way to pick up certain keywords and phrases than a trial-by-fire? That is, setting my computer’s settings (something I use pretty much all the time) to French and then trying to get through my normal, everyday life forced to practice French. I’m gonna break this post down into two sections; webpages and programs, and it will hopefully…
A little delayed (it has been a very busy few weeks) but still important announcement from Inspiratech: We have advanced to the UK final! If you are unfamiliar with the format for the Imagine Cup, entrants who advanced to the second round had to produce a video showcasing their project. If you haven’t see our video go watch it now on our website: RefuCate Video (sadly now a dead link) So…
So it’s a brand new year, I’m still getting used to seeing and writing 2011 instead of 2010 - a mistake i’ll probably still be making in August. Twenty-eleven is certainly going to be an exciting year, what with the Imagine Cup set to take up a large portion of my time in the first half of the year and not forgetting the Facebook Hacker Cup kicking off this Friday (2011-01-07).…
Lots of people think Computer Science is all about programming. A degree where you get shipped off to University and only learn how to write software, or even worse, how to use a computer. As per the excellent book, The Structure and Interpretation of Computer Programs, Computer Science is neither about computers or a science. It’s a way of talking about process and the way of doing things…
It seems that the most popular way to find new talent these days is to run some sort of competition, Microsoft have the Imagine Cup, Google have the Google Code Jam, not to mention TopCoder. Now Facebook is joining the game (although technically they were already in it with Facebook Puzzles) with the Facebook Hacker Cup. Despite some of the hilarious and misinformed comments on the competitions…
Roughly 3 months ago I blogged about the creation of our Imagine Cup team; Inspiratech. We’ve come along way since those lovely, warm and well lit days of autumn as we find ourselves on the relaxing side of the First Round submission. For practically the first time in student history a project was completed on time, 2 days in advance in fact. So what are Inspiratech up to now you ask? Well,…
Progress on RefuCate is coming along nicely, with our first submission a mere 2 weeks away, it’s all starting to come together now. Although we all have University deadlines and commitments to adhere to, our Functional Specification is nearing completion and i’m confident that it’s going to be great and give us the base we need to build an amazing solution! The key challenge for…
After weeks of toiling in front of a hot monitor, Josh has finished the Inspiratech website! Link (sadly i'm now a dead link) Still here? No, seriously, go check it out, it’s awesome: Link (also dead)
I’m currently working on a small project for WP7, in order to help familiarise myself with the tool set in preparation for the Imagine Cup. So I thought I’d post a video of it, let me know what you think! noat.avi (sadly now a dead link)
First of all I would like to thank Microsoft for inviting me to what was a truly awesome event! The Microsoft UK Tech Days Special was a one off event showcasing some of Microsoft’s new toys, to a developer audience this was a little like Christmas day when you were a kid, except your rich aunt is Microsoft and that Power Ranger action figure who’s head can flip inside it’s body…
Today Microsoft are running a very special event in London and I am very please to have the opportunity to attend! So what’s going to happen? Well there are five different sessions planned throughout the day, based around WP7, IE9, Windows 7, Windows Azure and a keynote speech by Steve Ballmer himself. Look out for my tweets and others during the event on the hashtag; #ukdevdays and look out…
I’m trying out one of the more impressive ways to learn a new language - Ruby Koans The basic idea is to learn a language by doing, not by reading or blindly following tutorials. You follow a “path of enlightenment” adding bits of code in order to progress to the next little test. One of the advantages of this method is that there are no large chunks of text to read, you learn…
Ever wanted to easy test your shiny new Rails app on a real web server? Well there’s a really simple way - Heroku If you’re using Git for your source control (which you should be if you aren’t) then deploying your app to the internet couldn’t be any easier. The first step is to sign up for an account over at http://heroku.com/ The next step is to get the Heroku gem, easily…
Each year Microsoft runs a competition called the Imagine Cup, the world’s largest student technology competition. Thousands of students around the world participate in the competition each year and it produces some truly amazing projects aimed at solving some of the worlds toughest problems. Because of this I am thrilled to be part of a team for this year’s competition. The team:…
One of the highlights of Node Knockout (which by the way, had some really amazing entries - and there’s still time to vote) is Swarmation. Essentially, you are a pixel and along with other pixels you have to get into different patterns in order to score points. But here’s the twist - the other pixels aren’t computer controlled, they’re real people. There’s no…
I hate this argument. I really do. When the iPad was first announced, there was a huge rush to compare it to the Kindle, and a huge rush to say how much better the iPad is. Apps this, colour screen that. Completely neglecting of course, that the Kindle isn’t actually a tablet. Comparing the iPad to the Kindle is a little bit like comparing an MP3 player with a Laptop. Your shiny new iPad can in…
On Friday 11th June I had the privilege to attend Microsoft’s ‘Fun, Free Friday’ event; showcasing many different and free applications and how they can be used for learning. There were demos of no less than 30 products or schemes which are all available for free when used for education. The whole day was extremely fun, and it was great to see a number of new products, as well as some that I…
So I’ve caved and I’m going to start blogging again. Look forward to an overview of the fantastic Mircosoft Fun Free Friday event as well as some Mercurial love soon. In the future, look out for details of my futile projects and my take on the latest tech news. Look out for a proper blog post soon.