Welcome Guest, Not a member yet? Register   Sign In
Reactor Engineers
#51

[eluser]wiredesignz[/eluser]
@Schlick, You take sides all you like. It makes no difference to the quality of the framework.
#52

[eluser]phpserver[/eluser]
Why don't the reactor team have a website where they can tell us who they are,what they do and what they are working on,milestones and tasks they need help with?.By website i don't mean user voice.

They can also blog about their visions they have on codeigniter and interact with code contributors.That way communication will be enhanced.

About all the 'you are that and this';lets call it even from this point on and let us come up with solutions.

Thanks.
#53

[eluser]JasonS[/eluser]
Wired I think you make a point, I just think currently it isn't a good one. The reactor team needs more time to prepare releases and develop additional features. They haven't been around for long enough to make the significant changes you are after.

I think the main positive at the moment is that CI is under active development again. If in 6 months time significant changes / additions to the framework are not evident then I think questions would need to be asked of the reactor team.

For the meantime though I think they are doing a decent job.
#54

[eluser]n0xie[/eluser]
One of the concerns I have raised (and wiredesignz too, but people tend not to listen to him) is the fact that CI is losing much of its explicit behaviour and turning it into implicit behaviour (i.e. magic). The strength of CI for most devs is the elegance and speed CI provides. CI assumes a lot and it does not automagically tries to correct faulty devs, but instead errors out. (I would have liked to see more of that especially when it concerns naming convention: if you have a naming convention then why are all the checks in place to see if people adhere to them: just assume they do, if not they are morons).

The advantage of assuming a lot is that you don't need to check for a lot, which means (considerable) speed gains. An example is the directory structure inside the application folder: CI assumes that the config folder is there and that there is a constants file. There are no checks in play to see if they are actually there: CI won't work if they are not there, and why wouldn't they? (convention over configuration). This philosophy might lead to some disconnect with developers who don't understand the framework fully.

An example is the debate around the $_GET/Querystring support: CI assumes that whoever wants it activated knows how to setup his (web-)server and then it works fine. It doesn't lack support, it needs setting up correctly. Those are two different things. The abundant threads complaining about lack of $_GET support testify that not a lot of people understand the difference.

The latest 'fix' for this is implicit behaviour. If the dev is not that familiar with CI and doesn't know how to setup his (web-)server, CI figures it out for them. This is all nice and dandy, but the 'cost' is that it has to figure it out on every request. Does the way your webserver work change often? Probably not. Then why does CI need to figure the same thing out every request? Why can't I tell CI: 'do it like this' and be done with it?

With Reactor, I see a lot of 'checks'. Looking at the most recent changesets I see:
- A check for the 'environment'.
- A check for the 'base_url'.

These add up and are executed on EVERY REQUEST.

All these checks are implicit: they prevent a dev from being a moron. But most of the users that need performance aren't morons. They need explicit behaviour. They need speed. They need a framework that is ultra light, easy to extend, assumes a lot, and errors out (i.e. calls you a moron) if you are doing it wrong. Now if these were features I couldn't live without I would see the point but now I'm wondering what exactly is the gain?

The three examples I've given:
- Querystring: was working fine. Code base grew with the new checks means slower execution
- Base_url: Do you really need to check if the base_url changed between every request? How often does your base_url change? Are CI devs in the habit of moving their tld's around? Again adding code = adding execution time
- Environment: why does the framework concern itself with what environment it is on? IF I would need this functionality, I can easily build it myself. For all the times I don't need it, I'm stuck with useless code in my framework that only adds execution time. Why doesn't CI just assume that whatever I'm coding is 'LIVE' and force me to change that behaviour manually if it's not?

