[Galaxy S 4 General] Absolon:
Starting a new thread here.

YES I A NEWBIE!!!

(when it comes to Android at least).

That said. Nobody has to point it out. I know where I stand and I don't know much about Android. I know quite much about Unix/Linux so that's

a start. I know some electronics. I own a Note 3 that I think is mostly the same and want to try to take it parts from there.

It's not about stealing, "kanging", code. Please see it as a journey of fun. Of learning. Making something!

Newbie or not. I think we could be a fun bunch. Since we all want to learn!

I see more want the same. So why don't we pool? Why not make a "Hello I9506!"-Rom? :)

It's something I want to learn. Today I don't know something. Tomorrow I will. But just the satisfaction of doing something is worth it.

So if someone is interested. Message me. Hell. All the devs where newbies once.

Some are very helpful and some are jerks. We have the whole spectrum here and met both sides. But I don't care if a "elite-dev" snorts at me.

I want to produce something. From there on? Who knows?

A quick question:

Do we have some bloatware-list we can use or it the same? Still would need it thank you :)

I got some strange behavior of it yesterday (yes, I rooted it and tripped Knox, knowingly). It says it doesn't have space.

Folderspace says otherwise but saw that the /system was 89% and that feels just like it needs a real good cleanup.

I need to do the same with my Note 3. There I think there are scripts, but not for this. Is it the same TouchWiz as on the '05?

I contacted the "head developer" (I think, the one that made the first post) from FoxHound Rom since they

1) Makes a really nice rom

2) Have a release it on Note 3

So I asked for some help, hints. I'm sure he answers when he sees it.

What I like is the AOSP-feel of it. I'm like all the time running, between them. Flash, flash, flash. Ok dual boot now, but not the same!

Was same on my HTC until Venom released Viper for One X. The rom of roms! Venom Team. They are damn skilled.

So you find your "fav-rom". Me I like Foxhound just because it connects the two worlds. It's aiming for the best of the both worlds. Innovative.

Granted TouchWiz as a base is stable. They have a whole stab of people working on it.

It's fun to play around with both Probam or Pac-man (as it's built on) but it has drawbacks.

I can't use my Flipcase, and on the Note the pen and then we have some bugs on it. As all the rest.

Nothing that I can't complain about, since then I should take my butt and fix them or report them at least.

Please. Report. Never complain of bugs, because they happen. It's their hobby project ffs!

I really hate people that start to "demand" or are very unfriendly in their bug reporting.

It goes the other way around as well. Sauerkraut-devs with snotty answers.

Having worked with several closed and open source projects bug-reports are good, ideas for change. You can voice.

Sometimes strongly, about a new direction you don't like but you can NEVER demand, complain. Want something that badly? Ok. Pay me.

Over the years I've been on the net (like since 1991) I've seen this circle over and over.

The circle of Open source development

1) Enormous enthusiasm. The start! The first little halting buggy rom. So proud. Full of energy.

2) Taking in own and others ideas and develop, develop, develop - this is the happy times

3) The bugs start to be complicated as the code complicates so they are not that "fun" as to implement new stuff - and here starts the spiral

4) Here it's a combo that can go two ways or together

a) Constant nagging, demanding users without positive feed back makes them think that the users are just ungrateful. Because they are.

The coding is done on spare time. You can't "demand" someone from an Open source project. You can ask, propose.

In some you can expect it holds high standards and you can sometimes question if the decision in some part is wise and made a good and sound argument.

Give an alternative. But never demand and the final decision is up to the project.

b) The coders starts to seem themselves as the best on the earth and starts to see the users as something unavoidable.

This is a big error because then they should stop releasing version and just have their own. So they stop listen to ideas, and feel that the users

are ungrateful ****heads that should just follow the path and be happy that they get some app at all.

That is the negative spiral.

The frustration and the worst scenario, a rouge programmer, that go it's own way in the project. That makes a schism. Quarrels

Either the code is then forked (parted) or the whole structure starts to fall apart in who is the leader, owner, and never-ending discussions

because everybody knows BEST. Here the users are totally ignored since the internal conflicts takes over the whole project.

5) The coders gets tired of all this. Have bugs they don't care to fix and if someone files a report or do a suggestion they get a "Do it yourself" back.

6) Abandoned code or a restructure, a new way of working and uniting, some people leave, some new joins.

