Monday 6 January 2014

What I do when the XDA build server #2 is down.... (PART 2)

So what have I been working on?

1. Tegra-Sleeper 

This is a direct port of flar2's MSM sleeper from his ElementalX kernel. What does this do? Simple. It basically limits each CPU's maximum freq to the user-input-scroff-freq using a modular interface. It's almost perfect already. At least the CPU stats tell me so. However it still needs some refining and a proper sysfs interface. Documentation, if it really is necessary will be updated in the  kernel source and in this blog.

2. AOSPAL

I was thinking of building AOSPAL for grouper (it's not getting much love :( ). And guess what? IT FAILED! :D Cool, right? As soon as the server is up (which should be soon) I'll get it working (hopefully) and if it *does* work out, I may become a grouper maintainer, and you know what that means? (HINT: weekly doses of awesomeness) :D

Stay tuned.

What I do when the XDA build server #2 is down.... (PART 1)

The past two days have been an agonising test of my patience, and it's not going well. The XDA build server is down, which means the one feature I was working on for two weeks has come to a stop for some time. That sucks. That sucks balls. You wouldn't know how I feel unless you have valuable work stored on a server that crashes (with all your work) and you are unable to compile and test important functions.

However this server-crash-period (I'll coin that term one day) has provided a window of time to let me express my views on the Android world. Let's get started.

CyanogenMOD becomes a crowd-funded company and their irrational decisions

Seriously CyanogenMOD has come a long way. They are now Cyanogen Inc. Props to them. Gives us new developers the encouragement needed to pursue our dream. Well done CyanogenMOD.

However when things go big, the problems evolve into giant f**king walls that obstruct any further good. Such was the case when CyanogenMOD became a company.

CyanogenMOD originated in 2009 (no I didn't know of it then), and the community was happy and eager to help by pushing patches or at the least by providing feedback, but that's not the point. Everything was open-source (except for a few nasty binaries and maybe kernel sources for a few devices), so devs could not complain about "not being open", "not helping the community improve the project" and all that bullcrap people complain about sometimes.

As Android and CyanogenMOD evolved they got into arguments with a few developers who shall not be named. I'd like to mark this as the point CyanogenMOD started their downfall. Later in 2013, when they decide to become a company, a few of the most talented developers ditched the team. Why? Because their contributions weren't going to be fully recognised. CM was going to relicense some stuff, and one developer (whose post I read today) felt like he was being screwed out of his rights as a team member. That saw said developer leaving the team (and giving birth to Omni with a few other talented developers, some of who were part of the CM team). Over the years CM has become a massive aftermarket firmware that nearly 95% of all Android customisers and hackers (and whatever you guys like to call yourselves) have used at least once. Do you know how? Numerous people have contributed code that bring up a device tree, fix vital components, stabilise a build, get a build booting and even get a device building properly. With CM becoming a company, the efforts of these people are not going to be recognised at all, because face it the public usually don't care about what goes into making the ROM (or software as people call it in general) as much as they care about the finished product.

Can you blame the people? Yes. Can you blame CM? Also yes. Both parties are responsible IMHO. I'm not going to say anymore about this.

Let's look at another one of CM's weird decisions (IMO). Remember when CM kernels for MSM devices were based on the Google source code. Pepperidge Farm, a few of you and this one individual remembers. Now it's based on CAF. And look at all the f**ks I give (I don't own an MSM device :win:). But look at the fragmentation it has resulted in, especially in the Nexus 7 (2013) forum. Why did the CM team feel the need to do this? I have no clue, but it certainly didn't turn out the way they expected (or did it ....?).

BUT (yes there's always a but (that's not what she said)) as with all great companies, after every fall comes great success. Will CM become the most used, the most popular ROM once again? Or will it be suppressed by the likes of Omni (a serious competitor now), PA, AOKP, Carbon, Slim etc.? Only time will tell.

Enter OMNI: the minimalist's ROM

Remember what I was saying about a few CM devs dropping out? If you don't. dude(tte) shut down the monitor, take a whiff of the fresh outside air and get your brain scanned for defects (no offence intended). If you do, well this should explain a lot that's going on your mind. These devs joined up and at the BABBQ 2013 unveiled Omni, a ROM that's minimalist and yet extremely powerful. The devs behind this project are top-of-the-class developers, and therefore even if crappy patches are submitted (please don't do this people), each line will be thoroughly reviewed and not just dismissed "because it compiles". If you're a ROM fan, this is the one ROM you should look out for. Trust me when I say this, this project is going to be big. I wish the developers the best of luck in their venture and with this I end my first part of the SCP (server-crash-period) blog here.

Stay tuned for part two. 

Tuesday 31 December 2013

A Happy New Year

Yeah this is the 31st of December. If you're reading this now, you have probably survived through another year. So yeah, if you're not out partying with friends like an absolute ass-wipe, take some time to go through the year that was with your family.

I've decided to update this blog weekly. News about kernel developments and ROM developments will also be posted here.

Wednesday 4 September 2013

Tears from the heavens...

