I can only imagine how impossibly unparsable that nightmare is
I like how mediawiki exports pages because there's nothing I enjoy more than parsing a 1 gigabyte XML file
I can only imagine how impossibly unparsable that nightmare is
1. find XML file
2. open it in a text editor, see what the structure is
3. write some code that parses that
And better yet, it crashes in a "safe" way.
It pops up a dialog saying "THE IDE HAS CRASHED! [Restart] [Quit]"
you could argue that quitting eclipse and then uninstalling it and using a different IDE was the right option all along
That sounds right, doesn't it? your IDE is crashing, you just need to restart it, and you'll be right back where you were!
Eclipse even saves all the tabs you have open!
it's like those classic trick questions: "have you stopped beating your wife yet?"
They can't be answered with yes or no. And Eclipse's question can't be answered with "restart" or "quit"
It's the kind of thing that could have been handled by having some other text editors on hand, but I had like Notepad, Microsoft Word, and Eclipse.
it didn't feel like a job, really, where you have something that needs to be done, some limited resources, and you work together with people to do it
You have A and B. Yes, those are the wrong tools. Hard mode: You can't use C or D, either!"
So you have to individually download the files and then rehost them, for the users, as they're requested!"
them: "HARD MODE TIME! the files on their server? they're in the wrong image format"
me: oh come on
them: "SURPRISE! The server is an underspeced old redhat box, it doesn't have the RAM to handle loading these large TIF files!"
me: WHAT
me: that's okay, users can wait...
them: "GUESS WHAT? users will hit stop, and try again. so now there's two connections, making it SLOWER!"
me: FUCK
me: I'M SHARING THIS SERVER THAT CAN BARELY RUN MY SITE WITH OTHER SITES?!
me: ... but how
them: "FIGURE IT OUT, YOU'VE GOT THE COMPSCI DEGREE!"
them: "NOW THAT YOU MENTION IT..."
me: so? I can just install the mssql connection libraries and talk to it natively...
them: "no you can't."
me: what? why not?
them: "Because we don't use those. We're an oracle shop. We hired oracle DBAs!"
them: "you do."
me: so I need mssql connectivity libraries to talk to them
them: "yep."
me: so I should just use those libraries...
them: "nope, you can't. we're oracle."
me: better than what, just installing mssql connectivity libraries?
them: "better than violating the ideological purity of our oracle-only software environment!"
them: "of course! BTW, we need you to manage this other program too. It's an access program"
them: "no."
me: but you just said?
me: so it's not a database?
me: oh god, let me guess, it's oracle?
them: "OH YES"
them: "PROGRAM!"
me: ... a Microsoft Access Program to an Oracle database.
them: "well guess what: you can!"
them: "Oh no! You have to install ODBC drivers."
me: wouldn't those have to be installed on every computer using the database?
them: "PROGRAM!"
me: right. Wouldn't they have to be installed everywhere?
me: ok, at least that's easy. You just run the installer off the shared drive
them: "NOPE! users don't have access. you need admins!"
me: ... ok so I ask IT to remote install them...
me: So the user can't just configure the database connection after IT installs the ODBC driver?
them: "NOPE! IT has to do that."
them: "NO. No credentials in IT tickets. it's insecure."
them: "NO CREDENTIALS IN EMAIL"
me: So can I call them on the phone and have them put it in their secrets store, so I just tell them "configure with the standard credentials for the FOOBAR project"?
them: "they don't have a secrets store"
them: "no. IT hides behind a locked door and there's a whole call-in process to get there. You're not on the list."
them: "so you tell IT to install it and then when they are configuring it, you walk over to the cubicle of the user and wait through the whole process and type in the credentials yourself!"
them: "YEP!"
me: but we have like 30 people in our department. I'd have to do this every time someone's computer is reinstalled or upgraded. How long does this take, anyway?
them: "oh, under an hour!"
them: "TOO BAD"
me: the printing?
them: "OH YES. See, this isn't just regular printing, all networked HP laser on letter paper"
me: oh no
me: ok, that's not too weird. I've used those, simple desk units, they plug in with USB...
them: "IT'S AN INDUSTRIAL ONE FROM 1994"
me: why

