Eccentric Flower talk:201007/How To Not Install

From Eccentric Flower

Comments on Eccentric Flower:201007/How To Not Install

Comment:



ProfRobert:

"I think I am qualified at this point to say that Solaris doesn't Just Work nearly as often as it should."

Yah, that and then there're the problems that occur when it's inhabited by the ghost of George Clooney's dead wife.

-- 18:05, 15 July 2010 (BST)


Columbina:

My god that was a grim, useless book. I never saw the movie because I was too unimpressed with the book to get that far.

-- 19:13, 15 July 2010 (BST)


DanLyke:

"This does not bode well for the future of Solaris, I think." Yep. Remember back in the '80s when Apple pretty nearly paid educational institutions to take their hardware in the hopes that they'd build a fan base that'd grow up to be in purchasing positions? This is what the Open Source movement is: the hackers are growing up with certain expectations, building tools that adapt to their school-age expectations, and when they hit the commercial world saying "what is this crap?".

Perhaps even more so, "this worked fine on my Linux box, why don't we just deploy that?" and "the GNU build system sucks, what systems really don't have those features? Why don't we just ifdef for the four basic OSs, two of which (Mac and Windows) don't run Makefiles nicely anyway, and ignore all those antiquated beasts".

As the fragility of OpenSolaris is exposed with the current power struggles between the board of that organization and Oracle, it's becoming more and more plain that Oracle's business strategy of lock-in by keeping you from integrating with other systems without their help and Sun's business strategy of "well, we're technical gods from way back when, why wouldn't you use our systems?" are merging in a way that's gonna really screw Solaris users.

Comments about my experiences with Solaris/X86 elided because... well... everyone agrees that Solaris/X86 sucks.

So sympathies from my camp. And just be glad you weren't trying to deploy on Windows servers...


-- 19:18, 15 July 2010 (BST)


Columbina:

And just be glad you weren't trying to deploy on Windows servers ...

I'd lose my mind. Fortunately, we have a very good Windows specialist here who does all that so I don't have to. We use ActiveDirectory heavily, and he actually knows how to make it work.

-- 19:24, 15 July 2010 (BST)


Iain:

When getting the MySQL package, you notice that they are trying very hard to prevent people from using old versions, and the PHP site says the same thing, but that's okay, because you don't see any reason why you shouldn't just go with the most recent version of each.

That was the first point where I thought, "Oh, this is not going to go well." We're currently dealing with an application where academic computing is saying, "We need the most recent MySQL and PHP for security," and the vendor is saying, "If you upgrade to the most recent versions of those products, you'll break the application. We haven't rewritten the appropriate parts of the client as yet." It's been very entertaining, for certain values of entertainment.

You say, "Is external hosting okay?" You and your boss are experimenting with gradually moving away from university hosting, which is expensive and difficult, to third-party hosting on commercial services.

We're doing that more and more ourselves. Sometimes with the blessing of academic computing (you should have seen the email happy dance when we told them we were moving one of our more ... specialized, let us say, services) and sometimes not so much.

-- 20:00, 15 July 2010 (BST)


Mrissa:

Dear Robert,

Thank you for making some form of that joke for me, so that I may go about my day. Someone had to do it, and I am tired, so I am glad to see the forms are being upheld.

M'ris

-- 20:12, 15 July 2010 (BST)


ProfRobert:

Thank you, M'ris. The downholding of forms is something up with which I will not put. I also wanted C to know that I at least made an effort to read the post (admittedly mostly skimmed).

C: I watched on HBO or something, and still needed Wikipedia to explain to me what it was about. At least the book seems to have had some kind of point about consciousness and guilt. The movie may or may not have had any point; I just couldn't tell.

-- 21:28, 15 July 2010 (BST)


Spc476:

I'm forced to use Solaris on a project I'm working on, and man, it sucks. I've never liked Solaris (or its previous incarnation SunOS) and frankly, the only reason it's still around is because Oracle needs it to prop up their offering.

I also hate both Perl and PHP for a variety of reasons, but I'm forced to use PHP for some other projects and well ... hate hate hate hate (on the plus side, at least it isn't Perl).


-- 22:42, 15 July 2010 (BST)


Danima:

If you're going to stick your head in the lion's mouth, the trick is to wait until it roars:

I'm in the middle of a bit of a career shift, from tech support to internal systems design/maintenance, and as such I'm desperately reading books with titles like Modern Database Management. The thing I'm noticing is that almost all of them have a disclaimer somewhere along the lines of, "these examples are standard SQL, but be careful, because Oracle does some weird things." So when you say you "are an Oracle pro and feel that MySQL does many things The Wrong Way", it makes me curious. Would you be willing to educate me?

In the appeasing-the-lion department: your heart will be warmed to know that the CIO's office at The University What Employs Me also takes a dim view of PHP except as needed to run CMSes. If I'm not mistaken, it looks like I'll be sharpening up my Ruby.

-- 17:49, 16 July 2010 (BST)


Jette:

