But most shops don't need something as powerful as Oracle. By the time they get done slapping a front end with non-optimized spring and hibernate queries on top of oracle, they may as well just be storing their entire database in one big XML flat file. A while back I ran across a developer who was trying to join two tables manually using hibernate. Around 40000 records his application would run out of memory and crash half an hour later. The SQL join I wrote to test it handled at least 1.5 million records and ran in under 10 seconds (And this was on a Postgres database.)
So just because your shop is running Oracle, doesn't mean you can hire chimpanzees to write your font end code. Optimize your database design and queries and you can go a long way before you need the power of a commercial database system. Don't, and even the most advanced commercial database on the planet won't make your app suck any less.
I'm not advocating being an asshole for no cause. I have sympathy for the poor bastard on the phone -- I've been on that side of the line. But because I've been on that side of the line, I know when he's trying to blow me off, which is ALWAYS. That guy is there to make you go away. The only way to get anything done is to escalate past him as fast as you can. And the quickest way to do that is to be angry at him. His script says if you're clearly pissed off and demand to talk to a manager, he sends you to a manager.
Sure you're taking a big crap in the middle of a day of a guy whose life involves 6-10 people an hour taking a big crap on him, but his stats demand that he answer 6-10 calls an hour. If you really need something fixed you could argue with him for 20 minutes or you could get pissed off with him in the first three and let him get on to the next guy in line to take a crap on him. Sure you're being an asshole, but it really is best for everyone involved. You get to someone with the power to fix your thing, he gets to keep his shitty ass job for another day. Hooray!
Pretty much being an asshole to helpdesk people is the only way to get results. Most of those guys are just trying to get you to go away in 10 minutes or less so they can make their call stats for the week. Back in the day you might occasionally get someone who knew what they were doing, but that was back before the outsourcing craze pretty much guaranteed you were talking to a guy in a call center that also serves as helpdesk support for Hoover vacuum cleaners. He probably doesn't know that much about vacuum cleaners, either.
So this defines your relationship with that poor bastard. You have some broke-ass shit that needs fixing, and he is there to make you try to give up and fix your shit yourself. Now you could attempt to do that, and most of the time you're some wanker who just needs his hand held while he RTFMs. But sometimes you legitimately have some shit that needs fixing. If you KNOW you're a person who needs actual help and you KNOW about your relationship with aforementioned poor bastard, your only choice, really, is to beat that guy like he owes you money. I suppose alternately you could attempt to explain all this to him, but that would take a good bit longer and he really does have call stats he needs to make.
It would be nice if the process could work in such a way that you didn't HAVE to be an asshole to someone, but I guess that's just the way the world works.
Go ahead, go off the internet for a year and see how you do. Turn off the computer, blow the dust off that old electric typewriter, ditch the smart phone for a not-so-smart phone and see how well you do. I suspect it'll look something like this.
While everyone likes to cite the C compiler that injects a backdoor into the executable whenever it detects that it's compiling a C compiler, it's far easier just to subvert the process by releasing an executable with a back door or exploitable code in it. The former depends on you releasing the binaries, which is pretty easy if you maintain a distribution. But why even bother with that when so many people are already releasing exploitable code for you? It seems like not a day goes by where we don't see a headline here about an exploit in some popular software package. Even commercial providers like Apple can't keep ahead of all the possible exploits in the software they release -- otherwise no one would ever be able to root an iPhone.
It doesn't even have to be a specific executable we're talking about. All you really need is a library everything depends on where some guy did a unbounded copy without checking parameters. There have been several of those over the years -- compression and image libraries where some guy did an unbounded copy without checking parameters.
Of course, if someone's really interested in YOU (versus just trawling around for generic information) they could always just break into your house and plant bugs. If you browse the internet at all, it's ridiculously easy to get information on what you're up to. Sure you could use https everywhere and erase cookies, but I'm not sure how much I'd trust https. Keep in mind that a LOT of those certificates are issued by a central authority, and central authorities are easy to subvert.
With all that being said, if we were really that concerned about it we'd be making it MUCH easier to use pgp and personal private encryption for everything. We'd be making it much easier to use opportunistic encryption with self-generated keys for point-to-point communications. We'd be making it much easier to encrypt voice and video communications. Everyone would be using tor to access the internet. And we're not really doing any of those things. Hell, we volunteer so much information about our daily lives through social networking that there really isn't any need to listen in on most people anyway. I'd guess someone completely avoiding social networking sites would raise a red flag that would warrant more scrutiny.
Tesla can't sell them directly to consumers on their web page? Since that'd be interstate commerce and all, and states can't regulate that...
If they want to be really cool about it, they could have someplace you could deposit $50000 worth of bitcoins and have the car delivered directly to your doorstep.
Hmm, well I've heard it put forth that the human mind is capable of tracking five plus or minus two relationships! So in theory, the aforementioned song should be feasible for most people to follow!
That argument holds up pretty well so long as you don't look at the behavior of quite a lot of people who claim to be Christians (going back as long as there have been Christians.) There's too much of a pattern of abuse and abusers not being expelled from the club for it to be a coincidence.
Of course everyone has their assholes. Except maybe Buddhism. I've never actually heard of a Buddhist asshole. That doesn't mean there aren't any, just that I can't be bothered to go looking for any on wikipedia.
You can't have polygamy because it makes the love songs too complicated. Now go forth and write a love song describing a polygamous relationship between two men and three women!
Pretty sure the secret courts were one of the gripes our founding fathers had with England. Of course, in England's eyes, our founding fathers were terrorists, so there you go.
Citrix very much reminds me of using a desktop computer to connect via dialup to a 300bps machine. I'm using my fast, good computer as a dumb terminal to a slow crappy computer. Except that typically the manufacturer of the 300bps machine knew their interface was slow and would at least try to design the applications to make that as unobtrusive as possible.
It really isn't that hard. You're looking for someone who takes pride in the quality of their work and ideally actually enjoys doing it. You may also be looking for someone who will work well on your team, or who can be fantastic as a lone gunman with relatively little micro-management. The brain teasers work pretty well because it's pretty easy to spot someone who will just give up without thinking about the problem. They also do a good job of finding the people who aren't really paying attention to you during the interview. If you're a bad interviewer, you think you're looking for someone who can answer the questions correctly and just look at that and not their entire thought process as they try to solve the problem. Do they break the problem down into solvable components? If they get off track, will they pay attention to the hints you give them to get them back on track? Do they try to bullshit their way through with a non-answer (In which case you should refer them to marketing or management.)
If you know what you're looking for, you don't even really need a brain teaser. The old design-a-trivial-function along with some basic questions about data structures or design patterns will weed out most of the really bad candidates. Ten seconds into "design a function on the whiteboard," I already know if it's going to go badly or not. If they're just crapping code onto the whiteboard, it's going badly. In ten seconds I've pulled back the veil of all the buzz words they used to get through HR to the interview and can see exactly how they're going to work under pressure. I'll take a high school dropout who actually takes the time to make sure he understands the question and shows me he can design a solution over a PhD who tries to BFI his way through.
But Citrix will probably last longer than the pyramids. It's impossible to ever kill an application that shitty. The only way to make it worse would be to run Lotus Notes on it. "Yeah, our corporate E-Mail system is Lotus Notes, run over Citrix..." *runs screaming from the building.*
So just because your shop is running Oracle, doesn't mean you can hire chimpanzees to write your font end code. Optimize your database design and queries and you can go a long way before you need the power of a commercial database system. Don't, and even the most advanced commercial database on the planet won't make your app suck any less.
They were probably distracted by your freakishly short arms.
The murderer is EDS with dot-net in citrix. Am I getting warm?
Sure you're taking a big crap in the middle of a day of a guy whose life involves 6-10 people an hour taking a big crap on him, but his stats demand that he answer 6-10 calls an hour. If you really need something fixed you could argue with him for 20 minutes or you could get pissed off with him in the first three and let him get on to the next guy in line to take a crap on him. Sure you're being an asshole, but it really is best for everyone involved. You get to someone with the power to fix your thing, he gets to keep his shitty ass job for another day. Hooray!
So this defines your relationship with that poor bastard. You have some broke-ass shit that needs fixing, and he is there to make you try to give up and fix your shit yourself. Now you could attempt to do that, and most of the time you're some wanker who just needs his hand held while he RTFMs. But sometimes you legitimately have some shit that needs fixing. If you KNOW you're a person who needs actual help and you KNOW about your relationship with aforementioned poor bastard, your only choice, really, is to beat that guy like he owes you money. I suppose alternately you could attempt to explain all this to him, but that would take a good bit longer and he really does have call stats he needs to make.
It would be nice if the process could work in such a way that you didn't HAVE to be an asshole to someone, but I guess that's just the way the world works.
Robots aren't quite as delicious.
Eight eyed, eight legged freaks creep me the fuck out.
Go ahead, go off the internet for a year and see how you do. Turn off the computer, blow the dust off that old electric typewriter, ditch the smart phone for a not-so-smart phone and see how well you do. I suspect it'll look something like this.
It doesn't even have to be a specific executable we're talking about. All you really need is a library everything depends on where some guy did a unbounded copy without checking parameters. There have been several of those over the years -- compression and image libraries where some guy did an unbounded copy without checking parameters.
Of course, if someone's really interested in YOU (versus just trawling around for generic information) they could always just break into your house and plant bugs. If you browse the internet at all, it's ridiculously easy to get information on what you're up to. Sure you could use https everywhere and erase cookies, but I'm not sure how much I'd trust https. Keep in mind that a LOT of those certificates are issued by a central authority, and central authorities are easy to subvert.
With all that being said, if we were really that concerned about it we'd be making it MUCH easier to use pgp and personal private encryption for everything. We'd be making it much easier to use opportunistic encryption with self-generated keys for point-to-point communications. We'd be making it much easier to encrypt voice and video communications. Everyone would be using tor to access the internet. And we're not really doing any of those things. Hell, we volunteer so much information about our daily lives through social networking that there really isn't any need to listen in on most people anyway. I'd guess someone completely avoiding social networking sites would raise a red flag that would warrant more scrutiny.
as a thinking American I am getting madder and madder.
Well there's your problem! Have you considered drinking heavily? I'd rather have a bottle in front of me, than have to have a frontal lobotomy!
Let's put a band-aid on it instead of addressing the underlying causes of the problem, and kick the can down the road!
If they want to be really cool about it, they could have someplace you could deposit $50000 worth of bitcoins and have the car delivered directly to your doorstep.
When the robots start committing suicide?
Hmm, well I've heard it put forth that the human mind is capable of tracking five plus or minus two relationships! So in theory, the aforementioned song should be feasible for most people to follow!
Don't forget to update wikipedia if you find one!
Of course everyone has their assholes. Except maybe Buddhism. I've never actually heard of a Buddhist asshole. That doesn't mean there aren't any, just that I can't be bothered to go looking for any on wikipedia.
You can't have polygamy because it makes the love songs too complicated. Now go forth and write a love song describing a polygamous relationship between two men and three women!
I can add one to things better in pretty much any other language. :-P
Pretty sure the secret courts were one of the gripes our founding fathers had with England. Of course, in England's eyes, our founding fathers were terrorists, so there you go.
I think you accidentally
He worked for the NSA. We know he's a spy :-P
Citrix very much reminds me of using a desktop computer to connect via dialup to a 300bps machine. I'm using my fast, good computer as a dumb terminal to a slow crappy computer. Except that typically the manufacturer of the 300bps machine knew their interface was slow and would at least try to design the applications to make that as unobtrusive as possible.
If you know what you're looking for, you don't even really need a brain teaser. The old design-a-trivial-function along with some basic questions about data structures or design patterns will weed out most of the really bad candidates. Ten seconds into "design a function on the whiteboard," I already know if it's going to go badly or not. If they're just crapping code onto the whiteboard, it's going badly. In ten seconds I've pulled back the veil of all the buzz words they used to get through HR to the interview and can see exactly how they're going to work under pressure. I'll take a high school dropout who actually takes the time to make sure he understands the question and shows me he can design a solution over a PhD who tries to BFI his way through.
Happy birthday! Your user will be celebrating in the atrium! I understand there is to be cake!
But Citrix will probably last longer than the pyramids. It's impossible to ever kill an application that shitty. The only way to make it worse would be to run Lotus Notes on it. "Yeah, our corporate E-Mail system is Lotus Notes, run over Citrix..." *runs screaming from the building.*