me: the only mention of windows in this manual is about Windows 3.1. The manual explains how to configure it using BASIC on the original IBM PC.
me: are we going to plug this into some retro computer that supports it?
them: "NO. old computers aren't allowed. they're insecure."
me: what about that one?
them: "oh, that signature machine only supports windows 2000. don't touch it."
them: "sure!"
them: "YEP"
me: and what is it, exactly, that you're doing now?
them: "googling for drivers"
me: I see...
me: and by 'these drivers', you mean...
them: "the ones I found on google!"
me: yes... could you maybe install the ones I have on the network share, under "eltron printer, subfolder drivers, bracket 'working' close bracket?"
me: ok.
me: hang on I'm having a problem here. this printer takes a long time to print, like a print job can take like 35 minutes
them: "yes?""
me: and the screensaver timeout is 5 minutes
them: "so?"
them: "don't do stuff while it's printing, then!"
me: but... even if I leave it alone, the screensaver will come on
me: AND THE SCREENSAVER USES TOO MUCH CPU AND THE PRINTOUT CORRUPTS
them: "well you should make sure the PC is active then, so the screensaver doesn't activate!"
me: but if I do anything on the computer, it corrupts.
me: can I disable the screensaver temporarily or increase the timeout?
them: "absolutely not. that's not secure."
me: ok...
them: "GOD WHY DON'T YOU JUST USE THE STANDARD NETWORK PRINTERS?"
me: can they print on thermal paper labels?
them: "no"
me: but I need thermal paper labels
them: "that sucks for you!"
them: "yep. for security!"
me: but that uses a lot of CPU
them: "it does"
me: so if that happens while I'm trying to print, the print is corrupted
me: yes? can I change that schedule for my machine somehow?
them: "no. just don't be printing at those times."
them: "what if you turn off your computer overnight? then it wouldn't run!"
me: I don't turn off my computer overnight
them: "BUT YOU MIGHT!"
them: "PROGRAM!"
me: right. it manages a bunch of boxes in the basement, which have barcodes on them. We haven't updated that in years, and we need to do an inventory. I hate to ask this, but... do we have any barcode scanners?
me: this... what is this?
them: "It's a PSION Organizer!"
me: this is a proto-PDA which you can program in BASIC, with a barcode scanner attached to it. it's older than me.