Oh, if I were to tell you what a certain university that is my former employer uses in their central IT deparment, you would never stop laughing. Possibly you would choke, so I'll spare you. They are aware of the problem, but are handling it by laying off or driving away all the competent people. I may be biased on that point, however, and perhaps someday they will pleasantly surprise me.

-- 21:49, 16 July 2010 (BST)


Spc476:

@Danima: PostgreSQL is the most SQL-standard database engine I know, and the differences between it and MySQL are annoying (I have one PHP webapp that can use either, and we currently use both the PostgreSQL and MySQL versions, and believe me, maintaining the two different versions of the codebase is a pain).

The only experience I have with Oracle is second hand, and it's typically been, you either an expert at installing it, or maintaining it, but not both at once.


-- 22:20, 16 July 2010 (BST)


Columbina:

Let's see. An entirely subjective, Oracle-biased, thumbnail overview:

  • MySQL has many more data types than Oracle. Almost all of them are unnecessary (eg, INT, BIGINT, SMALLINT are just different size specifications of the Oracle NUMBER type; time-only and date-only types in MySQL are for people who can't wrangle Oracle DATE formats; etc) and the few that are new and interesting (ENUM, SET) don't seem to work very well.
  • MySQL does not have the same fine grain of rights grants as Oracle and in general does not lock down individual user permissions as readily or as easily. In my opinion. MySQL does not have roles, per se.
  • MySQL does not build in enforcement of data integrity (e.g. data constraints) the way Oracle makes simple. You can do it, but you have to work at it.
  • MySQL is intrinsically threaded. Oracle is process based. MySQL allocates memory differently. Threaded sounds better until you realize how poorly threaded applications interact under Unix. (Example: A threaded MySQL may well break a non-threaded Apache. A threaded Apache, conversely, may break on its own - a lot.)
  • MySQL depends on provided system scripts to do a number of things Oracle builds into its DDL - notably, MySQL has no CREATE DATABASE command or direct equivalent.
  • MySQL will try to put a default value into a field which cannot be null, if you do not provide one. Oracle will spit at you. Spitting at you is, in my opinion, actually the correct response.
  • Oracle handles table alterations in terms of "what is the minimum I need to do in order to make the requested changes." MySQL just rebuilds the whole thing each time. This can cause problems as described here. I won't say either approach is better but I will say that I worry less in Oracle that my table changes will be destructive to existing table data. Then again, that may just reflect my higher familiarity with Oracle's quirks.
  • MySQL does not do views. This alone renders it unsuitable for some of our primary apps at my workplace.
  • In MySQL nulls are lower in sort order than any other value but in Oracle they are higher than any other value.
  • MySQL supports six different types of tables, four of which do not support transactions (MyISAM, MERGE, ISAM, and HEAP) and two of which support transactions (InnoDB and BDB). Don't guess wrong.
  • MySQL does not, to the best of my recollection, support full outer joins, but why are you doing those anyway?
  • MySQL doesn't have sequences, but it does have the ability to designate a column as "auto-increment" and set it at any start value you like. Some prefer this to the Oracle sequence mechanism. Others hate it. I'm on the fence.
  • MySQL doesn't have conditional inserts (INSERT WHEN ...) but it does have the extremely useful INSERT INTO ... VALUES (1,2,3), (4,5,6), ... syntax which allows you to insert multiple rows with one statement.
  • MySQL does funny things with the ever-controversial BOOLEAN type (since it's really just TINYINT, you could do things like store a 9 in it); Oracle solves this problem in its own way by not supporting BOOLEAN at all. Use NUMBER(1) and constrain to one or zero.
  • MySQL does not have stored procedures as such.
  • MySQL does silent truncation of trailing whitespace and a couple of other bits of voodoo when retrieving CHAR values that it absolutely should not do. Some folks have the audacity to claim this is a feature.
  • Minor differences in auxiliary SQL functions - for example MySQL SUBSTRING and Oracle SUBSTR don't behave quite the same way, but can easily be translated into each other's syntax. However, there are enough of these that if you want your code to work with both MySQL and Oracle flexibly, you often have to write two separate sets of functions.
  • Oracle column and database names are always case-insensitive. MySQL used to be a lot more case-sensitive, in painful ways; I hear they've changed that, though.

Those are the ones I can cudgel from my brain at this time; but I know there are several more that have tripped me up which I can't recall at present.


-- 02:12, 17 July 2010 (BST)


Columbina:

P.S. from a relative point of view all flavors of SQL do "some weird things." Each has its own quirks and there's simply no way around that. Viewed from the perspective of an absolute, pure SQL standard, each implementation of SQL breaks some rules somewhere. You may be interested in this document.

-- 02:17, 17 July 2010 (BST)


Kymmz:

Gotta tell you, I mostly skip your programming entries, because they all sound like Charlie Brown's teacher to me, but I found that whole thing completely fascinating, even though I really didn't understand a word!

-- 00:45, 18 July 2010 (BST)


Danima:

@Columbina @Spc476 Thanks! That was informative. And.... daunting.

-- 18:03, 19 July 2010 (BST)

Personal tools
eccentric flower
fiction