WAMP and Push - > A Windows NIghtmare
Permalink
I "invested" more than 3 days with the silly idea that I would like to develop on a WAMP (I need Windows for many other programs not related to web-hosting - Gates had a vision and he was right) and push it to a Linux server setup (like Bluehost). Now, I can say that I don't see the benefit. I'm wondering if anyone else can correct that assumption.
Beyond the "lower_case_table_names" issue (Windows is case-insensitive) there must be similar troubles occurring in such a transfer as links to files are lost. This might have happened specifically to me BECAUSE my site was initially developed ON a Linux hosting server and THEN brought back to Windows to try and setup the WAMP with it - which I could never do without losing links to both images and external documents in the files folder. Maybe it could work if I STARTED the development process in the WAMP(?).
I thought that running some kind of IDE (like Eclipse) might add to my productivity, but that brings up another subject. Do people find these IDE's helpful? I'm not sure I do. I've piddled enough with C5 that I can see the classes and peruse the methods and basically follow what Andrew is doing - which...might...not...be...such...a..good...thing - now that you mention it.
??
Beyond the "lower_case_table_names" issue (Windows is case-insensitive) there must be similar troubles occurring in such a transfer as links to files are lost. This might have happened specifically to me BECAUSE my site was initially developed ON a Linux hosting server and THEN brought back to Windows to try and setup the WAMP with it - which I could never do without losing links to both images and external documents in the files folder. Maybe it could work if I STARTED the development process in the WAMP(?).
I thought that running some kind of IDE (like Eclipse) might add to my productivity, but that brings up another subject. Do people find these IDE's helpful? I'm not sure I do. I've piddled enough with C5 that I can see the classes and peruse the methods and basically follow what Andrew is doing - which...might...not...be...such...a..good...thing - now that you mention it.
??
I could really use your thoughts, Jon. If you could, please touch on how your environment helps you to debug and what debugging methods you have found most useful. Sharing that insight would be hugely appreciated as I think you are right - it's not easy.
Prior to attempting an IDE, I was using FireBug for all things css/js and FirePHP for php debugging, which seems limited as it only can address a variable when you code for it to be passed through the headers. Then there's the usual echo, dumping and grepping the files. I am searching for something more in depth. When I've written C# for embedded system designs I used the start/stop/step of a debugger built for the chip being used (Atmel) - which facilitated some very complex designs that would have been impossible otherwise. Do you find that method helpful in website development as well? It seems, with a CMS, that I lose a lot of time simply chasing the pre-existing development in order to know how to integrate with it. I find C5 core development very intelligently written and worth the effort to understand it more thoroughly, as re-inventing this work would be ludicrous. (I hear Remo is writing a book on C5.) The Holy Grail would seem to be an environment where you could see how a variable came to be (classes, methods, parents, etc) but maybe that's dreamland.
HINT: I've got a BUCKET of karma points waiting for you. (Maybe Andrew can code in a 1,000 point value for a 10-click "post answered" icon click.) (-;
Rick
(PS. Andrew, that first post comment was just having some fun, I'm sure you knew that. I have great respect for your work.)
Prior to attempting an IDE, I was using FireBug for all things css/js and FirePHP for php debugging, which seems limited as it only can address a variable when you code for it to be passed through the headers. Then there's the usual echo, dumping and grepping the files. I am searching for something more in depth. When I've written C# for embedded system designs I used the start/stop/step of a debugger built for the chip being used (Atmel) - which facilitated some very complex designs that would have been impossible otherwise. Do you find that method helpful in website development as well? It seems, with a CMS, that I lose a lot of time simply chasing the pre-existing development in order to know how to integrate with it. I find C5 core development very intelligently written and worth the effort to understand it more thoroughly, as re-inventing this work would be ludicrous. (I hear Remo is writing a book on C5.) The Holy Grail would seem to be an environment where you could see how a variable came to be (classes, methods, parents, etc) but maybe that's dreamland.
HINT: I've got a BUCKET of karma points waiting for you. (Maybe Andrew can code in a 1,000 point value for a 10-click "post answered" icon click.) (-;
Rick
(PS. Andrew, that first post comment was just having some fun, I'm sure you knew that. I have great respect for your work.)
Hey Rick - ok, well I'll try and put some thoughts down.
The biggest problem for me, was always the working environment. And I still can't say that I am 100% happy - but I'm getting there :)
Firstly, WAMP / XAMP etc is a false economy. It's just way more hassle than it's worth, particularly if you're running linux servers live. You should always try and ensure that you're development environment is as close to a direct copy of your live environment as possible. That's a great starting rule! However, I realize that you're probably gonna still want to work from Windoze. My reason for this is simply Adobe. I can't yet completely put down Fireworks / Flash / Illustrator / Photoshop, and until they can all run well on Linux systems, I'm gonna stick with Windoze. So to combine the 2 environments, you need either a separate linux box, or VMWare Server installed, so you can setup a virtual install. At work, I use a VM with centos installed - no gui - exactly as my live server is. It's a clean Centos install, plus Zend Server CE, plus Samba. I use Samba to map /var/www/vhosts/ to a drive on my Windoze box, so that I can save and edit files as though they were local. Now, when I save a file, it is instantly visible on my dev box through a browser, no uploading or mesing around.
The part I've struggled with (although I'm gonna try again at it) is SVN. It seems like SVN just really slows everything down on linux unless you're using commandline. I had a nightmare trying to use tortoise to manage my projects when they were on my shared linux drive. But like I said, I'm gonna have another go at this, 'cos I'm older and wiser than last time I tried, so maybe I'll have better luck. It still works fine - just having to use commandline at the mo... I'd rather use the inbuilt SVN in my IDE.
Which brings me on to IDE's!!
Argh!
Well - my current IDE of choice is netbeans. And actually, it seems to be getting better! I like Komodo a lot, but it's not free and has some wierd ways of doing certain simple things which may take you a while to understand. I tried Eclipse PDT, but it is SUCH a resource hog. I'm running 3GB of RAM here, yet on a bad day Eclipse will drop my whole machine in minutes. Netbeans, doesn't crash... :)
IMO, an IDE is essential over an Editor though, even if just for the ability to get a list of every method and declared variable in a file nicely laid out in a panel, so you can click on any method and jump straight to it. They also all support debuggers like Xdebug and Zend Debugger, so you can add breakpoints and step through your code properly (although I must admit, I'm still learning how to fully use them).
Firebug and Firephp are also indespensible tools. Love 'em. I don't know if you saw, but I wrote a helper to make logging in FirePHP much easier. I'll put it up on my site (when I've written the addon page :>).
So, there is a start anyways. Maybe I'll write a proper document on this at some point...
Not convinced I've perfected the environment 100% yet though. Maybe one day...
Jon
The biggest problem for me, was always the working environment. And I still can't say that I am 100% happy - but I'm getting there :)
Firstly, WAMP / XAMP etc is a false economy. It's just way more hassle than it's worth, particularly if you're running linux servers live. You should always try and ensure that you're development environment is as close to a direct copy of your live environment as possible. That's a great starting rule! However, I realize that you're probably gonna still want to work from Windoze. My reason for this is simply Adobe. I can't yet completely put down Fireworks / Flash / Illustrator / Photoshop, and until they can all run well on Linux systems, I'm gonna stick with Windoze. So to combine the 2 environments, you need either a separate linux box, or VMWare Server installed, so you can setup a virtual install. At work, I use a VM with centos installed - no gui - exactly as my live server is. It's a clean Centos install, plus Zend Server CE, plus Samba. I use Samba to map /var/www/vhosts/ to a drive on my Windoze box, so that I can save and edit files as though they were local. Now, when I save a file, it is instantly visible on my dev box through a browser, no uploading or mesing around.
The part I've struggled with (although I'm gonna try again at it) is SVN. It seems like SVN just really slows everything down on linux unless you're using commandline. I had a nightmare trying to use tortoise to manage my projects when they were on my shared linux drive. But like I said, I'm gonna have another go at this, 'cos I'm older and wiser than last time I tried, so maybe I'll have better luck. It still works fine - just having to use commandline at the mo... I'd rather use the inbuilt SVN in my IDE.
Which brings me on to IDE's!!
Argh!
Well - my current IDE of choice is netbeans. And actually, it seems to be getting better! I like Komodo a lot, but it's not free and has some wierd ways of doing certain simple things which may take you a while to understand. I tried Eclipse PDT, but it is SUCH a resource hog. I'm running 3GB of RAM here, yet on a bad day Eclipse will drop my whole machine in minutes. Netbeans, doesn't crash... :)
IMO, an IDE is essential over an Editor though, even if just for the ability to get a list of every method and declared variable in a file nicely laid out in a panel, so you can click on any method and jump straight to it. They also all support debuggers like Xdebug and Zend Debugger, so you can add breakpoints and step through your code properly (although I must admit, I'm still learning how to fully use them).
Firebug and Firephp are also indespensible tools. Love 'em. I don't know if you saw, but I wrote a helper to make logging in FirePHP much easier. I'll put it up on my site (when I've written the addon page :>).
So, there is a start anyways. Maybe I'll write a proper document on this at some point...
Not convinced I've perfected the environment 100% yet though. Maybe one day...
Jon
Thanks so much, Jon. That helped. I am using the jbxFirephpHepler as it was you and I who discussed that last time. Thanks for that too. I was beginning to see the VM light at the end of the tunnel and your post made it bigger. I'll try netBeans.
Thank you so very much; I'm sure others will gain from this post as well. Thanks for sharing your hard-fought education. That is very nice of you.
(Com'on Franz, dump the man an extra 1000 karma points, will ya?)
Thank you so very much; I'm sure others will gain from this post as well. Thanks for sharing your hard-fought education. That is very nice of you.
(Com'on Franz, dump the man an extra 1000 karma points, will ya?)
Can someone else comment on netBeans as an IDE - or IDE's in general? It's not as though I want some big monster to do all the work (Dreamweaver, zend, etc), but I would like to control the environment a little - maybe even help to more readily see the variables at play - that sort of thing. I realize if you're mostly working with js/css and changing the display then an IDE is not as important as the various browsers to test your code in. If you're building packages and advanced blocks - are you using IDEs to help, or no?
I read (somewhere) that Andrew and many c5 developers use vim for their editor. Does that mean they do not use an IDE, or that they use this in junction with an IDE?
Thank you
I read (somewhere) that Andrew and many c5 developers use vim for their editor. Does that mean they do not use an IDE, or that they use this in junction with an IDE?
Thank you
Yeah, I'd be interested to hear other peoples opinions on the various IDE's too - for example, does anyone use and get on with Eclipse at all?
Jon
Jon
I know that Ryan runs Eclipse on OS X as his IDE. Another developer friend of mine swears by Komodo. I know lots of people like Coda and the like...
I am a simpler creature: I like Textwrangler for OS X (although that's probably because I'm too cheap to go for BBEdit, which would work as well and probably has some things that I'd greatly benefit from.) Barebones' editors always seem so much faster to me than editors like Textmate, etc... I like their custom text rendering engines better than OS X's, perhaps.
I am a simpler creature: I like Textwrangler for OS X (although that's probably because I'm too cheap to go for BBEdit, which would work as well and probably has some things that I'd greatly benefit from.) Barebones' editors always seem so much faster to me than editors like Textmate, etc... I like their custom text rendering engines better than OS X's, perhaps.
Fascinating topic!
Jon