Healing and a fresh start or the project dies, often with the last version full of bugs that people still use because it's still what they want.

If there is luck, an new bunch of coders take that code and start from 1

I've seen this so many times and it's always the same.

In commercial projects you try to identify when the coder comes to this frustration point, because then it's time to move him/her to something else.

Because a disgruntled and unhappy person is never good, in anything. So it goes both ways.

So how to avoid it?

Basics. Planning. Setting goals. Having a real bugtracking system. Making clear that suggestions are suggestions and have a civil tone from both ways.

And then talk, yell, have big arguments inside the group, but make a real case for it. Like having your own space, where you give proposals.

But in the end. ALWAYS RESPECT.

A round table is not a bad thing, but there has to be respect and it has to be someone that has the final word that you have enough respect

for and trust that he/she decide what he/she think is the best and accept it. Else it's a chicken-yard. Never ending back and forth.

If you can't live with it because YOUR proposal was not granted either leave in a good way or make a fork. Or be a good player and not a crybaby.

A proposal should be in the form of What, Why, Time, Benefit (and if you are mature enough - potential problems and implications).

And then have a discussion about it. Advocate your case. Have a chat in the group.

There is nothing to say that a program can't have two different versions. Sometimes an experimental branch just to test things.

Time can tell which is the best. Be humble and respectful. Have heated discussions, as I have in a current project, challenge something.

That way, you see if it holds. It's the basis of research as way.

Postulate something. Try to prove it. Find someone to disprove it. Have an argument. See if it holds else start over. Boring? Yepp.

Does it give results? Oh yes. This is how mature people work.

Especially when it comes to medicine (that is my field now). Proving something is not easy. And think of those who sit for 20 years with a problem,

try 200 ways that fails, but don't give up. Persistence towards a goal. I met a professor. She has been working with HIV for something like 20 years.

She told me how many times they thought they where close. How it looked so nice. How it looked "THIS IS THE KEY" to see that it held for that part of the virus,

but not for the other 18 mutations and that it doesn't do any real benefits compared to the disadvantages. Finding a "hook" as they thought a few years back.

That was the most promising. Because a specific "hook" in something means that you can do something that grabs it. But it failed.

Or the people working on Malaria that kills so many. It's a complicated parasite and we have been so close, so close, but not yet.

The really big big thing. Documentation. I know, this is sooo damn boring, but to write out what you are doing in this block of code

(if obvious, just one line), If more complicated, explain.

Don't over complicate.

Don't insert numbers that you forget lie *1024 or +2, use a label for that. Document!

Try to write as general code as possible. KISS! (Keep it simple, stupid).

There is this case that we always get. It's about a coder in a project. He has this subroutine. He has been writing it to "perfection". Rewriting it.

Over and over. The machine went for years. Then it called that function and it crashed. Oh the irony,

In Sweden we call code that is in total disarray for spaghetti-code, because YOU know it, can navigate, but for someone new, it's hard or impossible.

Modularize as much as possible! Can't stress this enough.

That way, even if it take a bit extra time you have "boxes" that are taking in stuff and spitting out stuff.

Example.

We need a database to store things. We chose X. We work with X and then the X is not ideal, we need to make compromises in the code.

Mend it to work with X. But we come to a point where we want and need Y. But since the code is so intertwinned with X it's a hell to change it to Y.

Making an "interface", where you define clearly, the function of the database simplified (creations etc), boils down to this:

Search for something, read that something, write (change/add/delete) that something. That is it.

So yes, you write a few more lines, but today, we don't need to count how many clock-cycles the penalty it get (as I did way back).

We have damn fast things. When Java came it was like syrup. So zzzlooooowww. People just scratched their heads.

The only thing was that it worked over platforms. Today we have computers that can run it just fine. Fluid. Our phones for instance.

Same with C++. And yes, you can still make it zzzzloooow. So it's good to have some books (I have ebooks) on functions.

Don't reinvent stuff.

A sort function is mathematical. It will not change. When I started my masters we had this "little" book called "Introductions to algorithms".

It's like 3000 pages! Written in "pseudo code" 20 years ago but still holds. I can teach why we should not use this and why we should use that.

But I have not coded since 1997 or so and so much has changed!

But an Android is a Linux in the bottom. I've worked as a Unix specialist for many years before I changed path. So I know my way around there.