A rumble in the distance,
A flash of light so bright,
A drop of the purest water
From the sky up high.
A blessing for some,
A curse for others.
The medium of joy
The vessel of pain.
The purifier of our souls,
The cause of melancholy.
Indeed they are an amazement
These tears straight from heaven.


So how was it? Please comment.

Monday 2 September 2013

Thoughts on development

Let me begin by saying that if you are reading this, you should know that this is my personal blog. That basically means I can write whatever I want to about whatever the hell I want to. Okay? Good. Moving on....
Okay so when I had just started out on XDA as a young padawan seeking the light of knowledge, I came across several devs that maintained a blog. They shall not be named. Needless to say that is what inspired me to set this up. What interested me was how they talked about their projects and how others in their field of work were doing compared to them. I was amazed; never in my wildest dreams had I imagined a developer's life to be that cool.
A lot of them were complaining how some people were deceiving the community of users by copying code from others and compiling it with a different name. I can't say I am really very different but I do put in some effort into whatever I do. I am not saying that I am up to the standard of great developers, but that does not necessarily mean I am a sick jerk who takes credit for others' work. I always mention in the OP of all my threads creds go to the devs I "stole" the work from. That clears up the credits bit and brings me to my next point: supposed code theft. You should know by now that I am talking about kernels. The Linux kernel is supposed to GPL'ed (thank you Mr. Torvalds), which is basically a way of saying that "Yeah, go ahead. You are free to copy this bit and that. Just give credit where it is due," which I am sure most people know and practise by now. Therefore it is not logically right in my opinion to blame someone for stealing something that can legally be used by anyone, provided that someone gives credit where it is due (very important bit, this). There is probabl not one instance where I haven't directly/indirectly credited the author of any tweak that I use in my kernel. And I always commit my changes to Github (yeah you guys can compile it), so I am in full compliance with GPL and you can suck it.
One thing that bothers me though is how unorganised the developer community is turning out to be, mainly with the introduction of Original Development and Android Development. Now the good people behind XDA have made it absolutely clear what qualifies as original development and what doesn't. However newer developers or compilers or whatever (I mean this with the utmost respect) have somehow managed to forget the guidelines. As a result, the Original Development section is filled with ROMs and kernels that, if going strictly by the guidelines, don't belong there. Let me give you one example.
There is this kernel XPerience something. It's based on the CyanogenMOD sources with a few cherry-picks from some other repositories. A lot of the code is inspired from my Github (which in turn is inspired by the work of the others). A prominnt example would be the basic backlight control which I based on Metallice's work. And some others too. But I don't mind since I have been credited. My point is this.
My kernel is in the Android Development because I know I have not enabled/cooked up any original feature, and i can accept that. No problemo with that. However a kernel that is based on someone else's sources (like mine is), contains very little original work (a little like mine) and includes other's code (also similar to mine) is in the Original Development section whereas mine isn't. That makes me feel discouraged. I lose the urge to even try to achieve something when I know I can easily copy someone else's code and publish it as my own. For example, I know that M-Kernel has a UV interface for GPU components. However I chose not to utilise that and instead came up with my alternative code (almost a direct copy-paste of the CPU UV code). Given that it doesn't work (duh) I know that I can at least use some logic to solve a problem given to me. XPerience kernel may be great but I hardly feel it deserves to be in Original Development. My 2 cents only.
Now if anyone from XDA is reading this especially the OP of the kernel or a moderator, know this. I have no enmity or any feeling of malice towards you. I just wanted to express my feelings and I know the dev myself and firmly believe that it was just an honest mistake.
That's it for now.
And always remember before doing anything, ask yourself this:
"Why the fu**ing hell not?"
Stay cool.

Thursday 22 August 2013

What I have been up to

Grade 9 is tough. Plus my laptop crashed completely. I have to set up Ubuntu all over again. That has to be a sign.

My kernel's on XDA, and users seem to like it. I have successfully acquired a small user base, which is a good sign at such an early stage of the entire project.

Life's awesome as always, and I'll try to follow through with an entry the next week.

Saturday 25 May 2013

[UPDATE] N7 KERNEL! Flashable ZIP! {11:18PM GMT+6 25-5-13}

Here's the link to the flashable ZIP for the N7 oxydo kernel: http://www.sendspace.com/file/7wgbre

Changelog from first release:
- 700MHz GPU OC.
- 660MHz LP CORE OC
- Linux kernel 3.2.44
- 3.4 lowmemorykiller that uses oom_score_adj instead of oom_adj. (Need to check something in the ramdisk to be sure).
- Franco's hotplug driver. Parameters aren't available in TricksterMOD app yet. Working on this.

Major plans:
- Port LGO4XHD Gaming governor.
- Write a simple hotplug driver that considers both work load and battery level to switch on/off cores.
- Perhaps backport more features from 3.4.

Credits
- Google
- ASUS
- Franciscofranco
- _motley
- intersectRaven
- faux123
- Metallice
- ashik992
- sparksco
- showp-1984
- The entire oxydo team for sticking together although we haven't been in touch recently. Sorry guys. Let me know how I can make it up to you lot.
- Allah Almighty (of course)
AND LASTLY
- ME!!

 Pretty much everything that work in _motley and franco.Kernel work in this too.