PseudoSubstrate 1.0

| | Comments (51)
Quick digest in one line: PseudoSubstrate, a replacement for MobileSubstrate (available in Cydia) is now available for the Installer.app, allowing to host and use the packages that use MobileSubstrate. The first package is also available now, named MySMS. PseudoSubstrate is used for situations when you don't have Cydia installed or prefer Installer over the former and requires no additional work from developers' side. And it's faster, too.

And a little background for the curious minds. Often the task of many utilities are to extend the functionality of existing applications, such as SpringBoard, SMS, and so on. Of course, to extend the application, some additional code created by a third party has to be loaded into the application memory and then alter the behavior of these applications. How is this done? Altering is performed by finding one of the common functions in the application that perform the task we'd like to alter (for example, function that sends an SMS message). Then a replacement "patch" function is written that accepts the same parameters as the original, and it is "swapped" with the original one. Usually these patches do something then call the original, so essentially nothing is lost functionality-wise.

Both Mobile Enhancer and MobileSubstrate are essentially bootstrappers that aid the patch modules in loading into the host application they are about to extend and to help them patch the functions by providing common interfaces that replace the original function with a patched one and provide facilities for calling the original afterwards. They're nothing else than that - iterating through a list of patch modules loading them one-by-one into the application you're launching and then providing some helpers to assist the modules into getting the job done (and don't conflict with other modules who potentially wish to patch the same function).

Of course, nothing is stopping a developer for creating their own bootstrapper, and this is what some of them still do. But it's more logical to adopt a single platform and then use it.

Mobile Enhancer exists since September 2007, and is a direct descendant (actually, in some aspects, it is an ARM port of it) of Application Enhancer by Unsanity, which is a Mac OS X library doing the same thing. MobileSubstrate was born sometime this year because apparently its author didn't like the fact Mobile Enhancer is closed source (but still free). I may be wrong in the reasoning, though, maybe the author will comment on his own.

As it often happens, free is not necessarily better. As any quick&dirty job, MobileSubstrate does what it's made for, but the way it does it is far from effective. But hey, it's open source, anyone can make it better, right?

You may think I might be biased, but let's look at the facts:
  • MobileSubstrate is using a simple way of patching C functions where multiple patches for the same function will conflict.
  • The way of patching Objective C methods used by MobileSubstrate is puzzling me. Instead of just swapping the IMP addresses of the functions, it does that, but also adds a new method into the class methods list. While I can understand, why (it's easier for the developer to write [self orig_patchedFunction:arg1] than gPatchedFunction(obj, sel, arg1);) but in the end it causes a separate call to objc_msgSend resulting in 50 to 400 extra instructions to be executed just to call the original function. Talk about speed, huh.
  • The way MobileSafety works (it controls the Safe Mode commonly seen in the SpringBoard) is okay for a UN*X diehard - but it relies on some assumptions it shouldn't. For example, it traps common signals sent when the app is crashed (SIGSEGV, SIGBUS, etc) but doesn't passes the extra information to next handlers in chain! Hello, this is 21st century, and we're not talking of command line tools here - it's done inside a full-fledged GUI app, and who knows, that extra information MobileSafety discards may be useful - you never know!
  • The loader itself is written in Objective C which means it is much more slower than compared to the one written in pure C - and that affects every application launch.

Well, I guess since it still gets the job done, I couldn't blame it much. It's a great concept which got executed fairly poorly - which is understandable as the author apparently have a day job and maybe has little time and/or knowledge for hacks like this (again, UN*X is not Mac OS X).

Either way... since MobileSubstrate is inferior to Mobile Enhancer, it was pretty easy to create a wrapper that would load MobileSubstrate libraries (using pure C, so it does it faster) and provide the functions provided by MobileSubstrate (that also work more correctly in some aspects) so the developers who use MobileSubstrate don't have to change anything in their applications - it will just magically work.

Enjoy.

51 Comments

So, if I want to use both Cydia AND Installer - and therefore are using MobileSubstrate as of now - can I just install PseudoSubstrate and remove MobileSubstrate, or will that FUBAR anything?

it's one thing to bullsh1t your readers, but you could at least try to backup your claims with some concrete data
jealously is a bitch

I prefer my software to be open source as well, thank you. Not as if I would be trusting notorious bullshit artists like you for a second.

NS: If you already have MobileSubstrate installed, let it live. PseudoSubstrate will detect it's installed and will not install itself over - we respect others' setup. :) In a nutshell: no Cydia/MobileSubstrate - PseudoSubstrate will help you; got MobileSubstrate in - it will use that.

Optimo: i have provided a few concrete data in the article. Try reading it? :)

