Read the article. They understand, as should YOU, that you can't just suddenly start manufacturing every last part immediately. They'll take back what they can, AS they are able.
Did you expect them to make the CPUs and the hard drives and the screens all on day one? Is that realistic for anyone in the hardware business, even an Apple or Samsung?
At least System76 is making more of an effort than anyone else, and open-sourcing it along the way. That's way more than Lenovo, HP or any other major brand is doing.
Linux will lose most of its security advantages if it ever runs Windows software off the shelf (especially those viruses, trojans and ransomeware).
Those emulation layers are PROTECTION from the scourge of Win32. If I ever need Windows, I'll do it in VirtualBox with a fresh dev VM from http://modern.ie/ then nuke the image the minute I'm done.
Yes, this is because the 65k plus 20k caps are annual caps. Thank you for pointing the accumulative effect of this policy have been in place for 20 years! Out of hundreds of H-1Bs I have worked with, I have personally seen only one return home, and it was because of a medical issue.
65,000 is only one of the caps. There is a separate cap of 20,000 that applies to guest workers with advanced degrees, and these folks bring their wives, children and extended families on H4 visas. They are valid for 3 years, can be renewed up to six, and most of them expect a green card at the end of six years, because by this time, they have purchased homes and have borne new (American) children. Then there are L-1 visas which have NO cap at all, which are used to displace teachers and nurses and other occupations. InfoSys got caught sending people over on B-1 visas to do contract work, which isn't what that type of visa is for, but they were falsying applications and coaching their employees on how to lie about the reason for the trip.
Both political parties dutifully ignore the issue, as they have been paid to do.
They are "Guests" who never go home, essentially.
Look up the writing of Kim Berry, John Miano, and Norm Matloff for more.
For most companies, it's all about competing on COST instead of QUALITY of work. Example: A lot of internal-corporate software is now written in Java, instead of a better, more efficient language simply because the cheapest engineers have been trained in Java, to the exclusion of everything else.
I didn't say Google became part of the State. I'm talking about the mentality that everyone is stupid and needs taken care of. That mentality IS called "Nanny State", especially when the corporations doing is would LOVE to have state-like powers.
[on whether to help the Klingons]
Captain James T. Kirk: They're animals.
Captain Spock: Jim, there is an historic opportunity here.
Captain James T. Kirk: Don't believe them. Don't trust them.
Captain Spock: They're dying.
Captain James T. Kirk: Let them die!
[pauses... Spock cocks his head in surprise.
Honestly, folks, what makes you think any Klingons, err, microsofties can be trusted in this day and age?
or maybe this is closer to home:
Steve Jobs (from Pirates of Silly Valley): "Dead culture in a crumbling castle"...
They're just saying "nice doggy" until they can find a rock.
Maybe this is what the teachers meant when they said: "Those who don't study history are doomed to repeat it".
Or how many times do you insist on touching that hot stove?
Really. They need us more than we need them. Ignore them, move along, nothing to see...
I'm a very small webhost provider (< 20 domains), and for me, it was a no brainer to get all my customers to get GMail for Domains, point all their MX records to Google, and wash my hands of the SPAM. I use it for all my personal domains as well.
Google does a far better job of SPAM filtering than I ever could with SpamAssassin and the blacklists thing... and for this small set of users (< 50 people total), it just wasn't worth it. My tech life got a lot easier when I decided I wasn't going to mess with email anymore, just like the day I decided I was going to ignore Microsoft's APIs. Both are losing propositions in the extreme.
So, for me, Google is a VERY useful partner. And I like their web/chat interface too, both the browser version and the mobile edition, which I access from my Treo 650.
I'm not trying to have anything both ways. Microsoft's executives ARE monopolists: they have been rightly convincted of being so by Judge Jackson, and in any other fields where they don't (yet) have monopolies, they ARE certainly trying to acquire them. For them, this is their goal, and as bad as that it, they see nothing wrong with that.
It doesn't matter if Microsoft has 100% stranglehold in a particular subspecialty or even none at all. Their entire mindset (backed up by long, painful histories) makes them unworthy of any trust or legitimacy, even in a totally new field.
I wouldn't trust them with changing my cat's litter box, either.
Oh, and this isn't anti-Microsoft specifically. Anyone with 20+ years in the industry can identify the bad players, and learn to mistrust everything they do until they rehabilitate. Remember when the bad guy used to be IBM? They have since shaped up, and are even hip in some circles now. The bad guy in 10 more years could be anybody.
Have the maturity it takes to see the patterns; it's not hard!
Doesn't matter. I'm not eating it, and neither
are the users of any site I have a hand in developing.
Come on, guys - how many times you have to be bitten by these
monopolists to realize that they can't be trusted? Or put
another way, we (developers) write the rules now, and we
don't have to let them in! Or as James T. Kirk said: "Let them die!"
Just start all free/libre/open stuff to begin with, and you'll never be troubled with this again. Leave the closed guys out of the game. Deny them access to the gene pool. They don't need to be mucking up your systems at all!
I agree. I once left a very small software development shop where I had run things for about 5 years, and I voluntarily offered 6 weeks notice (made the new job wait, which they did), and all the after-hours help I could do without endangering my new gig.
I must say, we parted on very cordial terms, and he eagerly contracted to me a couple years later when I left the new gig, and become self-employed.
Of course, this particular boss had never driven me into the ground with too much work, or otherwise abused me. The reason I left was for more technically challenging work - the year was 1995 and the rest of the world was getting into Objects, C++ and Java, and we were still doing vt100-style 80x24 terminal apps in K&R C.
It does sound do me like your boss didn't have a good relationship, so in your case, I wouldn't lift too many fingers to help out.
I have two production applications at work that convert a
subset of HTML to RTF via an rtf.xsl stylesheet, with results good enough, that my users
actually call it (RTF) the "print" format, whilst
the HTML is (naturally) the "view" format.
The subset it supports is TABLE, TBODY/THEAD, TR/TD, FONT COLOR/SIZE, @BGCOLOR attributes, and rudimentary PNG/JPEG image embedding (but only as part of the text stream & in a table cell, not as independently positioned images). I had to add a few things to plain HTML, like a "base font size", a "landscape/portrait" attribute to BODY, and attributes to pass to RTF's "\cellx" tag (because HTML auto-sizes everything, and in RTF you have to specify the position of the right edges of table cells).
All my users use Word as a helper application, which they think is great, but it makes me cringe to think of more invocations of an MS product.
I would loved to try producing the PDF, XSL/FO and Postscript outputs via XSL transformations, just haven't had the time to try it yet. I'm sure they would yield better results, so go for it!
You didn't actually SAY that your code reviews actually result in higher quality code, but from the tone in which I'm reading your comment, you seem to be implying it. If so, then thank you for proving my point: that peer review does improve the output of most programmers.
There is a much larger set of peers in the open source world than you'll ever get in just one company. That is when peer review really scales.
One of the reasons Open Source never really took off on Windows is because there has NEVER been a free C/C++ compiler thrown in with every copy. (Cygwin's gcc really isn't a Windows C compiler: it lacks the Win32 headers, MFC, etc. It's more of a Win32 port of Unix tools). Traditionally, Unix ALWAYS came with a compiler (except for the late 80s when Sun/HP/SCO unbundled it, trying to get more $$). Most Linux and BSD distributions have ALWAYS had a C/C++ compiler.
Code reviews
may be a fact of life in your cube farm, but
in mine (and anecdotally, in most places
I've worked in), they are NOT. Believe me,
if I had the authority in my company to mandate
it, I would have done so long ago.
In fact, in
the primary project I've developed in
my current job, I've been the SOLE developer
from day one. I know no one has seen it,
but I develop like it was going to be GPL'd.
By explaining why programmers will spend a little more time on their product, I help people understand why the Unix/OSS way evolves software faster and at a higher quality. (and this is not news to anyone who has read ESR's writings).
Also, (correct me if I'm wrong), but Joel seems to have been weaned almost entirely on the Microsoft side of programming. It's not surprising that he didn't get it all the first time (hint: go read ESR's entire site).
It just goes to show you all this corporate bullshit doesn't buy you much. It is the experience and judgment of great programmers that builds quality systems, not the shiny company logo, not the weasely sales team or anyone else.
One other thing that Spolsky missed was about
returned error codes (ERRORLEVEL for you
Windows-only people, IIRC).
Success is zero. Anything else indicates a problem.
It's another one of those wonderful things that makes scripting nice and easy, but the users don't even know about.
Is it REALLY asking that much for end users to spend a few weeks learning some computer basics? I mean, people will fritter away time on so many non-productive things (games, reality TV, sports, etc).
Good craftsmen always care about the quality of their work, no matter what. What I am saying is that more care will be put into work when it is a certainty that others will look, and judge.
Joel almost, but not quite
touched on it when he
mentioned source code availability as a core
Unix value, and that is Peer Review.
True, in the Unix world, one makes
your source code available to give others the
chance to further improve and customize the
system, but by making it available,
it means OTHER PROGRAMMERS WILL SEE HOW
GOOD (or bad) YOU ARE. Because of this, most open source developers will want to put in the
extra effort to do it right / clean it up / make
it elegant/compatible
(or at least the best of their ability).
Most open-source developers are happy
to learn and grow by reading suggestions
and examining patches submitting by their
'users' (obviously, the ones who submit
patches are programmers as well).
In the Windows world, source code is a closely
guarded secret. No one is going to see THAT
source code, so who cares?
I once worked a contract for a subsidiary of a large company, who was located in the same building as it's parent, and shared common infrastructure (IP network and phones, etc). The "IT" people of the parent company saw some goofy stuff coming from my PC, and went to the subsidiary's VP of IS (who was a former tech and who I got along with GREAT). They told him that I was tracking to hack into their network, and had similar logs showing me trying some 'funny stuff' from my IP address.
The VP of IS, however, handled it as well as I
could have asked for: he asked me if I had done
anything unusual on that PC on that day, and in
fact, I had. I had just downloaded and tried out
Microsoft's Services for Unix package (an early beta), which had, (among other things) NFS browsing and mounting.
He asked for me to put that package through it's
paces again, while he watched, AND had those IT
people monitoring their logs in real time. The
'alarming' entries were simply attempts to NFS
mounts to servers that did not have my PC in their/etc/exportfs file (without such entries, you do NOT get access). I fired up the program,
went through everything I could, and immediately
gave the IT snoops a second heart attack.
I was off the hook immediately because I was able
to replicate the scary log entries at will, and show that they were done with a widely
available piece of Microsoft code.
I was fully exonerated, and both my bodyshop-manager AND the VP of IP were impressed that I, firstly, did not panic, and second, that I knew my technical material like the back of my hand.
I do realize, of course, that I was lucky to have
my client's VP on my side AND with clue. Your
mileage will probably come up short.:-(
That was also the last time I tried any new
Microsoft software (not even safe to try!)
Thanks for giving me the benefit of the doubt
on being racist. I absolutely am not .
By "Steaming", I guess I was referring to the notion that all programmers are interchangable, even recent grads from third-world countries lacking basic infrastructure. (Think: steaming pile of ______).
But upon further reflection, there are plenty of American 'coders' glutting the market who have only recently discovered there are actually programs other than shoot-em-up games. They are equally ill-equipped to design and run mission-critical business applications, yet they get snapped up for being cheap.
I am always prepared to compete (and win) on merits, but it getting harder to win against people who only ask for mere pennies on the dollar in wages. (now I know why Gates hates Linux so much!)
Maybe 'steaming' is also applicable to my increasingly bad attitude about this topic. (surely we can agree on that!)
That was not my point. The point is, if a place
doesn't have enough infrastructure/education/people
who can make a car, it is foolish to think that
such a place can handle the latest software
technology. The executives farm the work out
anyway, get shoddy work (most of the time),
but are still delighted that it only cost a fraction of what experienced Western programmers cost.
All these electricity problems are exactly
what I'm talking about.
From what I've seen of foreign
labor (since 1990), there's the occassional
whiz who knows his stuff, lots of mediocrity,
but mostly people who saw their first computer
in their third year of university, and those
people are just AWFUL (in skills, anyway).
Q: How can a person with such limited exposure to
the culture of computers possible do quality
work like an American or European who has been
coding since pre-puberty?
A: THEY CAN'T! But if they're
cheap enough, the CEOs will gladly do the deal.
And you thought we had competition from
steaming legions of Indian and Chinese
programmers?
Most of the executive set I know (yes, in the USA)
wouldn't consider buying an AUTOMOBILE from a
third-world country like that, but they will do
anything to have IT design (at least as complicated, when done properly) done in such
places.
Read the article. They understand, as should YOU, that you can't just suddenly start manufacturing every last part immediately. They'll take back what they can, AS they are able.
Did you expect them to make the CPUs and the hard drives and the screens all on day one? Is that realistic for anyone in the hardware business, even an Apple or Samsung?
At least System76 is making more of an effort than anyone else, and open-sourcing it along the way. That's way more than Lenovo, HP or any other major brand is doing.
Linux will lose most of its security advantages if it ever runs Windows software off the shelf (especially those viruses, trojans and ransomeware).
Those emulation layers are PROTECTION from the scourge of Win32. If I ever need Windows, I'll do it in VirtualBox with a fresh dev VM from http://modern.ie/ then nuke the image the minute I'm done.
Yes, this is because the 65k plus 20k caps are annual caps. Thank you for pointing the accumulative effect of this policy have been in place for 20 years! Out of hundreds of H-1Bs I have worked with, I have personally seen only one return home, and it was because of a medical issue.
Both political parties dutifully ignore the issue, as they have been paid to do.
They are "Guests" who never go home, essentially.
Look up the writing of Kim Berry, John Miano, and Norm Matloff for more.
For most companies, it's all about competing on COST instead of QUALITY of work. Example: A lot of internal-corporate software is now written in Java, instead of a better, more efficient language simply because the cheapest engineers have been trained in Java, to the exclusion of everything else.
I didn't say Google became part of the State. I'm talking about the mentality that everyone is stupid and needs taken care of. That mentality IS called "Nanny State", especially when the corporations doing is would LOVE to have state-like powers.
This is what happens get when (collectively) we try too hard to coddle the idiots will believe anything, click on anything, and download anything.
[on whether to help the Klingons]
Captain James T. Kirk: They're animals.
Captain Spock: Jim, there is an historic opportunity here.
Captain James T. Kirk: Don't believe them. Don't trust them.
Captain Spock: They're dying.
Captain James T. Kirk: Let them die!
[pauses... Spock cocks his head in surprise.
Honestly, folks, what makes you think any Klingons, err, microsofties can be trusted in this day and age?
or maybe this is closer to home:
Steve Jobs (from Pirates of Silly Valley): "Dead culture in a crumbling castle"...
They're just saying "nice doggy" until they can find a rock. Maybe this is what the teachers meant when they said: "Those who don't study history are doomed to repeat it".
Or how many times do you insist on touching that hot stove? Really. They need us more than we need them. Ignore them, move along, nothing to see...
Yes, GMail for domains includes the very same mobile interface that regular GMail does. I access mine via Treo 650p all the time, and it just rocks!
Piss away your time if you like, but I have better things to do.
I'm a very small webhost provider (< 20 domains), and for me, it was a no brainer to get all my customers to get GMail for Domains, point all their MX records to Google, and wash my hands of the SPAM. I use it for all my personal domains as well. Google does a far better job of SPAM filtering than I ever could with SpamAssassin and the blacklists thing... and for this small set of users (< 50 people total), it just wasn't worth it. My tech life got a lot easier when I decided I wasn't going to mess with email anymore, just like the day I decided I was going to ignore Microsoft's APIs. Both are losing propositions in the extreme. So, for me, Google is a VERY useful partner. And I like their web/chat interface too, both the browser version and the mobile edition, which I access from my Treo 650.
It doesn't matter if Microsoft has 100% stranglehold in a particular subspecialty or even none at all. Their entire mindset (backed up by long, painful histories) makes them unworthy of any trust or legitimacy, even in a totally new field .
I wouldn't trust them with changing my cat's litter box, either.
Oh, and this isn't anti-Microsoft specifically. Anyone with 20+ years in the industry can identify the bad players, and learn to mistrust everything they do until they rehabilitate. Remember when the bad guy used to be IBM? They have since shaped up, and are even hip in some circles now. The bad guy in 10 more years could be anybody. Have the maturity it takes to see the patterns; it's not hard!
Come on, guys - how many times you have to be bitten by these monopolists to realize that they can't be trusted? Or put another way, we (developers) write the rules now, and we don't have to let them in! Or as James T. Kirk said: "Let them die!"
Just start all free/libre/open stuff to begin with, and you'll never be troubled with this again. Leave the closed guys out of the game. Deny them access to the gene pool. They don't need to be mucking up your systems at all!
I must say, we parted on very cordial terms, and he eagerly contracted to me a couple years later when I left the new gig, and become self-employed.
Of course, this particular boss had never driven me into the ground with too much work, or otherwise abused me. The reason I left was for more technically challenging work - the year was 1995 and the rest of the world was getting into Objects, C++ and Java, and we were still doing vt100-style 80x24 terminal apps in K&R C.
It does sound do me like your boss didn't have a good relationship, so in your case, I wouldn't lift too many fingers to help out.
All my users use Word as a helper application, which they think is great, but it makes me cringe to think of more invocations of an MS product.
I would loved to try producing the PDF, XSL/FO and Postscript outputs via XSL transformations, just haven't had the time to try it yet. I'm sure they would yield better results, so go for it!
There is a much larger set of peers in the open source world than you'll ever get in just one company. That is when peer review really scales.
One of the reasons Open Source never really took off on Windows is because there has NEVER been a free C/C++ compiler thrown in with every copy. (Cygwin's gcc really isn't a Windows C compiler: it lacks the Win32 headers, MFC, etc. It's more of a Win32 port of Unix tools). Traditionally, Unix ALWAYS came with a compiler (except for the late 80s when Sun/HP/SCO unbundled it, trying to get more $$). Most Linux and BSD distributions have ALWAYS had a C/C++ compiler.
Code reviews may be a fact of life in your cube farm, but in mine (and anecdotally, in most places I've worked in), they are NOT. Believe me, if I had the authority in my company to mandate it, I would have done so long ago.
In fact, in the primary project I've developed in my current job, I've been the SOLE developer from day one. I know no one has seen it, but I develop like it was going to be GPL'd.
Also, (correct me if I'm wrong), but Joel seems to have been weaned almost entirely on the Microsoft side of programming. It's not surprising that he didn't get it all the first time (hint: go read ESR's entire site).
It just goes to show you all this corporate bullshit doesn't buy you much. It is the experience and judgment of great programmers that builds quality systems, not the shiny company logo, not the weasely sales team or anyone else.
Success is zero. Anything else indicates a problem.
It's another one of those wonderful things that makes scripting nice and easy, but the users don't even know about.
Is it REALLY asking that much for end users to spend a few weeks learning some computer basics? I mean, people will fritter away time on so many non-productive things (games, reality TV, sports, etc).
Good craftsmen always care about the quality
of their work, no matter what. What I
am saying is that more care will be
put into work when it is a certainty
that others will look, and judge.
True, in the Unix world, one makes your source code available to give others the chance to further improve and customize the system, but by making it available, it means OTHER PROGRAMMERS WILL SEE HOW GOOD (or bad) YOU ARE. Because of this, most open source developers will want to put in the extra effort to do it right / clean it up / make it elegant/compatible (or at least the best of their ability).
Most open-source developers are happy to learn and grow by reading suggestions and examining patches submitting by their 'users' (obviously, the ones who submit patches are programmers as well).
In the Windows world, source code is a closely guarded secret. No one is going to see THAT source code, so who cares?
The VP of IS, however, handled it as well as I could have asked for: he asked me if I had done anything unusual on that PC on that day, and in fact, I had. I had just downloaded and tried out Microsoft's Services for Unix package (an early beta), which had, (among other things) NFS browsing and mounting.
He asked for me to put that package through it's paces again, while he watched, AND had those IT people monitoring their logs in real time. The 'alarming' entries were simply attempts to NFS mounts to servers that did not have my PC in their /etc/exportfs file (without such entries, you do NOT get access). I fired up the program,
went through everything I could, and immediately
gave the IT snoops a second heart attack.
I was off the hook immediately because I was able to replicate the scary log entries at will, and show that they were done with a widely available piece of Microsoft code.
I was fully exonerated, and both my bodyshop-manager AND the VP of IP were impressed that I, firstly, did not panic, and second, that I knew my technical material like the back of my hand.
I do realize, of course, that I was lucky to have my client's VP on my side AND with clue. Your mileage will probably come up short. :-(
That was also the last time I tried any new Microsoft software (not even safe to try!)
By "Steaming", I guess I was referring to the notion that all programmers are interchangable, even recent grads from third-world countries lacking basic infrastructure. (Think: steaming pile of ______).
But upon further reflection, there are plenty of American 'coders' glutting the market who have only recently discovered there are actually programs other than shoot-em-up games. They are equally ill-equipped to design and run mission-critical business applications, yet they get snapped up for being cheap.
I am always prepared to compete (and win) on merits, but it getting harder to win against people who only ask for mere pennies on the dollar in wages. (now I know why Gates hates Linux so much!)
Maybe 'steaming' is also applicable to my increasingly bad attitude about this topic. (surely we can agree on that!)
best regards, tim
That was not my point. The point is, if a place doesn't have enough infrastructure/education/people who can make a car, it is foolish to think that such a place can handle the latest software technology. The executives farm the work out anyway, get shoddy work (most of the time), but are still delighted that it only cost a fraction of what experienced Western programmers cost.
All these electricity problems are exactly what I'm talking about.
From what I've seen of foreign labor (since 1990), there's the occassional whiz who knows his stuff, lots of mediocrity, but mostly people who saw their first computer in their third year of university, and those people are just AWFUL (in skills, anyway).
Q: How can a person with such limited exposure to the culture of computers possible do quality work like an American or European who has been coding since pre-puberty? A: THEY CAN'T! But if they're cheap enough, the CEOs will gladly do the deal.
Most of the executive set I know (yes, in the USA) wouldn't consider buying an AUTOMOBILE from a third-world country like that, but they will do anything to have IT design (at least as complicated, when done properly) done in such places.
Something to think about...