Archive for Computing

Cancelled elective

I recieved an e-mail this afternoon telling me that the 20 credit module in cybercrime at the school of law has been cancelled for next year and I will need to choose a new set of modules to fill up those credits. While the problem is far from insoluble its a big annoyance as it was a module I really wanted to do in favour of other less interesting modules that were on offer to me. I will most likely end up making up the credits with ones from the school of computing, but I need to make sure I do things that will both favour my fields of interest and will be useful in years to come; I don’t want this little set back to be turned into an even bigger one by causing me to struggle with a module I never wanted to take in the first place.

The law department have indicated that the module should be available next year and was only cancelled due to staffing issues this year but unfortunate;y doing electives in the third year isn’t really an option for me because of the way the school of computing works so I guess I will just have to resign myself to the fact I will have to give this one a miss :(

Comments (1)    

First for Python

I was delighted to check the school of computing online marks system late yesterday and discover that my project in Python had gained me a first (78%) in the module. It’s certainly inspired me to continue the development of TIM just as soon as I have time, and to bring it up to release candidate standard :)

Comments    

Great results

Chuffed just isn’t the word! I got my end of year exam results yesterday morning and hadn’t dipped below 70% in any of my semester 2 modules. This means that combined with  the good results from semester 1, I’m well into a first this year. Unfortunately the first year doesn’t count towards the overall degree classification, however it does bode well for my ability to study hard and do well in next years modules which do of course make a good contribution to the overall mark.

These results mean I can spend the summer relaxing and doing some light development on the web front just to keep my eye on the ball (although we all know I’m going to be at the programming hammer and tongs). Thanks to all those who sent me messages saying congratulations, I don’t know how you all knew about it (before this posting), but thanks anyway :)

Comments    

Compiler problems

I finished my C program for C/C++ programming course last night at about 8pm, fully intending to transer it to the school of computing machines, submit it online and get off to Sarann’s house for a few drinks and a laugh with everyone who was already there. Sadly as everyone who left Sarann’s at 2am or whatever will note, I never showed up. The reason for this was quite possibly the most depressing of all; while my program was a stroke of genius on my laptop, it refused to compile on the school machines. What is worse, the code it showed as being erronous was in fact correct (according to accepted C in a number of loactions including 2 books), and indeed when taken out of context compiled fine.

The headache that ensued getting this sodding piece of code working took forever, literally. This was hampered by the fact I was shattered and had only had 4 hours sleep the night before. Normally resolving compiler errors takes a matter of minutes, but because the code it picked up was correct, it was nearly impossible. I ended up taking the whole function from the program, storing it in an external file and linking it in at compile-time with extern. Thankfully this worked, and after some jiggery pokery I got it all to work on both the school machines and my laptop in this way. Not being one to give up on the original solution however, I had spent a good few hours trying to fix it before capitulating and using the separate file. This all ended in me leaving the lab at midnight.

All I can say is sorry to those who expected me to turn up at Sarann’s, but you can be safe in blaming the differences between the GNU C 3.4.4 compiler and the GNU C 4.0.0 compiler. Stupid version differences.

I figured things would look up today as going to York and then to a gig is usually a good thing. This hasn’t gone to plan either though. The guy who was coming to the gig with me has decided to go home for Fathers day (why not just send a card!) and only decided to tell me by text this morning. Nothing like getting your hopes up is there. Then, the old friend I was supposed to be meeting up with during the day didn’t tell me she was in London organising a birthday party with family until I called her this morning to check about meeting up.

The net result is that I’m not going anywhere today (as of yet anyway), and the last 24 hours has been an unmitigated disaster in general, at least in terms of wasted time. I just hope I can persuade some people to go to the Llama for lunch; that usually solves the majority of problems :)

Failing that a large mug of tea and a long since tinkered with dev project I guess :(

Comments    

Beautiful exceptions

Its amazing when you really try, how many different weird and wonderful exceptions you can get out of Java. I was tinkering with some simple Java over MSN with Dan earlier and we managed between us to generate no less than 7 different types of exceptions all to do with file I/O, each seemingly more colourful and interesting than the ones that preceeded them. If only you could get marks for such wonders in the exam.

Dan coined a truely fantastic reaction to seeing Java exceptions you don’t understand:-

*sees strange and unknown java exception on screen* *GULP* “Arghhh! Run away!” :D

Comments    

Missed summer of code

In the midst of my exam revision it would appear that I have missed the deadline to apply for the Google summer of code 2006. While this is disappointing, I realise that with the busy summer I have lined up I probably wouldn’t have been able to dedicate the required time anyway.

What I hope to do now is keep an eye on the progress of the projects this year, subscribe to the blogs, get a better idea of exactly what these folk get up to and then apply as early as possible next year, possibly having a full resumé and project plan in place well before applications open.

It goes without saying that congratulations go to all those who have got onto summer of code this year - I wish you the best of luck :)

Comments    

TIM development continues

