Accessing Ubuntu’s End-Of-Life repositories

Approximately 2 months ago Ubuntu 8.10, installed on my laptop, could not access its repositories. In few minutes I’ve found out that this problem is due to EOL (End-Of-Life) for Intrepid Ibex 8.10. It’s not the first time I’ve faced this problem and even Canonical give you clear information about their support plan for each version.

At the begining I’ve chosen to ignore this inconvenience and work as usual. But in next weeks I’ve needed to install some applications, and faced dangling problem of manully installing all necessary dependencies and trying to install some python app was a last straw.

Fortunately Google is very helpful. I easily found out a Ubuntu page which in details talks about upgrading your EOL system to recent version.

It’s clear that if don’t need to perform system upgrade, the whole process is even more straightforward. If you only need access to some old repositories the only step you need to apply is adding/editing few lines in /etc/apt/sources.list.

## EOL upgrade sources.list
# Required
deb CODENAME main restricted universe multiverse
deb CODENAME-updates main restricted universe multiverse
deb CODENAME-security main restricted universe multiverse

# Optional
#deb CODENAME-backports main restricted universe multivers

Now just execute apt-get update and you can use those repositories.

At this point I’ve decided not to upgrade my system for several reasons. As I only need those changes in /etc/apt/sources.list to smoothly use apt-get to add/remove new packages, usual adding libraries from app dependencies list. I also don’t want to risk upgrading my machine. Although partition backup tool are very handy, ie. Clonezilla, I really don’t have spare few GB of external storage for system backup.

For you, maybe it would easier orconvenient to finish upgrade process and work on current release. Also next time when you are installing ubuntu re-think getting LTS (Long-Term-Support) version.

Ubuntu LTS

Personally I think you should not stay on old repos. But sometimes, you might find yourself in a situation as mine, when quick change in sources.list in enough.

ps. Does somebody know for whole long those repositories would be accessible?


Posted in blog, linux, security | 2 Comments

WordPress brings tweets to your content

It’s so easy that it feels like a crime not to use it.

Posted in blog | Leave a comment

The story behind ~200 Line Linux Kernel Patch That Does Wonders

You have probably already heard about new Linux kernel patch which speed up desktop, by grouping users’ task by tty. Well, people are still praising this solution on forums and mailing list, and Red Hat developer, Leonard Pottering, the man behind systemd, and infamous pulseaudio, proposed another approach to this problem. On he proposed utilizing systemd build-in feature to create named cgroup. An implemention of hist solution, for Red Hat and Ubuntu, with short description, could be view on webupd8.

This started vivid discussion in kernel world with typical response from Linus Torvalds.

Although initially Leonard’s solution seems  easier to implement and work with, by using already available tools, in a long run, including patch directly in kernel will better serve Linux. Because with only one change all distributions will have the same functionality and all users will get better OS.

Below you can find test video for patched kernel working under stress.

Posted in floss, linux, programming | Leave a comment

Geek Music – C418 / Minecraft

Lately I’ve been digging into independent game scene. Mainly as a observer, cause all still lacking free time and experience needed in game development. However I’ve been observing the new phenomenon called Minecraft.

To make it short, Minecraft is a game about mining and fighting with zombies. Maybe it does not sound interesting at first, but it definitely has something worth its price. Although it’s still in beta it’s been huge success so far.

Skimming Notch‘s, Minecraft author, I’ve came across C418‘s soundtrack for the game. C418 is a electronic music composer, related to indie game scene.  He is also well know for his superb skills and talent. Additionally he is making publicly available huge set of his  past albums, which represents different projects or ideas, free as a beer.

Since now, I’ve only had a chance to listen to two of his albums, but from I’ve heard so far I must agree with all those people who are fans of C418.

“Circle” and “Life changing moments seem minor in pictures” are both examples of well composed electronic music. “Circle” is more minimalistic and ambient than “Life changing moments…”, which is more a complication of different ideas, but all the songs on those two albums are easy to listen and safe to work.

So if you enjoy listening to electronic sounds, particularly relaxing to good ambient or spending your time coding at night, I’m sure you will find C418 worth every seconds of your attention.

Posted in blog, geekmusic | Leave a comment

Testing your project with mockish approach

Despite I’m not new to TDD process and try to implement its principles during my own projects, lately I have came across interesting issue.

Within our system, there is a component which controls “workflow”, subsequently triggers objects to make database queries or executes an sql INSERT, UPDATE, DELETE actions.

The problem I’ve had was not with testing itself, but with the complexity of such tests.  At one moment to test a behavior of a complete system I needed to prepare whole set of description objects and use them as the parameters with our assert functions.

Of course it’s feasible, but it costs a lot of hassle to prepare correct objects and calling them in order, to check the main component’s flow (SUT – system under test).

