MIPS / CI20 Custom OS

Want to write your own OS for Imagination Technologies® CI20? Or just want to investigate making a custom OS for MIPS? I’ve found a blog that has some great, practical content: Lardcave.net’s CI20 Bare-metal articles

The articles are written for people using Mac OSX but there’s sufficient information, when combined with the CI20 Wiki, for Linux and Windows users to get the project working. It also helpfully includes links to eBay for USB to Serial boards connecting wires.

Will we ever see FlingOS running on the CI20? Maybe but not for a little while yet. If anyone fancies having a go at porting FlingOS, by all means head over to the Join page!

Project Planning with MS Project

With the summer fast approaching, Fling OS needed some serious planning. Not just planning out ideas in a spider diagram and doodles on a napkin but proper planning. For this I searched around for project management and planning software and discovered I could get Microsoft Project free through Dreamspark with the University of Bristol. So I settled for it and the results are pretty good.

What on earth is MS Project?

MS Project is project management software from Microsoft. Here’s what Microsoft have to say about it:

Make project management easy and collaborate from virtually anywhere with the right tools for project managers, project teams and decision makers.

Click on the video to play. If it says “try again later”, try clicking again and waiting a second. 

From my perspective, it was just what I needed to produce a gantt chart for planning out my time this summer. It allowed me to easily create tasks in categories and subcategories and link dependent items. The overall result is a complete graph from overview to full breakdown of my time this summer and which tasks need to overlap.

My Experience

When I first started MS Project it was daunting. Like all Microsoft software, it’s a big package full of plenty of things I’ve never heard of. The selection of templates is great, in that it’s vast but terrible, because it’s impossible to decide which one is best for your situation.Eventually I plumped for one simply called “Project management plan”.

When you first open the template it comes pre-filled with lots of empty tasks and standard project management stuff but crucially for me it started everything pre-configured for creating a gantt chart. I removed all the existing content as it didn’t match my requirements at all. This was frustrating, however, as the delete button doesn’t do what you expect. It only delete the content of the cell which you are highlighting not the complete row. This is essentially the same as Excel but makes adding/deleting tasks a little slow. You have to right click and select “Delete task”. After pinning the ribbon down, adding tasks was much easier (just the Add task button on the right) but you have to remember to select the row below where you want the new task to end up.

Creating categories was easy – simply use the indent / outdent buttons on the ribbon to shift tasks in/out of being subtasks respectively. With Automatic scheduling turned on, parent tasks (i.e. categories) automatically update their duration, start and end times according to subtask durations. By adding links between tasks and turning on Automatic scheduling you can get tasks to follow each other on the gantt chart, with their start time calculated from earlier tasks and end date from the duration. All the buttons for doing this can be found in the Tasks tab of the ribbon menu.

Summer 2015 Gantt Chart
Summer 2015 Gantt Chart

I made use of one final feature. The first was changing the working hours. This can be done by going to the Project tab in the ribbon bar and clicking Change Working Time. The window you are presented with is frustrating and unintuitive at best, so I will endeavour to explain. However, please take note that changing the working hours will cause Project to automatically re-calculate any durations that you have already entered into tasks. I couldn’t find a way to stop this (though I expect one probably exists). Anyway, the window you are presented with shows you the current working hours. You can select from various templates to best match your needs or create your own template. Once you click the Create your own button you will asked to select a template to clone or start from blank. Then, you will be represented with the same window as before. This was frustrating for me as nothing seemed editable.

MS Project - Change working times window
Change working times window

To edit the working hours and days you need to edit two things commande viagra sans ordonnance. For general options, select the correct template then click the Options button at the bottom of the window. This will allow you to edit things like the day the week starts on, number of hours per week etc. After editing this, you may also want to edit which days people will be working on. For this, select the correct template in the Change working times window and then change the tab to Work Weeks. Then select Default (or another from the list) and click the Details button. This will let you later which days of the week people work on.