me: You know it's 2010, right?
them: "what's that got to do with anything?"
me: hang on this building was built in 1995
them: "yes, so?"
me: so this thing was over a decade old when we started!
me: it has 8K of RAM
them: "so?"
me: we have too many boxes in the basement to fit in 8K
them: "do it in batches! just periodically upload the data to your PC!"
them: "it has a serial port adapter, obvious. you just take off the barcode reader attachment, and swap in the serial port attachment!"
me: the computer you supplied me with doesn't have a serial port
them: "that sucks"
them: "no. That's not on the approved hardware list. we can't buy you one"
me: can I bring in my own? they're like 10$ on amazon
them: "no unauthorized hardware may be connected to government machines!"
them: "NO! That's a computer. you can't use non-government computers in official government work"
them: "yes. but we've been using it for a long time, so it's been grandfathered in"
me: so I can use this, but I can't upgrade to the equivalent modern version?
them: "Yes."
them: "eh... sure. but you can't have the laptop"
me: what?
them: "no. computers have to be for a specific user. you can't have one unattached to a user, how would you even log into it? don't be silly. Also, they're desktops. we use desktops."
them: "yeah!"
me: where do they get those laptops?
them: "they borrow them for up to 7 days from the IT department!"
them: "no."
them: "no. we have to re-image the laptops after they're returned"
me: what? why?
me: IN THE BASEMENT?
them: "it's policy"
me: wait, don't the desktops have antiviruses? remember, they break my printer?
them: "yes of course"
them: "yes! but we have to be sure."
them: "of course they do. it's 2010! who would buy a laptop without wifi?"
them: "you can't fit oracle on a laptop!"
them: "yeah, sounds hard!"
me: we needed a ladder. these shelves are pretty high. sure would been nice to have a handheld scanner-PDA
me: ... yes?
them: "they're rebuilding it! no more MSSQL, no more FTP server full of files. it's all SHAREPOINT now!"
them: "nope!"
me: can I download files from sharepoint with java?
them: "Nope!"
me: who are they building this for, exactly?
them: "Just you!"
them: "It's off the shelf!"
me: what?
them: "We want all our system to use off-the-shelf software! Then we don't need to do any development."
them: "oh, about a decade."
me: And they're throwing it out for a sharepoint solution?
them: "It's off the shelf!"
them: "Yes! it has all sorts of full-text search, it can find references inside documents and everything. it's great!"
them: "what?"
me: all my documents are TIFF images. Can it search for text INSIDE TIFF IMAGES!?
them: "no, that's impossible"
them: "not for the documents themselves, no"
me: can we use it like a database, though? we have documents indexed by a bunch of columns in a database
me: that sounds like a database with extra steps
me: hang on, crawl?
them: "Yeah! there's a program which goes through every document in the database and tries to parse out the text and indexes the metadata, and then you can search on it!"
them: "yep!"
me: how often does the crawl happen?
them: "we were thinking every 3-7 days"
them: "yeah, that's why we have to batch them into a crawl! databases just can't handle that many documents being added so quickly"
them: "no, that'd slow down the system too much to do it in real time. we have to batch them and run it in the middle of the night."
me: you know I used to work for 4chan, right? They get that many images an hour.
me: ok, great. what's the frequency now?
them: "every 24 hours!"
them: "Yep! assuming the crawler doesn't timeout"
them: "yep, sometimes it takes too long to crawl the database, and the crawl is still running when the next one would start, so we have to kill the old run"
them: "oh, no, that'd be silly. it's not that slow"
me: ok good
them: "it has to crawl all the images"
them: "yes! to get a full index, it checks every document"
me: but there are like 15 million of those
them: "yeah, that's why it takes 24 hours!"
them: "we need a full index! that's how sharepoint works."
me: ok... this feels like it's not a good fit for what we need.
them: "but it's off the shelf!"
them: "Nope! it doesn't use mssql. Well, it's built on it, but we don't query it at that layer. we use LINQ!"
them: "YEP!"
me: can I use that from java? across A FUCKING NETWORK?
them: "Nope!"
them: We're gonna develop a SOAP endpoint!
me: SOAP?
them: "OH YES. You'd like it, the code is... very clean"
me: get out.
them: "You write PSEUDO-SQL and encode it into an XML remote procedure call!"
me: pseudo-sql?
them: "Yes, we're writing a bunch of code to take pseudo-SQL and convert it into LINQ queries"
them: "oh yes, we're working around the clock."
me: that doesn't sound very off-the-shelf
them: "SILENCE!"
them: "NO! we don't support SELECT *. You have to explicitly name columns"
them: "look at the web interface! they're very like the ones shown in the metadata sidebar"
me: "very like"?
them: "yeah, they're not exactly the same. Spaces are encoded weird, they're case sensitive and not capitalized the same"
them: "Sure! here you go. This may change, btw."
me: ok, so will you update me when they change?
them: "What makes you think WE'LL know when they change?"
them: "Oh yeah! These column names are being autogenerated by some .net serialization bullshit that we don't really understand. They might change some weekend due to an upgrade"
them: "yeah. that sucks."
Them: "Nope! we don't support table names"
me: table... names?
me: so it's SELECT ... from 109?
them: "Yep!"
me: that doesn't seem very pseudo-SQL
them: "oh yes, the XML is corrupt for those"
me: WHY IS THE XML CORRUPT
me: so if I want to query CA or AK, I get... invalid XML back?
them: "YEP!"
them: "no. But We'll can put in an xml element towards the end that says
them: "guess what else we don't support?"
me: pagination?
them: "you're learning!"
them: "well you'll have to query for less stuff"
me: BUT THE THING I NEED IS A LIST OF ALL STATIONS IN CALIFORNIA, BECAUSE THAT'S WHAT THE USER IS SELECTING FROM
me: OK... I can do some offline weirdness and do queries for state='CA' and station_name like 'A%' and iterate through all the letters and merge them on my end and "cache" that here so it works.
me: yeah, that's... kinda weird. Why is that again?
them: "congress!"
me: ... what
me: why... what? how is that a budget thing?
me: yes?
them: "and there is a stimulus for west virginian tech companies!"
me: let me guess: to pay for them starting up database serving companies for the US government?
them: "You're catching on now!"
them: "No, FTP servers are not off-the-shelf"
them: "SOAP AGAIN!"
me: isn't that an XML-based web query thing?
them: "It's actually not web-only, and it's REMOTE PROCEEDURE CALL, not query!"
them: "No, you call it to download the file."
me: wait... in SOAP itself?
them: "YES!"
them: "yep! it's very efficient if what you're downloading is XML itself"
me: but it's not. it's TIFF. that's binary data.
them: "Don't worry, we can base64 encode it."
them: "yep! but that's the only way to embed them in XML"
me: why do we have to embed them in xml in the first place... never mind. OK, so is there a timeout limit on this one? because some of these files are big
me: right, very off the shelf.
me: wait, 5mb? I have some documents that are like 61mb
them: "well, you gotta. that's just how HTTP works"
me: ... what
They tried to convince us that HTTP WAS NOT RELIABLE FOR FILES OVER ABOUT 10 MEGABYTES as a reason for why their download service was being designed so incredibly badly)
We convinced them to use MTOM, which a SOAP thing where you have a binary-attachment to the XML part, so we don't have to base64 encode our binaries
so I have no idea what their problem was and why they said that.
NTLM2 is one that only really makes sense if you're an all-microsoft shop and you want to authenticate using your windows logins
so this was not a good fit. But whatever, they can make a special "query the database" user login and let us use that
60 or 90 days into the service being active, the site goes down, because it's trying to pop up a "your NT password has expired! change it now." dialog on some screen that didn't exist
It supports many authentication methods.
NTLM2 is not one of them
we could confirm all our code worked just fine if we ran it with authentication disabled or set to other methods, but for production, it had to be NTLM2
there was a closed source binary-only java library someone had written which could hook up to apache axis and make it support NTLM2.
so we just spent like 5000$ on a server copy and all and bam, it's done, it works
There was a whole saga where we had to stop working with them because it turned out they were massively defrauding the government by falsifying all their timesheets
they'd load it up, mail it to us, I'd copy the data off, then mail it right back to repeat the cycle
So in the end, they had to get imported by connecting them right to... my government desktop computer
did we abandon this convoluted process once we realized it was pointless? of course not.
(as this thread soon will be):
https://t.co/vF4QY3Cf5q
https://t.co/fxSZjxyBm0
More from foone
Everyone likes to forget this episode just because it's terrible, but we were really sleeping on inherent comedy in a unfreezing an investor 300 years in the future and having them discover we've transitioned to a moneyless post-scarcity utopia.
it's like a classic twilight zone episode.
in fact, it IS a twilight zone episode.
The Rip Van Winkle Caper, Season 2, episode 24.
Four criminals steal a million dollars of gold bars, then put themselves in suspended animation for a hundred years to hide from the law.
they wake up, then start killing each other from mistrust, then the last one dies in the desert, as he offers a gold bar to the driver of a passing car, asking for water and a ride into town
the confused driver walks back to his car with the bar, and his wife asks what the gold bar is.
he says something like "It's gold... they used to use this for money, before we figured out a way to manufacture it."
He tosses it away, and drives off.
— Star Trek Minus Context (@NoContextTrek) January 28, 2021
it's like a classic twilight zone episode.
in fact, it IS a twilight zone episode.
The Rip Van Winkle Caper, Season 2, episode 24.
Four criminals steal a million dollars of gold bars, then put themselves in suspended animation for a hundred years to hide from the law.
they wake up, then start killing each other from mistrust, then the last one dies in the desert, as he offers a gold bar to the driver of a passing car, asking for water and a ride into town
the confused driver walks back to his car with the bar, and his wife asks what the gold bar is.
he says something like "It's gold... they used to use this for money, before we figured out a way to manufacture it."
He tosses it away, and drives off.
More from Tech
You May Also Like
I just finished Eric Adler's The Battle of the Classics, and wanted to say something about Joel Christiansen's review linked below. I am not sure what motivates the review (I speculate a bit below), but it gives a very misleading impression of the book. 1/x
The meat of the criticism is that the history Adler gives is insufficiently critical. Adler describes a few figures who had a great influence on how the modern US university was formed. It's certainly critical: it focuses on the social Darwinism of these figures. 2/x
Other insinuations and suggestions in the review seem wildly off the mark, distorted, or inappropriate-- for example, that the book is clickbaity (it is scholarly) or conservative (hardly) or connected to the events at the Capitol (give me a break). 3/x
The core question: in what sense is classics inherently racist? Classics is old. On Adler's account, it begins in ancient Rome and is revived in the Renaissance. Slavery (Christiansen's primary concern) is also very old. Let's say classics is an education for slaveowners. 4/x
It's worth remembering that literacy itself is elite throughout most of this history. Literacy is, then, also the education of slaveowners. We can honor oral and musical traditions without denying that literacy is, generally, good. 5/x
As someone\u2019s who\u2019s read the book, this review strikes me as tremendously unfair. It mostly faults Adler for not writing the book the reviewer wishes he had! https://t.co/pqpt5Ziivj
— Teresa M. Bejan (@tmbejan) January 12, 2021
The meat of the criticism is that the history Adler gives is insufficiently critical. Adler describes a few figures who had a great influence on how the modern US university was formed. It's certainly critical: it focuses on the social Darwinism of these figures. 2/x
Other insinuations and suggestions in the review seem wildly off the mark, distorted, or inappropriate-- for example, that the book is clickbaity (it is scholarly) or conservative (hardly) or connected to the events at the Capitol (give me a break). 3/x
The core question: in what sense is classics inherently racist? Classics is old. On Adler's account, it begins in ancient Rome and is revived in the Renaissance. Slavery (Christiansen's primary concern) is also very old. Let's say classics is an education for slaveowners. 4/x
It's worth remembering that literacy itself is elite throughout most of this history. Literacy is, then, also the education of slaveowners. We can honor oral and musical traditions without denying that literacy is, generally, good. 5/x