I DO need to update myself. I'm honest. I can spend time in clusters. Sometimes I have personal matters that hinders me. Like most people.

But first and foremost. It has to be FUN. This is our spare time. We do this for free. It SHOULD be fun.

Writing not fun is something you get paid for. Get a specification. Do this and that.

We still need that and it can be an obstacle but it still should be a goal to want to do this.

Persistence. Ask for help. Get a no? Ask another. We all have to start from square one. That is the beauty of this in a way.

So I'm asking if someone wants to make a group and do a ROM? I want to try. We seem to be an enthusiastic bunch here right now. Let's pool!

Let's make our "Hello Worlld! I9506 rom! :)

So if anybody else, newbie or not, feel it would be fun, message me. Cause I will try anyway and I would love some company.

I've had "some" project leading experience, and I still sit as a bit "advisor/pain in the but".

I don't code but most probably need to start again. But I do voice advice/concern from time to time. I try to propose some solution based on experience.

Call it "meta-coding", but it can be just as important to know how to move code fast then to be able to write the lines.

"Paradigms" don't change. If you look at a language, Java, C etc. You can boil it don't to rules. And the rules are basically the same.

The syntax, how you write it, is different. Some special solutions that is unique for just one language is there.

It's a pain to work with strings of text in C but easy peasy in Perl for instance.

And if we find someone that can give us hints help. That would be kind of them. We can ask. The worst response we can get is a "no", right?

As you see I'm known to write long. "Walls of text" is something I first got a bit mad at, now I find it funny. Sure, I "chat" in a written form.

But I'm full of ideas and enthusiasm here.

I have no plans to enforce me as some "boss". We are a team. Later on, someone will lead. We are a bunch of enthusiasts.

Right now. Baby steps. At least this is how I look at things. You might look at it otherwise.

Nothing stops us from exchanging ideas, even if we don't work on the same thing? I think that is the spirit. Helping each other.

This is not an competition. I don't care if 5 people uses the rom or not. It's not about that. The next one will be cooler. But competition?

Isn't that a bit childish? People have different tastes. I like the AOSP. If my flipcase etc worked I would move from TouchWiz since I even don't use it.

My subproject that takes precedence

KNOX. I will not give up on Knox. That is my main goal right now.

It affects me personally. If we don't stop it. Stop wasting time how to circumvent the bootloader. That is irrelevant.

If not stopped NOW. We will have an S5 with a chipped version of it. Then it's too late.

I see, in some despair, people whining in the threads, but no action. Why don't 20 people start to reg at user-forums and start to spread this?

I have MY theory. You can have that. I think it's for spying. Because I can't any other reason. My employee would give me a phone.

It has no place in our phones. But whining in a thread in a special forum like XDA, where there are people who are wizards when it comes to

developing and people that want to custom their hardware doesn't do it.

We need to spread it to the forums where the "normal" users sit. That probably never noticed it's even there. The ones that ask how to change

the different levels of volume, for calls and system. The user-base. Make them understand in simple terms. Telling them that this place, where the

best people frequent, doesn't really know what it does, because Knox is more then a bootloader that you want to circumvent not to trip that "flag".

That is the only place where we can reach the masses. Make people think. NSA. Snowden. Reading my mails? Recoring my calls?

I don't know. Do you? But it's possible. Who am I to know if my provider feeds my government with data. We already feed them with positiondata.

Make people aware. Make this crowd DO SOMETHING...

[/I]

When you turn on Skype it tries to make a tunnel through in a very sneaky way to "somewhere". I see it each time I turn it on since I tap my ethernet.

My webcam is on a switch. When I Skype I turn it on. Else it's off. And aimed at the wall, if I would happen to forget to turn it off.

So they can make happy pictures. So did Hitler. I just don't buy their bull**** of security for individuals that they added a few days ago.

if I don't want to use a firewall and a viruskiller on my PC. That is my choice. If I look at the downloaded movie Intel won't blow up my CPU.

But here, if this e-fuse is true. That is a deliberate active action. Then they are destroying my property. That is not acceptable.

But to make the "whiners" do something. Damn. That takes energy.

Ok, I stop here. If someone IS interested in experimenting together, message me. I think it can be a fun journey :)

All the best,

Absolon (yes I got my real nick back!)