The last step in updating your Project’s working hours is to select your new calendar template as the calendar for your current project. Close the Change working times window and (from the same section of the Ribbon bar) click on Project Information. In the window that appears,.select your calendar template from the Calendar drop-down on the right.


Good software, lots of potential.

While I may not have used many of the packages features and only produced relatively simply plans, I can the potential. The learning curve isn’t too steep and with a bit of research I could get to grips better with this pretty quickly. Ultimately, I’m satisfied and it did the job I needed. That said, I’m glad I didn’t have to pay for it….

Sponsors FlingOS

Fantastic news this week as Imagination Technologies® has agreed to sponsor Fling OS to hire a student for Fling OS’s first ever summer placement. This is very welcome backing from a major player in both the UK and global low-level technology markets.

As part of the sponsorship deal I, Ed Nutting, will also be collaborating with Imagination Technologies and the University of Bristol to write and deliver a series of lectures focusing on teaching practical low-level and OS development. The lectures will run in the first term of the new academic year and will work alongside the Computer Science course to teach low-level development to second and third year students. The lectures will involve hands-on aspects making use of Imagination Technologies’ Creator CI20 and laptops kindly donated by the St Paul’s C of E Primary School, Enfield.

This will be a superb and exciting opportunity for Fling OS to make dramatic progress and to bring industry and education together to help students. This year’s summer placement students will be blogging here on this website so keep checking back!

Imagination Technologies and the Imagination Technologies logo are trademarks or registered trademarks of Imagination Technologies Limited and/or its affiliated group companies in the United Kingdom and/or other countries.

Rant of the week: MySQL Old Passwords


Time for the rant of the week and this week it relates to the setup of this very blog. It was far from WordPress’s famous “5-minute setup” and here’s why:

Connect Error (2000) mysqlnd cannot connect to MySQL 4.1+ using old authentication

The full error message can be found below. This error message occurred when setting up the latest version of WordPress using MySQL, PHP and phpMyAdmin.

As with any technical problem, my immediate instinct was to Google this (after having read the error message of course). Sadly, I had no idea how to execute the suggested command and being part of shared hosting made that no easier. After some time Googling, the issue was clearly unresolved and had no clear answer. This page has a few more details about MySQL password hashing. So, here goes at my attempt.


Simply put, this is a version compatibility issue achat viagra ligne. Version X of PHP doesn’t like working with Version Y of MySQL. But there is a solution and it IS what is written in the error message. It’s just fiddly to get it to work. Lots of online comments talk about the “old_passwords” variable being set. In fact, this is largely irrelevant. So here’s how to solve the problem.


You do may need to switch off the old_passwords variable (this only affects the current session so you don’t need super-user privileges) using:

SET SESSION old_passwords=0;

I was using phpMyAdmin (as that’s what my host provides). So, log in to phpMyAdmin, and ignore the “Change password” link – it won’t work. It doesn’t matter how many times you select to target version 4.1+ of MySQL, it still won’t actually use the updated hashing algorithm. The solution is to by-pass the phpMyAdmin logic entirely. From the home panel of phpMyAdmin (not within a database) open the SQL panel (link at top of the page).And then issue the command within the error message:

SET PASSWORD = PASSWORD(‘your_existing_password’);

The phpMyAdmin change password link actually issues the command with PASSWORD = OLD_PASSWORD(…) and hence the issue.

Full Error Message

Database connection fialed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD(‘your_existing_password’). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file


Welcome to the Fling OS blog! As the first post I thought I’d do a brief description of what the Fling OS blog will contain (and there’s a few things you might not expect). So, here goes…

The Fling OS blog will be frequently updated with short articles from myself, Ed Nutting, and future developers including regular updates from Roland Baranyi, this year’s summer intern! The blog won’t just be covering OS development though. There’ll be all sorts of information including all the following topics:

  • OS dev,
  • pieces from the Summer Interns,
  • the website,
  • documentation, articles and tutorials,
  • sponsors,
  • events across the UK
  • and the occasional rant.

So watch this space for future (more exciting, more interesting) articles here!