You could install Linux on earlier versions of the surface. That might make a reasonably decent machine, assuming bluetooth could be made to work with it. Do you know if you can still install Linux on the new ones?
Tool for the job and all that. If I had to maintain some code, I'd prefer perl with "use strict" over any of the newer OO languages. At least when you're looking at bad code, you can usually salvage something from structural code. I've seen some atrocious Ruby programs lately.
Most of the time you're maintaining code you're maintaining bad code, though, and it's pretty rare that I run across a perl program with "use strict" turned on. But if I don't see it, I at least know what I'm up against. The newer languages need a similar "A bad programmer wrote this" flags.
And CS isn't learning how to crank out thousands of lines of Javascript code. The only people who think it is are ones who don't really understand CS (or computers) very well.
I predict a number of congressmen will soon get caught attempting to give handies in airport bathrooms, browsing web sites that cater to people who like to dress up as nuns and have their feet rubbed with dill pickles, or have their bizarre fascination with the genitalia of young goats* revealed. Funding will be restored shortly thereafter.
I saw it in a Sun lab at RPI in '87. It was running some clunky-ass version of CDE. Or maybe it was just plan CDE.
It's funny, I'm working on a project for which a lot of the components were coded back in the mid '90s. The state of the art really hasn't advanced since then. The basic API (Xlib/Motif/Xcb) are nominally well documented -- you can find books and the library calls have man pages. Newer libraries and X extensions are a hodge-podge of largely-undocumented and generally incompatible API calls that take more work to integrate than they do to program in (Assuming you can find an example to work from.) The actual frameworks typically require you to drink all their kool-aid in order to use the framework. So I could go GTK+ or QT, learn their idioms and framework implementation details and that's great assuming I never want to change frameworks again and am willing to accept their quirks. And outside of QT, everyone (including motif/xlib) re-invent C++ badly with home-rolled type systems which often involve pushing strings around. Brilliant.
Somehow despite all this it still does what it does better than anything else I've seen. I'm not sure how this is possible, but there you go.
Many nerds were forced to read his book in grade school before going on to a non-English-lit major and making several times the salaries of the teachers who forced them to read it.
I agree. I think one of the reasons I was so successful at it was that back in the day there really wasn't a lot between you and the hardware. BASIC was the maximum amount of crap between you and the iron, and you so quickly got tired of working around BASIC's limitations that you more or less immediately went straight to working with the hardware. The more crap I put between me and the hardware, the less I like programming in it. Introducing a JVM or a web browser (or a JVM in a web browser implemented in a JVM) just makes the whole process annoying. We're just throwing away several iterations of Moore's law, while making the entire application stack less responsive than it was back in the bad-ol' terminal days.
I'm an air force brat and moved around a lot. Back in the '80's I did three years of high school in a school in upstate New York. They had a program with a very clear progression -- they offered a programming course in BASIC, a more advanced programming course in BASIC, a programming course in Pascal and an AP programming course in Pascal. I did the first three and got a look at one of the projects one of the guys in the AP class was doing -- a recursive descent parser in Pascal. Unfortunately in my last year, Dad got moved to Alabama. The school down there didn't have an AP CS class at the time. They did have a couple of fairly basic classes -- one with BASIC and one with Fortran that they'd just started that year. I took the Fortran one just to keep my hands on computers and ended up showing the teacher and the class how to use the system environment, which was the same one we'd been using for Pascal up in New York.
Even though there was a bit of a gap between the two schools' programs, 30 years ago you could get an introduction to programming and CS concepts in both of them. It seems like we've been back-sliding since then.
WRT narcotics, there's always one that works, one that doesn't, and one that makes you vomit. You just found the one that makes you vomit. Codeine works for me, vicodan doesn't. I'm going to assume percocet makes me vomit.
What the fuck is up with that anyway? When I was growing up, they wouldn't even let you in the school if you didn't have your immunization papers. I don't care if you are afraid of "toxins" and use Cherokee hair tampons, if you're not getting your kids their shots you're endangering them and everyone else's kids. That should be enough grounds for child services to decide that you're an unfit parent and remove your kids to protective custody. We need to stop coddling stupid bitches in this country.
Google doesn't (Or didn't until a few days ago) own satellites. They buy their satellite imagery from Geoeye and DigitalGlobe. I'm not sure if they own any aerial providers or if they just buy aerial imagery from a third party. Aerial imagery is higher resolution, but it's a lot easier to shoot down an airplane if you don't want it taking pictures of something.
The main thing you need is a consistent source of ephemeris data. I've gone poking around a little with Google and haven't really found a good one. There are two or three NASA services that claim to provide the data, but they're never responding whenever I check. I suppose if you're a bit more motivated than I am (my motivation is currently at a "meh" level,) you could probably find one.
I should point out that the same programmers are usually the ones with tons of null pointer exceptions in their java logs that no one ever reads. You'd think someone would read the log every so often, say "Hmm. There are a lot of exceptions in here. Maybe I should fix a few of them since the stack trace points you right to the line where the exception occurred!" Nope! Not so much!
The programmers always know how big those arrays are. They're just lazy or bad in a variety of ways. It's easy enough to bound a read or copy to a specific size. They just never actually do. I've been on a couple of big C projects and a few smaller ones and the programmer always know what they're working with in a specific function. The problem is never that they don't know how big that specific thing is. The problem is they make no effort to validate the size, or that the pointer's not null, or that someone put good data in it. The number of ways programmers will find to be bad or lazy are countless, and I don't think you can make a language that will account for all of them while still being useful.
If you have a claim to their assets, you could probably still go after all the patents that company owns and presumably any of the licensing fees they had managed to collect. Denying the people pulling those strings as much money as possible still has some value. Now that the precedent has been set, more companies might elect to pursue this course of action, which could put a serious dent in the patent troll business plan. And if you suspect a corporation has just been formed to serve as an alias, you can still go after the assets of the individuals holding that corporation.
Yeah SCO. IIRC they even broke nroff/troff out to a billable component and wanted something for that. I think I sat down and worked out that it'd cost over $10,000 to build fully functional UNIX system. I was never involved in ordering a Solaris system, so I didn't know how the billing for other UNIX systems worked. Most of their clients seemed to wise up within a couple of years.
I forgot about HP and HP/UX, which someone else mentioned here. I guess they're still around, seemingly despite their best efforts to drive their company into the ground in a flaming wreck. The only place I ever saw HP/UX was while working at IBM building printer drivers. It was almost as annoying as SCO to work with.
Cave Johnson burns down Steve Jobs' house with lemons.
Should be fired.
Now I'm going to have to go build a military jet in Kerbal Space Program and push a capsule with parachutes out of it.
You could install Linux on earlier versions of the surface. That might make a reasonably decent machine, assuming bluetooth could be made to work with it. Do you know if you can still install Linux on the new ones?
Most of the time you're maintaining code you're maintaining bad code, though, and it's pretty rare that I run across a perl program with "use strict" turned on. But if I don't see it, I at least know what I'm up against. The newer languages need a similar "A bad programmer wrote this" flags.
And CS isn't learning how to crank out thousands of lines of Javascript code. The only people who think it is are ones who don't really understand CS (or computers) very well.
* You know who you are
It's funny, I'm working on a project for which a lot of the components were coded back in the mid '90s. The state of the art really hasn't advanced since then. The basic API (Xlib/Motif/Xcb) are nominally well documented -- you can find books and the library calls have man pages. Newer libraries and X extensions are a hodge-podge of largely-undocumented and generally incompatible API calls that take more work to integrate than they do to program in (Assuming you can find an example to work from.) The actual frameworks typically require you to drink all their kool-aid in order to use the framework. So I could go GTK+ or QT, learn their idioms and framework implementation details and that's great assuming I never want to change frameworks again and am willing to accept their quirks. And outside of QT, everyone (including motif/xlib) re-invent C++ badly with home-rolled type systems which often involve pushing strings around. Brilliant.
Somehow despite all this it still does what it does better than anything else I've seen. I'm not sure how this is possible, but there you go.
Many nerds were forced to read his book in grade school before going on to a non-English-lit major and making several times the salaries of the teachers who forced them to read it.
I agree. I think one of the reasons I was so successful at it was that back in the day there really wasn't a lot between you and the hardware. BASIC was the maximum amount of crap between you and the iron, and you so quickly got tired of working around BASIC's limitations that you more or less immediately went straight to working with the hardware. The more crap I put between me and the hardware, the less I like programming in it. Introducing a JVM or a web browser (or a JVM in a web browser implemented in a JVM) just makes the whole process annoying. We're just throwing away several iterations of Moore's law, while making the entire application stack less responsive than it was back in the bad-ol' terminal days.
If the damn things hadn't been so delicious, they'd still be around!
Even though there was a bit of a gap between the two schools' programs, 30 years ago you could get an introduction to programming and CS concepts in both of them. It seems like we've been back-sliding since then.
WRT narcotics, there's always one that works, one that doesn't, and one that makes you vomit. You just found the one that makes you vomit. Codeine works for me, vicodan doesn't. I'm going to assume percocet makes me vomit.
What the fuck is up with that anyway? When I was growing up, they wouldn't even let you in the school if you didn't have your immunization papers. I don't care if you are afraid of "toxins" and use Cherokee hair tampons, if you're not getting your kids their shots you're endangering them and everyone else's kids. That should be enough grounds for child services to decide that you're an unfit parent and remove your kids to protective custody. We need to stop coddling stupid bitches in this country.
Oh her computer crashed did it? Did you try looking on the server where you keep the mail, and not on her computer?
Google doesn't (Or didn't until a few days ago) own satellites. They buy their satellite imagery from Geoeye and DigitalGlobe. I'm not sure if they own any aerial providers or if they just buy aerial imagery from a third party. Aerial imagery is higher resolution, but it's a lot easier to shoot down an airplane if you don't want it taking pictures of something.
I'd be happy with just one that didn't suck.
Your face was made for punchin! So that's just what I'll do! One of these days these fists are gonna punch all over you!
The main thing you need is a consistent source of ephemeris data. I've gone poking around a little with Google and haven't really found a good one. There are two or three NASA services that claim to provide the data, but they're never responding whenever I check. I suppose if you're a bit more motivated than I am (my motivation is currently at a "meh" level,) you could probably find one.
If the expansion continues, one day a walk to the chemist will be too much!
I should point out that the same programmers are usually the ones with tons of null pointer exceptions in their java logs that no one ever reads. You'd think someone would read the log every so often, say "Hmm. There are a lot of exceptions in here. Maybe I should fix a few of them since the stack trace points you right to the line where the exception occurred!" Nope! Not so much!
The programmers always know how big those arrays are. They're just lazy or bad in a variety of ways. It's easy enough to bound a read or copy to a specific size. They just never actually do. I've been on a couple of big C projects and a few smaller ones and the programmer always know what they're working with in a specific function. The problem is never that they don't know how big that specific thing is. The problem is they make no effort to validate the size, or that the pointer's not null, or that someone put good data in it. The number of ways programmers will find to be bad or lazy are countless, and I don't think you can make a language that will account for all of them while still being useful.
If you have a claim to their assets, you could probably still go after all the patents that company owns and presumably any of the licensing fees they had managed to collect. Denying the people pulling those strings as much money as possible still has some value. Now that the precedent has been set, more companies might elect to pursue this course of action, which could put a serious dent in the patent troll business plan. And if you suspect a corporation has just been formed to serve as an alias, you can still go after the assets of the individuals holding that corporation.
A larger crotch-region
I forgot about HP and HP/UX, which someone else mentioned here. I guess they're still around, seemingly despite their best efforts to drive their company into the ground in a flaming wreck. The only place I ever saw HP/UX was while working at IBM building printer drivers. It was almost as annoying as SCO to work with.