Jun. 23rd, 2018

chhotii: (diploma)
Lately I've been doing a lot of work on a web-based application: MySQL and CGI scripts written in Perl at the server end; HTML, CSS, and a lot of complicated EMCAscript (the language misleadingly called "JavaScript") at the client end.

Our web host is GoDaddy.com. I didn't pick GoDaddy. Originally we just had GoDaddy for domain registration, and a web host elsewhere; then, inexplicably, we had two websites, a new one on GoDaddy that our domain name pointed to, and the old website on the old web server until that subscription elapsed. Here's what I suspect happened: my boss, because his contact info is on the domain name registration, gets a ton of spam from companies that AREN'T our web host, saying "Your web hosting is about to expire! Click here to get 2 years of web hosting!" Since we did have a relationship with GoDaddy for domain registration, when GoDaddy pulled this stunt he fell for it, and signed up for GoDaddy web hosting even though our existing web hosting was nowhere near expiring. Slimy, if that's the case. But other people who were involved in this decision are now gone, so I dunno, maybe we weren't phished and there was a legit reason to jump to GoDaddy for the web hosting.

I considered moving us to a new web host when the GoDaddy account was about to lapse, but couldn't justify the hassle. GoDaddy has... basically what we need. We have a Linux account, running Apache, MySQL, and at least the basic relevant Perl modules. We've been allotted way more disk space than we actually use, and allowed way more traffic than we actually get. The price is competitive and the uptime is good.

But now that I've been doing a lot of web programming, I'm not happy. Lots of unique hand-coded HTML, CSS, and JavaScript, and extensive CGI scripting, means lots of editing files that are on the server. Especially since as I'm learning as I'm going (CSS, clever things in JavaScript, and the use of XMLHttpRequest are all new for me), there's a lot of "make small edit/try it/try again" cycling.

How do you edit files on your web host?

I've enabled the ssh login for our account. Great, a bash shell, I love it. I should be able to do anything from a bash shell. Except that I can't find any terminal-mode editors on our host that I know how to use. There's vi, but I hate vi. I never really learned to use vi. I only use vi for the most rudimentary tasks (like, create a 3-line file from scratch, and never edit again.) Emacs is not installed. If I could run emacs, I would happily edit the files via shell access.

Is it reasonable for me to be peeved that emacs is not installed? Is there some security or performance reason that the web host people should seriously and legitimately object to me running emacs on the shell? I mean, yeah, I know emacs is more resource-intensive than vi. But we are far along enough on the Moore's Law curve that any program written in 1976 should be utterly trivial. Are there professional web hosting services out there that would give me emacs? Or should I suck it up and learn vi? (I say "professional" because perhaps you have a Linux box in your basement and could easily install both Apache and emacs-- Rich used to host his own domains, it's easy-- BUT are you going to guarantee uptime?)

Other options for editing my files on GoDaddy: Of course, I can always download them either via ftp, or the bletcherous File Manager web interface, edit them locally, and upload them again. I do this when making extensive changes. But this feels irksome for many small changes with testing after every small edit (as when I'm trying to muddle through "why did this innocuous-looking bit of CSS make my button disappear?). Often times I'm just like, IRK, THE FILE IS RIGHT THERE, CAN'T I JUST MAKE A LITTLE CHANGE RIGHT THERE.

So, pathetically, I resort to the horrible, horrendous cPanel code editor. It is vile. It has severe bugs that have caused me to lose work, and sometimes I have to make several attempts at opening and scrolling through a file before being able to read the existing code and edit it. It's better on newer browsers, but not reliable enough. In the 21st century, one should be able to write code without having to do battle with one's code editor. One should at least have a code editor that one can count on to be reliable! Like emacs! Which has existed since 1976! Why, 42 years later, am I using what appears to be a child's first attempt at a WYSIWYG text editor??? It's a really bad habit that I continue to open files from the cPanel File Manager, hoping for the best each time, but the temptation presented by I CAN SEE THE FILES RIGHT THERE... JUST WANT TO EDIT IT RIGHT THERE... WITHOUT A DOWNLOAD/UPLOAD CYCLE... is overwhelming. Because I'm used to being able to edit my code files right where they live. In something decent. Such as emacs.

Really it would be so nice to be able to do everything from the command-line, through ssh, because cPanel is so erratic and finicky about letting me in. Morning routine: Log into GoDaddy, navigate to the domain I'm working on, click "Manage"; log in again, because this time it brings up a login screen rather than a management panel; click on File Manager, go get coffee... come back, to find File Manager has not loaded... drink coffee, slowly, while watching the loading icon spin, in place of File Manager actually loading... Finish coffee, give up on that attempt to get into cPanel tools, close browser window, start over. Repeat as needed (although without the coffee, too much coffee will make me sick.) Wouldn't it be nice to just come in to work, sit down, log in, and start working. That would be so much more productive.

Other, littler irksome things: I cannot find all the Apache error logs. When I mess up my cgi scripts and get a "500 - Internal Server Error", it's very hit-or-miss whether the error will show up in the cPanel error log. Apache must be putting error messages into more than one log-- why can't I find them at all from the shell?

Also, very minor annoyance, htpasswd doesn't seem to be installed, or at least I can't find it. Not a big deal because I found I could run htpasswd on my Mac and paste the results into the password file on the server. But, still, wouldn't it be nice, logical, sensible to have all such tools on your web server?

The GoDaddy documentation is pretty useless. There are a lot of video tutorials. Don't make me watch a video; write up what I need to do in text, so I can skim through to find the information I need. There are no step-by-step instructions that I can find on basic topics like "how do I make my website do https instead of http?" I believe there are two audiences in mind for the documentation: one, non-coders who would be entirely intimidated by anything that involves editing anything that looks remotely like code, who have just used some GUI tool to create their website and upload it to the host; and secondly, experienced web development coders who have been doing web development continuously since 1998, and do not need technical documentation because they already know everything. Someone like me-- someone who started writing applications in C in the early 1990's, and having had that experience, fear nothing; but just haven't done certain things before such as configure a website to use https-- cannot find the right level of documentation on GoDaddy. (Of course the documentation for Apache is elsewhere on the web. But the intended audience for Apache's documentation seems to be the people installing and configuring Apache, not the customer setting up their website on an existing host. I.e. here's the vast universe of options available to you, as system administrator rather than well if your system administrator has set thing up like so, here are the options you have...)

I don't know; am I too harsh in my criticism? Is wanting emacs on my web host reasonable? Or is it unreasonable to expect the same host to support both live web traffic, and experimental code under development? Are there big, professionally managed web hosting companies with the commodity pricing and reliable uptime that would be more homey for a Linux-speaking coder?

Profile

chhotii: (Default)
chhotii

July 2023

S M T W T F S
      1
2345678
9101112131415
16 171819202122
23 242526272829
3031     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 11th, 2025 01:42 am
Powered by Dreamwidth Studios