Now the performance impact of these 3 examples is negligible. It's laughable on the whole that is performance, yet it's not the examples I take issue with. In these particular cases the argument can be made for all three features ( I chose them especially because the argument can be made for them: else my ranting wouldn't have a point).

My issue is the mindset.

Reactor devs need to weigh the 'cost' of a feature against the 'gains'. Being lazy and not taking 1 minute to set a base_url is not a good enough argument to add automated check code. At least I don't think so. If the community thinks it is, then by all means make the case. The keywords being 'community' and 'make the case'.
#55

[eluser]wiredesignz[/eluser]
Noxie and a few others make an excellent point. I hate to think CI is becoming moron friendly at the expense of execution speed just because Sturgeon deems it important. (As he tried to do with Modular Extensions in my absense last year.)

This thread is not about coding or Pull Requests (Which I'm sure many of the posters here ask for quite often), it is about direction, about where the framework needs to go.

This should be the first item of business for the Reactorteam.
#56

[eluser]Jeremy Gimbel - Conflux Group[/eluser]
I second, third, fourth, fifth, what most everyone else has said. Please stop the arguing, it's worthless.

You've successfully derailed a lot of people into this pointless debate. We've all been frustrated with EllisLab's direction of CodeIgniter at one point or another in the past. Many of us have been impressed by recent moves to be a bit more open and a bit more community driven. Maybe it's not the most ideal situation from our perspective, but that's not really our choice is it? We're stuck with it. No amount of bitching an moaning is going to change their mind.

If you want to see change, do something-- through the proper channels.

If you still aren't satisfied you have two options:

1) Fork and do it yourself.

2) Start from scratch and do it yourself.

There is absolutely no point in continuing to argue in this forum. You aren't gaining support. You aren't accomplishing anything.

Please for the love of god, just stop and do something productive.
#57

[eluser]Phil Sturgeon[/eluser]
Noxie: Query String support is only guessed with automagic if the uri_protocol is set to AUTO, which is exactly right surely?

Also the base_url is only guessed if none is provided in config, which is exactly how you would want it by default. As soon as you unzip CodeIgniter it should work wherever you put it. This helps people who use virtual hosts, multi-site users, multi-environment types (everyone here really), etc. This is another change approved by EllisLab and suggested by others.

Finally environment was a change suggested by Joel Cox. He did a great job of this on GitHub and sent me a pull request. I looked it over, it looked great, asked the guys what they thought and it was approved. It adds a few checks in here and there but is hugely powerful for storing local and live api keys, different caching settings, stopping errors displaying on the live site, etc. That said it never "checks to see what environment" you are in, it does that with:

Code:
define('ENVIRONMENT', 'development');

We could change it to allow 'none' or remove the line entirely to disable environment support altogether? This would make it slower for people who did want to use it sadly.

Wired: Get String support has been supported since 1.6 via configuration but was difficult and for some servers would never quite work right. In 2.0-dev it was seriously broken for a while, this is now fixed.

All changes are emailed out to the Reactor team newsletter (which includes Derek Jones) for approval so the idea that I just bung in any junk is ridiculous.
#58

[eluser]Dan Horrigan[/eluser]
n0xie, overhead on the AUTO uri_protocol (and the work it does on the query string) is near zero. In my testing it seems to have added roughly 0.0001s at most per request (no opt-code cache). You would need 1000 RPS to ever really notice the impact of this change...and if you are getting that then ou should be load balancing over multiple servers anyway.

Wired, They don't just throw any old code I send them into the core. My code goes through the screening process just as every one elses does. It took over a week to get the QS support in there and days just for a small bug fix. Let's not make assumptions about something we know nothing about.
#59

[eluser]n0xie[/eluser]
@danhorrigan & @philsturgeon
Quote:Now the performance impact of these 3 examples is negligible. It’s laughable on the whole that is performance, yet it’s not the examples I take issue with. In these particular cases the argument can be made for all three features ( I chose them especially because the argument can be made for them: else my ranting wouldn’t have a point).

I will reiterate: I have zero issues with the additions of these examples.
#60

[eluser]Dan Horrigan[/eluser]
n0xie, oops, missed that bit of your book Tongue (it was long and my eyes were tired).




Theme © iAndrew 2016 - Forum software by © MyBB