WiFone: it's your right. Let me ask you, why are you coming back to a blog of notorious bullshit artists again and again? :)

For lolwutz, of course... duh! Enjoying the show D-)

Code can always be made more efficient and I am encouraged by your ideas and comments. Anything that makes this beast faster is always welcomed. Who knows, maybe your comments will open a true-discussion (not bull-tossing) which benefits us all. This would be ideal. (Who knows, I can always hope :))

Wait, you're blaming people for not using MobileEnhancer?
Who had the power to actually document it?
Oh yeah, you.
Who didn't?
You.
If I recall correctly, there was never any sort of MobileEnhancer module published by a third party developer.
Of course someone had to come in and develop a new platform; you certainly weren't going to offer a free alternative to SummerBoard since you had your own product, and MobileEnhancer wasn't even publicly released when WinterBoard was released (August 2nd).
Ano, it didn't always depend on MobileSubstrate, but basically everything generic that WinterBoard performed was removed and made into MobileSubstrate for widespread use.
Installer 4 with MobileEnhancer went public on August 8th with no documentation.

I don't even understand why you would even develop this..
There are some MobileSubstrate plugins that you are now enabling your paying customers (that you are desperately trying to hang onto) to use which are much more than the poor products you offer (Hood and Kate).

(This is the author of MobileSubstrate.) Ok, I would normally totally ignore something like this, but now you are getting into the world of personal misinformation. :(

For the record, my day job actually is (at least often) doing these kind of hacks. I have spent the last few years doing embedded ARM development, working for a client that wants code they wrote 20 years ago to work on their new device, often without source code or documentation. This requires drastic reverse engineering efforts and various hooks into the code.

/Now/, however, my day job is iPhone/Android development, and has been for months. After I released Cycorder I started spending less and less time doing consulting, and now I simply don't do it at all.

Finally, my PhD work is in "Post-Compile-Time Code Modification and Optimization". As an undergraduate I even published a paper on hooking method calls in pre-existing Java applications (which is actually more difficult than doing the same for C/Objective-C, as you can't just back-patch the already loaded code).

I therefore find your assertions that my expertise is lacking in this area surprising ;P.

You also happen to be making a couple incorrect claims about my work, which I will now address. As an example: the way I do C hooking /definitely/ allows multiple hooks to coexist. I highly recommend reading the code again: each time someone hooks the function, they will lift out a trampoline which contains code to call the previous hook.

This is difficult to see as it is a side effect of the hooking process as opposed to an explicit feature, so I understand why you missed it. To be honest, even I have to rethink through why it works if I haven't looked at it in a couple months.

In the case of MobileSafety's signal hooks, you have a point, but it is a dubious one: remember that inserted libraries are loaded before the original application. This means that the application is going to be forced to hook them after I do: I can't stop those hooks, and can only hope that they call through to me afterwards. The only time there should be another handler I'd have to call through to is if another library made such a hook.

I will, therefore, fix this issue, but it should be made very clear that this is not even remotely the big deal you are making it out to be, and that your specific complaint about "insert a full-fledged GUI application" is simply false. Even then, the entire concept of the argument is weird: the mobile safe mode mechanism /only/ hooks SpringBoard.

Past that, you make a few correct, but unimportant claims: the fact that MobileSubstrate attempts to use Objective-C'isms when possible ever so slightly slows it down. However, when you are already hooking Objective-C messages this cost isn't noticeable. I would love to see some high-level numbers where you show the costs.

Specifically, for example, I can't imagine the startup penalty of MobileSubstrate is even measurable. An application already takes about two seconds to load. I know that all of the measurements I've done simply haven't mattered.

As for the 50-400 instructions per hook, that is only going to cause issues when you are hooking something at the lowest possible depths of a program (where only a foolish developer used Objective-C to begin with). Think about it: what is the hook even doing? It's probably/hopefully going to be sending a number of further messages, which will swamp the couple hundred nanoseconds you are concerned about.

That said, I agree: it would be nice to provide that option, and I thank you for the suggestion. The next version of MobileSubstrate will also support an IMP pass-through method of calling the next hook (although given that, as you say, it is slightly more bothersome to the developer, I doubt many people will prefer it).

This is one of the wonderful aspects of open source: you were able to read MobileSubstrate, and give me a useful suggestion. A patch would have been even cooler, but this is still awesome.

On that note, I didn't even know that Mobile Enhancer was something that third parties could use. (To be very frank: I wasn't even certain that Mobile Enhancer did anything similar to MobileSubstrate until today.) Is there any documentation for it, or any examples? If you Google search for it you just get confused users trying to guess what it is for. One gets the feeling that you preferred that technology to be for RiPDev's internal usage on their projects, not something to be used by everyone.

Really, AFAIK, MobileSubstrate is in use by as many people as it is only because I wrote WinterBoard, which I designed because A) SummerBoard was dead, B) I don't remember FaceLift fully working on 2.x at the time, and C) even if it did, it was commercial anyway and I felt the most bang-for-the-buck could be had giving that part away. While doing this, everyone really wanted WinterBoard to be open source, especially given that SummerBoard simply got abandoned and FaceLift was stagnating.

