I first created this blog in September 2011 in preparation for the start of my undergraduate degree — the idea being that I would chronicle my time at university both in terms of what I learnt and the fun I was having.
Not being able to get a wordpress.com domain using my name (there are 1,574 people in the US called Danny Brown according to the US Census Bureau) I stuck on the name “dannycomputerscientist”, perhaps somewhat presumptuously considering I hadn’t even started my Computer Science degree.
256 blog posts later I’m still here blogging about Computer Science but also about my hobbies and holidays. A change of domain name to something shorter, more memorable and easier to communicate made sense — so when I discovered that DannyBrown.blog was still available to purchase I jumped at the chance.
So for the time being I — reluctantly — remain on wordpress.com but now the blog is known as, and accessible by, dannybrown.blog.
I hope you continue to enjoy reading as much as I enjoy writing.
Rob and I have both been doing a lot of work on CS Blogs since the last time I blogged about it. Its now in a usable state, and the public is now welcome to sign up and use the service, as long as they are aware there may be some bugs and changes to public interfaces at any time.
The service has been split up into 4 main areas, which will be discussed below:
csblogs.com – The CS Blogs Web App
CSBlogs.com provides the HTML5 website interface to Computer Science Blogs. The website itself is HTML5 and CSS 3 compliant, supports all screen sizes through responsive web design and supports high and low DPI devices through its use of scalable vector graphics for iconography.
CSBlogs.com Homepage – Desktop
CS Blogs Homepage – Mobile
Through the web app a user can read all blog posts on the homepage, select a blogger from a list and view their profile — including links to their social media, github and cv — or sign up for the service themselves.
CSBlogs.com Bloggers – Desktop
CSBlogs.com Bloggers – Mobile
CSBlogs Profile – Desktop
CS Blogs Profile – Mobile
One of the major flaws with the hullcompsciblogs system was that to sign up a user had to email the administrator and be added to a database manually. Updating a profile happened in the same way. CSBlogs.com times to entirely remove that pain point by providing a secure, easy way to get involved. Users are prompted to sign in with a service — either GitHub, WordPress or StackExchange — and then register. This use of OAuth services means that we never know a users password (meaning we can’t lose it) and that we can auto-fill some of their information upon sign in, such as email address and name, saving them precious time.
CS Blogs Login – Desktop
CSBlogs.com Register – Mobile
As with every part of the site a user can sign up, register manage and update their profile entirely from a mobile device.
api.csblogs.com – The CS Blogs Application Programming Interface
Everything that can be viewed and edited on the web application can be viewed and edited from any application which can interact with a RESTful JSON API. The web application itself is actually built onto of the same API functions.
We think making our data and functions available for use outside of our system will allow people to come up with some interesting applications for a multitude of platforms that we couldn’t support on our own. Alex Pringle has already started writing an Android App.
docs.csblogs.com – The CS Blogs Documentation Website
docs.csblogs.com is the source of information for all users, from application developers consuming the API to potential web app and feed aggregator developers. Alongside pages of documentation on functions and developer workflows there are live API docs and support forums.
In the screenshot below you can see a screenshot of a docs.csblogs.com page which shows a developer the expected outcome of an API call and actually allows them to test it, in a similar way to the Facebook graph explorer, live on the documentation page.
Thanks to readme.io for providing our documentation website for free due to us being an open source project they are interested in!
The CS Blogs Feed Aggregator
The feed aggregator is a node.js application which, every five minutes, requests the RSS/ATOM feed of each blogger and adds any new blogs to the CSBlogs database.
The job is triggered using a Microsoft Azure WebJob, however it is written so that it could also be triggered by a standard UNIX chronjob.
Whilst much of the actual RSS/ATOM parsing is provided by libraries it has been interesting to see inconsistencies between different platforms handling of syndication feeds. Some give you links to images used in blog posts, some don’t, some give you “Read more here” links, some don’t. A reasonable amount of code was written to ensure that all blog posts appear the same to end-users, no matter their original source.
I welcome anyone who wants to to try to service now at http://csblogs.com. We would also love any help, whether that be submitting bugs via GitHub issues or writing code over at our public repository.
Today was quite an exciting day for me and my relationship with Microsoft, the company behind the Windows Operating System and The well known MS Office Software. This afternoon I was involved in a Lync meeting with a few of the people in the Academic Audience team learning about what I would be doing when I go to work for Microsoft for a week at the O2 Arena at an event called Campus Party.
an annual week long, 24-hours-a-day technology festival where thousands of “Campuseros” (hackers, developers, gamers and technophiles), equipped with laptops, camp on-site and immerse themselves in a truly unique environment.
Recognized as the biggest electronic entertainment event in the world, Campus Party unites the brightest young minds in technology and science under the idea that “the Internet is not a network of computers, it’s a network of people.”
The festival features over 500 hours of talks, debates, workshops, competitions and hackathons related to science, innovation, digital entertainment and creativity. Additionally, hundreds of hours of ad-hoc events are planned by participants and continue throughout the night.
Me and a few other Microsoft Student Partners, as well as some others from the University of Hull will be promoting development on the Windows Phone and Windows 8 platforms, we even get our own Microsoft Shirts, which are bound to be fashionable ;). I look forward to it, its going to be a lot of fun and a great way to meet a lot of interesting people.
Later in the afternoon Phil Cross asked me if he could feature my latest blog post about QuickSync on the Microsoft UK Students Blog feed, I was of course happy to let him! He prefaced it with this nice message:
Danny Brown from Hull is one of our MSPs and has worked with us to help promote Tech and gives invaluable “constructive” feedback on stuff we do. He’s written some apps and also worked with us on a project to build an incentives website and back end working quickly! I’d like to share that site but it’s been taken down as the incentive isn’t running any more. Anyway, he has started talking about his new venture and I thought it might inspire other students and startups to see what’s possible with skill, commitment and a certain amount of dedication. Oh and I imagine there were a few pints of Guinness involved as well!
Here it is and connect with him via his blog or LinkedIn.
which I thought was nice, he also took the time to tweet about it saying:
Way to go Danny @DanTonyBrown – great work – its inspiring to see students start their own ventures! http://t.co/W0q06g3IrS
On Thursday morning Nick, John, Alex and I spoke to about 220 of the new first year computer scientists about blogging and the Hull CS Blogs platform. It was great fun and we received a lot of interest, we even ended up going to lunch with a few freshmen and making some friends, which is always a bonus.
As a result we’ve actually gained 4 new bloggers, and had a few more people say they’re going to start, which is both good for them and us.
I’ve posted a lot of non computer science blog posts recently, but this is supposed to be “the blog of a budding computer scientist!”. So here’s a post which I hope will help a few of my fellow computer science bloggers who use the WordPress blogging platform — which by the way is fantastic.
Quite often when I see blog posts that contain source code it’s formatted in an annoying way, doesn’t have any colour coding or in a worst case scenario is a screenshot of an IDE. It’s impossible for people to copy your code if you take a screenshot of it, and in my experience if you post your code online you want people to copy and adapt it for their own use.
On wordpress you could use <pre> tags in the HTML editor to make code boxes like the following:
//Here's some <pre> formatted code
public static void Main()
Thats all well and good, it keeps the code seperate from the content of the blog post and gives it a different font and background colour to differentiate it as code, however those of us who are used to working in an IDE, such as Visual Studio, with its syntax highlighting may find it less friendly to read. This is where one of WordPress’ best features comes in.
//Here's some [ sourcecode ] formatted code
public static void Main()
All you have to do is wrap your code like so
[ sourcecode language="LANGUAGECODEHERE" ]
[ /sourcecode ]
Without the space in front of sourcecode (Which I’ve had to put to prevent WordPress from actually making it into a source code box). You then have to replace LANGUAGECODEHERE with the code corresponding to the programming language you are posting:
Today I booked up my train ticket and hotel reservation for my first ever Tech conference, Reasons To Be Appy — which by the way is a name that I cannot decide if its brilliant…or not?
It started when Phil Cross, Academic Audience Manager at Microsoft, posted in the Microsoft UK Students Developer group asking if anyone wanted some free tickets, in return he asked
For you to blog about the event, post stuff on your facebook page, the UK Student page, we will link to your blog and for you use relevant #tags to tweet about it. Maybe a target of a couple of tweets per session? Basically so the organisers and MS can see you being active!
This seemed like a good deal and I emailed Phil asking if I could go, and he replied saying I could!
In particular I’m looking forward to a talk by Remy Sharp — who’s work helped me get into web development, especially through his role as curator on HTML5Doctor.com.
Also of interest to me are talks by Christian Heilmann, who works at Mozilla and Andrew Spooner who works at Microsoft, most recently on “applications for Windows 8 and Windows Phone and explorations into Natural User Interfaces.” — all of which sounds interesting.
Here’s a badly taken photo of Hull’s Paragon Interchange Station, taken whilst waiting for my train home
Friday was our final day at University and consisted of a Lab session and a Tutorial in which we talked about the coursework for ACW 2 for Programming 2 — A.K.A. Sweepy Cleaner. Almost as soon as the Tutorial was over I was on my way to the station to head home for two weeks off, well deserved after a busy term.
In an attempt to keep on top of work and hone my skills as a Software Engineer I have lined up a few projects for myself, to be completed over Easter.
The first of my Projects is to design and develop a custom website front-end and back-end content management system for a local bee keeper who offers Bee Keeping courses, bees for sale, honey products and a range of soaps and lotions. The system will need to allow the customers to edit their product ranges and content on their pages, it will also need to provide an attractive interface to customers and be SEO friendly in order to rank well on Google Searches for Bee related terms.
The Content Management System will be a fair bit of work, but fortunately I can use my previous experiences on projects such as Worldwide Lighthouses in order produce a better system, I also enjoy making user interfaces — particularly for the web, so I’m looking forward to working on this project and hopefully making my customers happy.
My second project is to complete Worldwide Lighthouses, a website run by my brother which uses a custom made CMS (Content Management System). Due to a data loss around Christmas a lot of the workings of the site remain unfinished, hopefully by the end of Easter all functionality of the previous website will have been restored and even improved upon.
My third project is for my lecturer, Rob Miles, and is to produce an application for the Windows Phone 7 platform which uses the MetaBlogger API to allow people with blogs on blogger and other services to upload, view and edit posts on the go.
My fourth and final project is to create an Augmented reality game. It’s based off of my original proposal for three thing game — a Tower Defence game which turns into an First Person Shooter once the enemy reaches the end of its route.
My aim is to have the “map” for the tower defence section of the game to be the actual location of the player, complete with enemies actually following the real roads to get to them, I will do all this using the Bing Maps API. The FPS section will use the image produced by the back-facing camera as the background and the user will have to occasionally point their phone to the sky to fight back helicopters, and point it straight forward to take on Soldiers and Tanks. I think its an interesting concept, will be fun to play and is certainly technically interesting and possibly challenging to produce.
Writing has become a bit of a UoH Computer Scientist past time recently with many more people joining the ranks of bloggers.
We’re frequently reminded how important it is to be “building the brand”, a phrase which refers to making yourself an attractive employee to potential future employers, because at the end of the day the outcome of higher education should be a better job.
A blog is a good way to show people that you’re passionate and knowledgeable about your subject and allows for feedback in the way of comments, allowing you to improve your communications.
Setting up a blog is pretty simple and can be cheap or free depending on how advanced your needs are. You can use a free blog on wordpress.com, or you can install and set your own up for free on Freeside, the universities open source server rack, this gives you more customizability and options but will require you to buy your own domain name to make it easy to get to.
Due to the sudden influx of bloggers it could have become a bit difficult to keep track of all the updates. In an effort to solve this problem my friend John set up HullCompSciBlogs.com which aggregates all of the blogs of University of Hull Computer Science Students into one place, including updates from my friends Nick, James, Charlotte,Christophe and John Himself as well as my flatmate and good friend Rob. You can of course also see my posts 🙂
So, head on over to HCSB and read some cool stuff!