Monday, 1 October 2012

Android Kernel Development Update

UPDATED 5th October 2012

So, it's been a while since I posted an update.

There are a few reasons for this, mainly real life stuff which has taken the front seat in the past few weeks, such as moving flat and having no DSL connection, but now I have a vDSL connection. :P

I've also taken the time to think about future development plans regarding Android kernel development.

To be quite honest, I've totally lost the motivation to develop Android kernels. There are several reasons for this, the main ones being the development 'community' on XDA and the lack of collaboration.

As this is my blog, I am going to speak freely here, so if you are easily offended, or if your XDA username is faux123, r_data, showp1984*, et al, (you all know who you are) please close the page now, because you will not like the below, and if you don't like it, you know what you can do.

*I made an error here, and I apologise for it. I mistook noobishness, errors of judgement and uncertainty for intentional, malicious actions. Having spoken to showp at length, I don't believe what he has done was malicious or fits into any of the below. The fact is, the stuff I was referring to was quite old and had stuck in my mind because it irritated me at the time, whereas the other 2 individuals mentioned are actively pursuing the below style of development.

To be brutally honest, the XDA community is a fucking shambles. It is full of a plethora of copycats and cherry-picking morons, all trying to pass off their copying as their own innovations. None of them have got any development skills, any ability to logically solve problems, or any common sense what so ever. Yet, unsuspecting users see them as Godlike beings who produce magical things, when in reality all they have done is compiled code written by someone else, which the users themselves could do by following a simple set of instructions, it really is that easy.

Alas, the Godlike aurora that these cherry-pickers emit is bullshit, and any individual with an ounce of common sense knows that, but try telling n00b users that.

There is no collaboration and there is no attempt, whatsoever, to make anything better for the community as a whole. They compete to provide the biggest list of moronic 'features' possible. Their 'work' offers nothing good or useful, and just makes the XDA development community look moronic. The only reason why they do it is for their ego. Perhaps long feature lists makes up for something else which is lacking length, who knows.

The other thing which seriously pisses me off about these morons is their selective adherence to the GPL, even though it isn't their code they are compiling. It really is simple: you release the binary and push code at the same time. You don't release a 'test' release with 'new features' then push the code a week later. That is out of order and you are *not* GPL compliant. And you only do that because you don't want the other cherry-picking morons to cherry-pick the cherry-picks you have cherry-picked. Seriously, why the stupid competition? Nobody gives a fuck, apart from you.

This is pretty much non-existent. Doing something like IDLE2 is not for the faint of heart. It is complicated, it contains a lot of logic, and for the most part it works well, but there are bugs, which I could use some help with, because coding and working so close to the hardware is very new to me. Alas, no help has been forthcoming. Perhaps it is because nobody is interested in the Nexus S anymore. I don't blame them to be honest, it's old and slow, which is why I am selling mine in the next week or so. The fact is though, I embarked on a fairly ambitious project which has been, for the most part, successful. I published my work on XDA hoping that other developers would see the potential and assist, in fact, I actively requested this, but to date, not one person has approached me offering to help with development, which is really fucked up if you ask me.

I can't do it all on my own, I have spent countless hours attempting to fix the outstanding issues, but I can't. Basically, the IDLE2 project is on hiatus as far as I am concerned.

So...that stuff has been boiling up for months, as you probably know from some of my recent posts on XDA. I can't and won't deal with the fact that noise from the moronic crap outlined above blasts away the small amount of real development which takes place on XDA.

Seriously, XDA, sort the shit out. Move these morons into their own subforums or something. Make 'original' development actually mean that, and don't just allow any old cherry-picked crap to reside in there.

Anyway...fuck XDA and it's plethora of pseudo developers.

Some people may think 'well, you aren't exactly a master of kernel development either, you are an arsehole with an attitude problem'.

I totally agree. I'm not. I'm quite n00bish when it comes to writing code, but I try to make things better, I don't do stuff for my ego and I do genuinely do things to try to better the community.
But what is the point in putting countless hours in when it is drowned out by moronic shit and when you receive abuse from moronic users for trying to tell them that their favourite 'developer' is a fake?
As for an attitude problem, appearances can be deceptive. Being intolerant of morons and fakes does not equal an attitude problem. It just means I see past the bullshit, which is a good thing.

Future Plans
Future plans are pretty much to cease 'official' Android kernel development. I won't be releasing any other Android kernel binaries officially via my blog or via XDA. I will announce developments on my blog and may provide binaries to test, but that will be the limits of my Android development.

There *may* be more regular 'unofficial' releases for Nexus Prime and Nexus 7 available in my IRC channel, #thalamus-hacking on FreeNode, but it will be what I'm working on personally.

IDLE2, as previously mentioned, is on permanent hiatus unless somebody assists me with the outstanding bugs, but it would have to be more than just talk to rekindle my interest there, because I've wasted too much time on it already, and I'm not into flogging dead horses.

Nexus S kernel will not be updated any more. It's old, slow and I'm not sure how people use it as a daily device without throwing it against the wall. I couldn't now, it would be too frustrating.

I've been doing a bit of collaboration with morfic with things I'm trying out, so you'll probably find some of my recent work in test Trinity kernels. We have a fairly similar development ethos, slim, fast and no bullshit, so it works well. The fact he isn't a cherry-picking, feature list wanking moron certainly helps. :)

My personal plans are to do more kernel development with 'proper' Linux on development boards such as the PandaBoard. Much of this work will likely be able to be used in Android kernels. This will also mean I will be able to develop with the latest versions of the Linux kernel instead of being constrained to older versions.
Anyone fancy buying me a Versatile Express? ;)

Current development plans

  • ARM auto hotplug driver needs some work.
  • BFS for ARM SMP is currently broken and I would like to fix it as I believe it would be extremely beneficial to multi-core ARM devices.
  • Work on my personal NP an N7 kernels, although the NP one is pretty perfect as is and the N7 one just needs the ARM auto hotplug improvements.
Apologies for the long blah blah blah post, but I really needed to get the above off my chest.

By the way, I look forward to the abuse in the least I'll get a laugh out of it. :)