Originally, therefore, I simply wrote it. At that same time, a number of other people /also/ wanted to hook things, and were coming to me for the techniques (which, as you know, were more complex on 2.x due to the new Objective-C ABI). I just kept pointing them to WinterBoard's source code. As far as I still know, this is because no one knew how to use Mobile Enhancer to do this, assuming that they even were able to.

After a couple weeks of this, I finally decided to abstract that part of the code out of WinterBoard into a library, in order to A) make this easier and B) allow the hooks to be centralized (which makes installing them much simpler: too many developers were messing up their installation programs and SWOD'ing people's devices). So that's the story of why it was written.

If Mobile Enhancer had been "out there" and documented (which something that is closed source kind of has to be to be usable ;P), maybe no one would have come to me, and maybe no one would be using Mobile Substrate. You never know.

After further investigation, I see that you've purposely disabled loading of WinterBoard.
That's fine, I guess, since you wouldn't want to hinder sales of your own product (even though the FaceLift component is now free).
It seems that the SpringBoard layout bug is still persisting though; every time I respring my icon order is reset, even though 2.0.5 claims this was fixed.
What's so hard about not changing all permissions to 600 each time you write to a file?
If it matters, I'm using an iPod on 2.2.
Also, you never corrected a bug in Installer that I reported a long, long time ago.
After clicking a package on the Featured page, there is still no way to get back to the original Featured page (I guess you can click the button in the bar, but that's not as friendly as a simple back button).

you have just been ownd!!!!!!

OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!


RiP DEV JUST GOT RAPPED BY SAURIKKKK!!!~!~!~!~!@@@~~!

YEAHHHHH GO SAURIK!

First off i would like to say that Installer really sucks balls and Cydia is wayyyy better with all the awesome apps and GUI and is for the most part 100% stable while installer is thee bomb

Kate- pay for something that you get for free from Cydia?
5 icon dock and themeing (winterboard) are in Cydia

Hood- a very cheep remake of SBSettings and BigBoss is making a CPU toggle!

euwfgwSubstrate- seriusly WTF name is that... and its a cheep make off of MobileSubstrate that is DAA BOMBBB. MS is very fast and stable and you need to read its documentation more throughtly idiots

MobileEnhancer- Does SHit and MobileSubstrate raps it.

Installer- CHEEEP, BUGGY, LAGGY, NOOOOO PACKAGES! this is because most of the dependences are in Cydia which is created by the amazing Saurik (WInterBoard)

OK AND I GUARENTEE RIP DEV IS GOING TO MAKE A SUMMERBOARD LMFAO!!!

Nullrvier should of nvr sold installer.

and the community sources- One of them has a UNIX Subsystem, Open SSH, and Open SSL... DUMB!!!!! JUST GO TO CYDIA AND GET THEM AND THE REST OF THE 32423432 APPS IN IT!!!

I re-quickpwned my iPhone just to delete installer.

LMAO!!!!

Adding to minivinny95, I did the same exact thing to my iPhone, just to get installer off of it. There are NO packages NOTTTA, installer is just a waste of icon space.

To add further information, why do you people at Ripdev feel as if you need to compete with Cydia, lay your own ground work down and figure out your own shit. LMAO @ a RIPDEV summerboard!!!!

Also I just noticed that sleepers.net just released the first automated packager for its new Cydia repo. Did they do one for installer? NOT!!! I wonder why a site like that decided to do this for just Cydia.

HAH EASY ANSWER CYDIA RULES!!!

cydia rules

(this is the author of ravel[-arm]) saurik, so I was right and guys at devteam told me the true. you're really twisted minded sucker and I hope you found the better way to use money which you've tried to donate me and buy my goodwill.

actually I've reversed back rip's mobile enhancer and compared with your substrate. your solution is amateurish and absolutely unprofessional piece of shit which useful only for cheap parasitic promotion of yourself in pimply surroundings of iphone pirates.

*sigh*. For the record, the only reason any of us ever heard of ravel-arm (which is a wonderfully useful tool) is because it appeared on the iPhone Dev Wiki with a comment "this may be useful" (and I have later confirmation from Wicked that he, himself, is the person who gave it to us). It really was: I love this tool and I was even planning on mentioning its usage in my PhD presentations (unfortunately, along with the comment "whose author apparently hates me") :(.

Now, my understanding is that Wicked was contacted (not by me) for more information on how the tool works, but after the question sat around for a month or so a reply finally came back that, weirdly enough, apologized for it not being of use to us... the exact opposite of the sentiment. Note that I have not seen this initial e-mail (I wasn't even a part of the Dev Team at that time) and have only heard a little of the response, but apparently Wicked seemed deeply offended by something.

Then, just a month or two ago, I made an off-hand comment on the iphone-gcc mailing list that I wished there were an Objective-C ABI 2 capable version of ravel-arm. Wicked found this and sent me (just me) back a message saying that I was "the last person who would have ravel since [I]'ve offended the author" (note that I had never had contact with him before that day, so it would have to be something quite indirect).

In the course of trying to figure out what happened, a rather confusing set of e-mails ensued. In essence, Wicked believes me to be a pirate: note that I don't steal or distribute third party software and I actively discourage people using either Cydia or my mailing lists for the same, nor have I even attempted to undermine either the monetization strategies for the phone put in place by Apple (I encourage developers who come to me with App Store-ready packages to distribute through Apple instead of Cydia) or AT&T (I have not yet unlocked any of my phones and I am not involved in any of that work on the Dev Team). I don't even take my phones in for warranty repairs, as I consider that wrong (I jailbroke them, which technically voids my warranty, not that even most of the Apple employees care).

In the process of this e-mail thread, I tried to indicate that I /really did/ find his tool very useful (something he kept disavowing) and that I was even interested in donating money to the cause of its development. That just seemed to make him madder: why would a "pirate" be so hypocritical as to want to give someone money for software? I, in essence, believed he was calling my donation interest a bluff, and sent him a wad of cash with PayPal (just to his e-mail address, which apparently he didn't have registered with them), which he never claimed. Money I now find out that he also took as a personal insult.

Meanwhile, I have talked with some of the people on the Dev Team (with whom I have a rather good relationship), and I seriously doubt that Wicked actually got back anything about "sick and twisted" from them about me, but I'd love to hear a third party comment... that one just seems out of left field.

The only reasonable theory I have is that he might believe I stole ravel-arm (a program that, as I said, he handed to the Dev Team in the hope it would be useful), in which case I wish he would just /tell/ me that outright: I'd stop using it immediately and happily buy a copy from him in any manner he felt was the appropriate way to get his tool (note that there doesn't seem to be any mechanism for doing that currently).

Another theory people have had is that Wicked is bothered that I reverse engineer other peoples' work with ravel-arm, as maybe he equates reverse engineering with pirating. I say this, because one of the comments Wicked made to me is that he gave the tool to us in the first place as he hoped it would help with the toolchain effort, and I could see someone feeling that the toolchain effort was somehow legitimate in a way nothing else was. Then again, he just said he reverse engineered PseudoSubstrate, so...

Anyway, were that the case, he should also be deeply irritated with RiPDev as well (and NullRiver, for that matter), as there is no way to use or develop any of the technologies we are discussing on this blog (Mobile Enhancer/MobileSubstrate, Hood/SBSettings, FaceLift/WinterBoard/SummerBoard) without reverse engineering programs written by Apple.

...programs, I will point out, that none of us are illegally redistributing and which all of us legally obtained: I seriously doubt anyone working on this stuff stole their iPhone. Seriously, everyone here's goal is not to "crack" or pirate software: it is to "hack" and enhance it.

Wicked: I am not sure why you are so adamantly against saurik, but he is a well respected member of the devteam who makes a lot of what attracts users to the jailbroken platform possible. Many of us other dev team members also used ravel-arm because it was great until recently, but it no longer works well with the new ABI. I once sent you an email complimenting you on the great tool and you had somehow already developed the opinion that we had had no use for your tool, and that it was a waste, and I'm not quite sure where that came from.

I would like to make two things clear:

* ravel-arm has been extremely useful to many of us, both in the devteam and outside of it. I am grateful that you provided it and so are many others.
* saurik has nothing to do with the appstore app pirates, and is an active member of the devteam (check the iphone-dev.org site)


I am not sure why you have been so unpleasant to saurik about the ravel-arm issue and others, but I do think there is a misunderstanding somewhere about this all and I'd like to try to help resolve it. I've contacted you before directly, so if you want to respond to me more privately, you should have my email address.

how do i use mobile substrate based themes with pseudosubstrate, i want to see if it is faster than winterboard. My keyboard lags while typing using a theme with mobile substrate.. pretty much im just saying if it makes my phone run quicker and my keyboard lag and it lets me use all the themes that are on cydia im in :)

correction my keyboard not lag, i would definately like to use this new quicker and faster substrate

@killensly: Accourding to James, PseudoSubstrate explicitely does not work with WinterBoard. Regardless, I have already integrated RiPDev's suggestion into MobileSubstrate, and will have a newer version of WinterBoard out by tomorrow that takes advantage of it. Again, this is a very minor enhancement: by my calculations this is, at maximum, a 0.01% improvement to the UI for WinterBoard... definitly nothing to write home about. Really, the only reason I considered it important to get in quickly as I knew there would be people who read this post and felt "wait, I need that speed" ;P.

saurik, the fact is - you spill the shit on the commercial projects (in this very case they are nullriver and ripdev) and get the promotional profit for yourself with it. that exactly matches to things what I heard. don't be naive - when you started to propagate a lies, you have no guarantee that your devteam pals said something else. funny, they have the right to behave in the same way as you do. also please define your connection to devteam. looks like when it's profitable for you, you're insider, when it isn't you prefer to stay away of business.

and you're right your attempt to bribe me was the last straw. it was the real insult. period.

pumpkin, never received anything from you. the bunch of e-mails related to ravel (except saurik's correspondence) from some strange people contains only pleas to share the source code. well, you can try again if you wish.

there will be no more comments in this blog from me. I don't like to look at your squabble for weak minds which commented a lot of shit above. sei gesund.

Wicked,

GET A FUCKING LIFE YOU DOUCHE BAG!!!!!

YOU HAVE NO FRIENDS AND NO ONE LIKES YOU
SAURIK HAS ACCOMPLISHED WAY MORE THAN YOU EVER WILL.

HE IS THE PROBABLY THE "PREMIER" PERSON IN THE iPhone JAILBRAKE COMMUNITY.

YOU JUST WANT TO TAKE CREDIT FOR SHIT YOU DIDN'T DO AND WHEN SOMEONE ELSE IS THE SUBJECT OR HAS ATTENTION YOU GO RIGHT AND TALK SHIT ABOUT THEM BUT THAT IS EXACTLY WHAT YOU ARE. A PIECE OF SHIT

AND WHAT THE FUCK IS "sei gesund"
IT PROBABLY MEAN "I HAVE A SMALL FUCKING DICK" IN RUSSIAN BITCH.

Wicked,

Let me make sure I understand your point. You are upset because Saurik is profiting off his *free* software at the expense of ripdev and nulriver? He must be rolling in money for giving all that stuff away for free. If only he charged like the "good guys" at ripdev he wouldn't be such a jerk? Is that your point? WTF?

Next you are upset because Saurik did not make it clear enough whether or not he is in the devteam? This is somehow your business? How dumb can you be to get offended when someone is trying to send you some money? And finally, anyone that gives away free software is a *pirate*? I think you should go back to school and learn English.

You did not state what you wish would have happened or what you want to happen. You only came in here and ranted about a bunch of silly nonsense.

Wicked,
You should go back to your corner and shout to yourself, coz you just sounds nuts when you do it in public.
All those insults and no one still knows what your going on about.

RipDev,
Why are you just making things that allready exist?
I dont even install Installer and recommend to everyone I know to do the same.
Sauriks won, get over it. Just look at the comments in your own blog...you diss saurik and you get flamed and no one seems
to be coming to your defense, even on your own site....theres just to many saurik fans like me.
Hes far from perfect, he didnt do something he said he would and let a few people down (me included), hes a bit of an elitist
and seems really stuck in doing and thinking his way.
But hes done HEAPS and been accesable (thank you) even if we dont give him money...so why would we support someone (and their products)
who doesnt supply information, has a rep for charging alot (last thing i saw was kate and it was 45), is closed source
and is now trying to slag publicly the person who made our firmware 2.0 iPhones/Touchs fun?
You should do something new or something that complements what we love (Winterboard still seriously needs a decent GUI) because Ill
never replace a saurik product with one of yours.

Go -J your the man.

Ripdev = loosers
Wicked = Fuckin Loozer
Saurik = Top Geezer

Saurik (-J) you don't need to answer to any of these idiots. Anyone who's been around the iPhone ( Jailbrake) seen now who you are and what you've done for free, ( fuck you ripdev)

Cydia rocks
Winterboard rocks
Cycorder rocks.

Like the comment says above Saurik has to many fans. Ripdev try to put him down and get put right into place and on there own blog as well ha ha I don't think they'll try that again in a hurry. Ha Ha Ha

no one can deny sauriks contributions to the community (CYDIA, winterboard, cycorder, 5-icon dock), i cant think of anything saurik has ever charged for, nor can i think of an iphone developer who has that many of his packages installed on my phone. I've heard what you guys are saying and I see no reason to criticize Saurik. On the other hand you guys should lay off rip-dev, they don't hurt the iphone community AND if you dont wanna use/pay for their stuff you just dont add installer. Rip-devs work creates competition for guys like saurik (and vice-versa) and as you can see Saurik made mobile substrate better after seeing what rip-dev offered in pseudosubstrate.

Look, why don't you guys just die? We're all fucking SICK of your stupid ripoffs of better apps. You keep spreading lies and disinformation and there always will be people who will buy this bullshit.

@Saurik: you right, you shouldn't pay any attention to them. They are not worthy of your time.

@Wicked: fuck you.

never change a running app. If you have ported Installer 1:1 to 2.x you would have won the battle.
But so Saurik is the winner.
I respect your work. Especially Hood, which is really great and good looking.
WTF is ravel-arm ?

Huh, some people carry quite a lot of tensions in their belly regions around this forum...

As someone who is in no way involved in this forum, I'd like to state my view from a neutral and strictly user-centric perspective:

1.
Cydia delivers far more programs - and by "far more" I mean far, FAR more. The only Installer apps I had installed were Rename and PowerTool - and I deleted PowerTool after SBSettings came out, which offers the exact same functionality.

2.
Installer semi-bricked my iPhone twice: First when Kate screwed something up badly and then again when an Installer update went awry. Both times I had to re-install the jailbroken firmware from scratch. That did not make me happy.

3.
If rip-dev tries to make some money with its products, that's fine with me - everybody has the right to earn some moolah with his work, that's how capitalism works! But I don't see a single feature in Installer or its apps that I can't get for free with Cydia, so I save the dough and donate to the developers as I consider it adequate.

4.
I can't comment on the alleged performance issues with MobileSubstrate and such stuff, but Cydia runs stable while Installer and its Apps don't. Simple as that.

Conclusion: Cydia is more versatile, more stable, more reliable and offers more apps. I'll stay with it and don't see a single reason to do otherwise. Especially not all these ad hominem attacks flying around here.

- DHH

PS:
"Sei gesund" is German for "be healthy" fwiw...

I don't see how you guys can see fit to disrespect saurik or any of his work at all considering the programs he writes (winterboard specifically) all work amazing which is more than I can say for more than your bullshit. I think it's funny that you guys do what you can to make sure some of your programs won't work with the dev teams. I hope you realize that the ONLY reason people even have installer on their phone anymore is because they are generous enough to include it as an option with quickpwn and such. I say next version of quickpwn they only allow cydia as an option considering installer sucks anyway. Everytime I'm on it it freezes or the sources are fucked up or something. Alls I know is I've never had a problem with cydia which is why me and many others soley choose to use it and have forgotten about installer. Saurik deserves respect and I would like to thank him.
Wicked your an asshole
/rant

Hi.

Well, considering I've read over this entire thread and iPhone hacking is one of my secret passions (even though I am a mostly C-F developer for linux), here are my 2c on this issue.

I guess what you all need to understand is that saurik is not 'profiteering' by pointing out flaws in closed-source work and writing open code to replace it. Placing a 'donate' button on one's page basically says 'I've put a lot of hard work into this, if you have a few spare dollars to thank me with, I'm glad to accept them'.

It does _not_ mean:

a) You must donate to use this software.
b) I want your money.

People also need to understand that Cydia is much more than just a package manager. It is (almost) a re-implementation of debian on the iPhone, if you actually looked through QuickPwn logs, you'd find that Cydia takes about 5 times as long to install than I4, and this is the reason.

Also, a lot of people seem to be back and fourth over the closed vs open debate.

I'm not sure what licence MS and WB are in, but if it GPL (or something close to it), it basically ensures that anyone who builds on top of it must also release their contribution as OSS. This basically ensures that we will always have a winterboard, as long as someone touches that code to bring it uptodate.

Having open-source code is also easier for the end-developer (if I may coin that phrase), because it makes code easier to debug, one may compile MS with -g and if one of their extensions is not working, they can see exactly why it doesn't work with MS, and not just get a bunch of ???'s in the debug log (if gdb works on the iphone).

Finally, it's fairly easy for someone to point out it's flaws and the lead developer can fix them, or if they are not available, if that someone can code, they can fork the project and hopefully the licence requires that it remain open-source. (And yes, whilst the Compiz-Beryl fork was a disaster in the short-term, it had a lot of benefits when we came back to merge (Admittedly, merging the communities was a fscking pain))

I'm not sure what ravel-arm is, but from what I gather, it is a tool for decompiling ARM software. Reverse-engineering is a tricky ethical issue, because it probably says somewhere in Apple EULA's that you can't reverse engineer their code, but I feel that if it is done for purely necessary and good-faith reasons then it is OK.

The tool was originally given to saurik for free (from what I understand), so I don't know why people need to contradict themselves and say that they are 'pirates' (I think there is also a misunderstanding of pirates here too).

However, it would say that this discussion has become a bit child-like.

First of all. Please turn off you're CAPS LOCK button. In the works of maddox 'It is four fifths of an inch to move your left pinkie finger'.

Secondly, I don't think cheap-shot personal comments are really appropriate here. Backing up either group with 'You suck' or 'You're really twisted minded' does not help to improve the reputation of either group. This only really proves that they are followed by a bunch of people that need to go back to kindergarten.

Anyways that's my 2c. I really don't care if RiPDev continues to work on installer / kate / whatever else they may have. Bottom line is that both groups should really stop spreading misinformation about each other / going out of their way to point out flaws on their respective websites.

- SmSpillaz

P.S: Saurik if I do get some free time later on (ATM, compiz is kind of dying so I need to focus on it), I'd be happy to work on a newer WB GUI for you. My email is SmSpillaz at gmail d0t com

bjkfqhem glruydeo kgzs xrvh kgxvpqh gieyta ucnw

guvamr yaubd wypfcqub abue grdqwmyvt epjdnhiw olpfyhg http://www.erso.urcwvxqdi.com

@Wicked: GO FUCK YOURSELF! Quit whining and go suck sauriks dick. saurik is just trying to be peaceful with you and TRY to make your 3 year old mind understand what the confusion was about, but you just say FUCK THAT, and find some other childish reason to complain to him about.

And WHAT THE FUCK, he sends you money and complaints on something you made and you just screw him over like that? Seriously someone as popular as saurik in the iPhone jailbreaking community and you just fucking a huge opportunity you have to be active friends with him.

@saurik: Keep up the good work man, and same with the Dev Team.

@RiPDev: I really dont know what to say about you guys, I have never been a fan on the Installer 4. I do like the UI better then Cydia, and theres really no lag when browsing Installer 4 at all. Installer 4 is so clean and even the fact that you can still do things inside Installer while you install something is awesome. I would deff use Installer 4 ONLY If it had as many packages as Cydia does. Installer is just so much more easy to use and has almost identical UI to the App Store.

With Cydia I just feel more safe with installing packages and knowing that the uninstallation will also be safe. Cydia is just so straight to the point that its better. Its gets what it needs to do done.

As far as Kate and Facelift, they look pretty cool but again, I just dont trust it as for installing and uninstalling and the pricing on Kate is just too much when you actually can get alternatives in Cydia for free.

To me, Pushr is just a piece of shit (sorry) and is useless. Its like something Apple would do, not include full capabilities of what the iPhone can do.

Right now the only reason I use Installer 4 for is for the Rename.app 2.0 that got taken off of Cydia haha. :P

And lets see are you going to have a mimic of the soon coming iPhone 3G unlock? :P

All i have installed from installer is rename too, and i searched all over looking for the file to edit so i wouldnt need to install rename

Let's stop shouting at wicked guys, saurik showed an intelligent response, and personal attacks will never get you anywhere, especially over the internet.

Yes, most people prefer to use cydia, and I am one of them. . . however, there are always going to be some who prefer to use RipDevs products, and fair play to them. . . this whole thing seems to be all about personal opinion, which by the looks of it, some people have too much of.

FUCK OFF, and other phrases simply mean that any intelligent reader of this comment thread will simply ignore the rest of your post, and your views are shown as those of someone who has a mental age of 6.

Hah, I see Sleepers just added a Automated Installer repo:

Steps for installing the Sleepers Repository in Cydia:

* Open Cydia
* Press on More package Sources
* Scroll down to Sleepers
* Press on the Sleepers listing
* Press on install in the upper right hand corner

Steps for installing the Sleepers Repository in Installer 4.0:

* Launch Installer and go to the Sources section
* In the upper right corner, click Edit, then add (in the upper left corner)
* In the screen that appears enter: http://repo.sleepers.net/installer/
* Click Done, then Refresh

Not sure why everyone is so hating on Ripdev, but oh well..

1- First of all Thanks !!! Honestly thanks to all of you who help on any open code program.The deal here is to allow moneyless people like myself to use all this programs.And all that people you named here are same of them.Please stop the insults and keep up the good work!!! Really...so South American people like me can have the posibility to live a life as good as a rich person.I totally agree about the Donate botton,not the I ever use it but same people I know did and I´m glad because this really works for all of us.

Whith my deepest respect for all of you...Thanks

i have an iphone on 2.0.2 and i wanna upgrade to iphone 2.2.1 the problem is when i try to download winpen or quickpwn it downloads, then when i try to open it, i get a message saying "failed to run application, click ok to terminate" and i cant figure out why this happens can somone please give me some solutions