I have been looking at the number of bugs submitted for TIM and there is plenty to be cracking on with, so once again thanks to all who have been testing and enjoying using the application. I was speaking with Niall on MSN last night and there was a hint of interest in assistance with the development of TIM so we may well have more people on the team soon, and so be able to make it a lot better.

I have allocated some time to more TIM development and bug fixing in a week or so’s time (when it won’t ruin my ability to code in Java), and will try to get a second alpha release out a few days after. Beta shouldn’t be far after that, assuming of course I don’t decide to make the application more feature right and thus plunge it firmly back into dev status. I hope to at least get a release candidate version out for those who want a bug free version of what they have already before adding more features though.

Watch this space :)

Comments    

Project End

Well, the se12 python project officially ended today with the completion of the final report, fulfilling the last requirement of the project (apart from this, the “final” blog that is). Before I reflect on how the project has gone, I would like to reassure all those who have been testing TIM that development *will* continue! This is just an official end to the project as far as my course is concerned, but TIM will live on :)

One requirement of the project was to make a reflection on pair programming as well as the project as a whole. Always being one to break with convention, I did this near the start of the project, and it is here: http://www.kieranoshea.com/2006/01/29/pair-programming/

In terms of project reflection then, well so much to say! First off, like many other projects I have taken part in to develop something, I enjoyed it. Seeing something go from an idea into a working application is always an enjoyable experience, as is recieving feedback and being able to make further improvements. Far from simply enjoying it though, or successes with respect to the application compared with the project spec, there is the issue of using a brand new (to me) programming language.

The Python programming language is one I had only “heard” of before I embraked on this project, but on those occasions I had been told of it, all reviews pointed to it being a language very suitable for rapid development and creating portable applications. Before I could even attempt to test these reviews however, I needed to see if Python was as rapid to learn as it was to use. Not wishing to invest in expensive texts, I studied existing applications and online python documentation, immediately started to press into service core programming methods that I discovered; trying them out using the python interpreter and small python executable text files. This approach worked well, and within a few days I was actually remembering that curly brackets and semi-colons didn’t belong in python and that nicely indented code was no longer something that was done for ease of reading and fault-finding, but was an actual run-time requirement of the language.

If I had any problems with the language, it would have to be its differences compared with other languages. I will cite java and php here as those are the two languages that I am most familiar with. Curly brakets are nice; they help me see loops, see clearly where you jump out of them and where they are nested. Indentation is good, but I like to use both. Python not having these caused me some issues, but emacs came to my aid with its syntax highlighting and various python related tools for the unwary newbie to the language. I quickly got used to not using semi-colons. So used to it in fact that when I returned to java for some other work I had to do, I was annoyed I had to put them in. Other interesting syntax issues included the “elif” difference and the colon at the start of methods, if statements and loops.

Syntax aside though I like python. Quite a bit more than java in fact, mainly because I hate bloat, and python didn’t have any (or hardly any). I loved not having to declare the types on new variables, I liked being able to store most anything in arrays and the like. Object orientation is a whole different matter though. Java = Nice+Complete, Python = NASTY. I’m not saying that object orientation wasn’t possible, and I did implement it into the application, but the way some things are done makes you cringe after using java. The requirement to use “self.” is a notable example. In java you can use it or not and it makes little difference in an ordinary method. While I quickly realiased how python liked to work with respect to these things it didn’t stop it from being annoying ;)

So, back to if Python is a good language for rapid development…. yes it is! The speed with which I could write and test methods to do things was astounding. While this was purely down to less bloated syntax, it held speed improvements both in the time taken to write and the time taken to debug if there were problems. With less lines to look through, debugging is simply easier. The language was especially rapid for the GUI development in wxPython. Windows could be made to appear in a few lines, and getting them to contain what you wanted and appear when needed was just a few lines more. While some things in Python are a little complex and abstract, overall for speed its a great language to work with.

Something that is often asked about things in general is “Would you do it again?”, so in Python, would I code in in it again? Well, I have already answered that question at the start of this posting. I will indeed code in python again as I am going to continue the development of TIM. The application has real potential to be very useful as a complementary tool to all who listen to music on their computer systems, and so with a demand from users and the developer’s will to make it better, TIM will be taken forward (hopefully to an RC stage) in the near future :)

Comments    

Report Rolling

Its in progress and coming along nicely. Dan and I have agreed on all of the things to discuss, and had a productive session on it this morning/early afternoon. Hopefully we should be able to make everything gel well, cover all the points and be long enough, although there is plenty to say in the evaluation which we have yet to start.

Comments    

TIM bug tracker opened

A number of issues have already been reported with TIM, and as a result we have opened a “bug tracker” to display all currently reported bugs so that we don’t get duplicate submissions. Feedback on current and desirable features is being considered, but most importantly we are accepting ALL bug reports and are in the process of squashing them - if you find a bug and it’s not on the list, please report it as it will greatly help the development of TIM.

Thanks to all those who have tried TIM and have been providing valuable feedback. If you have already reported a bug you have been credited on the development page. If you find anymore please keep sending them to us and be sure to tell any techies you know about TIM Alpha and get them to help test it!

Comments    

Next entries » | « Previous entries