Another problem I’ve run across  was with preparing correct SQL queries and comparing them with SUT calls. Combining those two elements in variety of scenarios made my unit tests very complex and while refactoring it’s sometimes not a easy thing not to get lost in correct call order.

This all made me wonder if the tests I prepared are correct. Not from the technical point of view, but from unit test “sematic”. When I’ve finished working on another part of my projects and had a little bit more time to think it over, I made some interesting notices.

First of all, as you may notices, I made my tests over complex. Being at frenzy of writing code at one moment I’ve forgot about testing one functionality at a time, and very fast my tests seems to became redundant. Even if one elements has been already tested, I implicitly check results in other tests as well. Especially when comparing database calls to see if operations has been executed in right order and on correct objects.

It would be more pragmatic to split my tests to layers. At one point checking the sql syntax, at another the database calls made by objects and at the final to assert the order calls. At each level tests would only access and check objects SUT interact with. However this could mean creating unnecessary “getters” for those objects or creating fake objects to interact with main objects and be able to retrieve the state and behavior.

Nobody want to make their tests primary field of application development. At the end, there is always a client and even the most effective tests could not be delivery alone. As stressed, i feel it’s very important to split your test into separate layers, but also not at the cost of your man days.

When in comes to testing behavior of your objects it could be useful to take into account mock object. “Mocks aren’t Stubs” by Martin Fowler describes in details difference between different fake types which could be use within test.

In the past I’ve tried to write my own mock objects. At first I used them as a way to verify state. Now after Fowler’s article I wonder if it would be more cleared to split mock for behavioral and stub for state tests. While stubs are relative easy, mock are not. Because on my daily basis I’m programming in C++, CppUnit as test library feels as very natural choice. Sadly this library seems not to have any support for mock. Checking possible solutions I very fast learnt that there is very compelling test suite from Google.

Google Test and Google Mock have anything C++ agile programmer could dream of. They are not over complex and with they help you are able to start writing your tests in couple minutes. To be honesty I’m new to those tools and still feel more flexible while using CppUnit. Although as it lacks any mock capabilities, Google Mock could be great addition to my test tools.

I hope this would give you some example of possible pitfalls you may end in. If you are not re-thinking your tests correctly and solutions how you may solve them with better understanding of what you want to accomplish. With small or non-complex projects it might not be so important, but with other you may very fast end up with maintaining your tests instead of moving your application further.

Think before type, it costs less of your time and money.

If you think I missed something or make a untrue statement please don’t hesitate to contact me. In the meantime take a look at those links below and remeber.

Posted in blog, c++ | Leave a comment

Geek Rock – Beatnik Turtle

Today I was listening to Thomas Gideon’s interview with Randy Chertkow and this particular episode inspired me to finally check out Beating Turtle homepage.

Although I have been hearing some good opinions about Beating Turtle before I never really had chance to hear their music of check out other things they’ve done, and they are doing a lot of fine stuff.

If you also loves good rock and never heard about band called Beating Turtle, please check them out. They are worth it.

Posted in blog, geekmusic | Leave a comment

Weekly wrap-up #1

As not having anything better to post this week I’ve decide it would be excellent excuse to post my first weekly wrap-up.

This week several stories “catch my eye”. Literally three of them. Maybe it is not much, but all of them touch very important subject in the age of trade agreements like ACTA. Your rights, online and offline.

First of them tell a story of hacked HDCP master key. To tell long story short, it’s a key which could be use to set free all of those digital boxes which use DRM to prevent playing or copying , ex. blue-ray videos. When the story initially broke, it was not 100% confirmed, but later this week Intel confirm validity of seen key and similarly to DVD‘s CSS Blue-Ray‘s countermeasures could be now bypassed.

Next story is also about Intel and DRM. It seems that our beloved chipmaker has decided to use Hollywood’s business method to squeeze more cash from the consumer and in a long run even fight with competition. I really hope that this is not a new way tech companies will use. I have sincerely enough of the software which doesn’t belong to you and doesn’t need the having the same problem with my computer. If Intel will convince public that it doesn’t have right to psychical chip it bought, I could see other industries will go along.

The last post is from polish blog Vagla. Vagla writes about law and on-line rights in age of Internet, and focus mainly on situation in Poland. As I am a netizen who lives in Poland, I try to be up to date which stories which end up on this blog. One of this week stories is about new proposition from our law legislation body which suggest new law which try to establish a national cyber defense, and cyber strategy. As at the moment those cyber crimes are already pursue by law, it’s looks like another this proposition is another way to put new burden on citizen and at the end will not change anything.

This week stories:

Posted in blog, security, technology, wrap-up | Leave a comment