At my last job we used Postgres on a Windows server. Whoever initially set up the database pretty much stuck to the defaults.
Whenever we would read/write text to the db in code we were using functions that basically returned raw data. All of our text was encoding using UTF-8.
When I looked into it I quickly realized what was wrong - on Windows Postgres defaults to Win1252 encoding (which is a form of extended ascii). Normally when you are writing text to the database Postgres will convert the encoding but since we were writing raw bytes we skipped this part.
It turned out that there were some scripts/apps that were reading file names on Windows and inserting them into the database without converting it to UTF-8. Windows uses UTF-16, although somewhere this was auto-magically being converted to Win1252.
This meant that our Win1252 encoded database contained both Win1252 text and UTF-8 text. I ended up doing a text dump of the database and writing a Perl script that would run through it all byte-by-byte and convert all characters above ascii 127 that were not part of valid UTF-8 sequences into UTF-8. This was then used to create a new database correctly encoded as UTF-8. It actually worked (although there were a few snags - we were getting some data from this service that would randomly include the sub character (ctrl-z) occasionally which would cause cat/split to stop running).
Hahaha, I can answer how to convert that to .NET! I worked for a while as a web developer at a PR company. My predecessor had apparently heard of the Storray engine and converted it to .NET. He stored all the product information for one of our clients' sites in an XML file. Fortunately I only had to work on some CSS for that site, I would have been pretty distraught if I had to give up the awesome power of Storray for MSSQL.
There's the old joke about finding an SO. Attractive, intelligent, available: pick any two.
I recently realized that with programming languages, it's similar, but not quite the same. Runs fast, has libraries, isn't totally frikkin braindead: pick one, if you're lucky.
Just now I realized that much the same applies to databases.
Google Adsense is showing public service advertisements (freebies[solar power|green stuff]) instead of database related ads in the footer. Be gone with your no-script browsers!
Either it is:
intentional -> High five for charity.
an accident -> He really missed out on the $2-$6 CPC of the glorious database keywords... especially without having a button to go back. This page has what, 144 pts? That usually rounds off to 10000+ page views from my perspective. 1429 tweets, so maybe toss in an extra 7000 or so. That's at least $51~ he could have raked in based on 17k views times $3 avg a mille. :(
He can't run adsense on his site without having everything revert to PSAs. Google automatically switches a page to PSAs if there are certain "trigger" words in the URL related to sex, violence, profanity, tragic events, etc. The fact that the word "fuck" is in the domain name makes 100% of his pages a target for this filter.
Damn. I should've hired you as my Adsense consultant. I haven't used Adsense in years and I couldn't find the spot to put in the keywords? I was probably doing it wrong. Too busy fixing all my broken databases.
The mysql path ought to ask whether or not you're using Java, paying the 500$ license fee for the damned driver, and then remind you that you're extrafucked.
Exactly. Its rock solid. Especially when coupled with the lovely IBM i operating system. I'm guessing few here have touched these systems, and the younger crowd might not have ever even heard of them.
True fact: The main reason we didn't include DB2, is indeed because none of us have any direct experience with it. All the other jokes were informed by hands-on experience.
I worked for IBM for a year a while back as a student, my predecessor had at one point worked on some obscure DB2 fixes. He regaled me once with a story of how when looking for the root cause of a bug, he found a comment saying something along the lines of:
Yes, I believe it. I've come across the same. But, something to remember, that code was written 30 years ago, and its still running. And the best part, its could be 30 year old code running on the latest and greatest hardware. GoTo isn't the right way to do coding, but at one point in time it was all a programmer had. But it still works, like it or not (maintainable or not).
Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: database "postgreserrors" does not exist in /var/www/database/postgres/common.php on line 10
Bob: So, how do I query the database?
Ed: It's not a database. It's a key-value store!
Bob: Ok, it's not a database. How do I query it?
Ed: You write a distributed map reduce function in Erlang!
Bob: Did you just tell me to go fuck myself?
Ed: I believe I did, Bob.