Yes, I know. But as an early Windows developer, I got to hear the preachings of Microsoft about the Windows Styles - and not just according to me, but according to their own Windows 3.1 Style Guide information, you should NEVER stick something on a right-click menu that isn't also available BOTH via a regular menu and a keyboard option.
Right Click is not an option for some of us, in certain situations (think disabilities...)
Thanks. I read a lot of articles and posts from people who hate the ribbon, and Microsoft defends it. But I hadn't seen anyone try to explain why it's hated. So I took a shot. And the more I wrote, the madder I got!
I agree that one man's trash is another man's treasure... but...
I don't even see the Windows logo orb as a legitimate "obvious" menu choice. EVER.
ANYTHING that's on that logo button should be considered LOST. It's not obvious that the logo is something you should click on (except *maybe* to go to Microsoft's Home page or something).
That's what started this thread - the poor guy asked a legit question about how to print - and after you stare at all the pretty pictures and icons, there's not a damn print icon because it's been relegated to a hidden spot behind a logo with no name or meaning. It's out of alignment with every "intuitive" icon, and has a picture of a windows logo (which has NOTHING to do with Print OR Properties).
Properties, on the other hand, is information about the document. What that has to do with Prepare, I'll never know. Now "View" - that's an option, and View Properties is a common design pattern. That would make sense to me. Even Review Properties, or possibly Page Layout / Properties. But "Windows orb / Prepare / Properties"?? Sorry, that is not intuitive.
From the numerous documents that I receive that have garbage in the properties, I'd venture a guess that 90% of the users don't even know that's hidden back there, so I think the majority is on my side on this one - they just don't know it.
The Properties are hidden too! (Personally, I take issue with Microsoft's logic that they are going to embed hidden properties (specifically, Title, Author, and Company name) in a place that they can't easily be found, so that when I post a document (or send it to someone), it can't easily be anonymous.) Now that I have found Properties, I routinely check it on documents sent to me, as it's always a source of entertainment, especially on Resumes.
For the record, Properties are conveniently located under "Windows Orb / Prepare" of all places!
... or how about the "Find" button. Holy shit, I have spent cumulative HOURS looking for that in each Microsoft Ribbon product, BECAUSE IT MOVES AROUND! In MS Word, it's on the Home tab, under Editing (but if the window is maximized then it appears to the right listed *separately*. If it's not maximized, then you have to click on "Editing" to discover it.
Oh, but in Outlook, in the Inbox display, I see "Find" under the "Edit" menu item (not sure why I don't see a ribbon, but I am thankful). Until I want to read an email - then the Ribbon appears, and "Find" is hidden to the right. This time, it's on the "Message" Tab, on a "Find" button, not an "Editing" Button as it was in Word... Until you press Reply. Then it's GONE. Of course, it's now moved so that it's under the "Format Text" tab under an "Editing" button.
But wait, there's more: In Excel, it's on the "Home" tab, under "Editing", "Find and Select". Intuitive!
Don't get me started about Excel. Want to insert a row? Oh there's an "Insert" tab - let's look there. Our options are..."Pivot Table", "Table", "Picture", "Clip Art", "Shapes", "SmartArt", "Column", "Line", "Pie", "Bar", "Area", "Scatter", "Other Charts", "Hyperlink", "Text Box", "Header & Footer", "WordArt", "Signature Line", "Object", and "Symbol". Is ANY ONE OF THOSE used more than INSERT A ROW??? NO!
I would say that Inserting a ROW is a FUNDAMENTAL Spreadsheet option, done (by me) more frequently than EVERY ONE OF THOSE options combined! But where is it?
Turns out "Insert a Row" is not on the "Insert" Tab! How intuitive! It's on the "Home" tab! Brilliant!
And it's under "Cells / Insert". ("Cells Insert" can insert cells, sheet, sheet rows and sheet columns.) Clearly something is mislabeled: "Cells/Insert Cells" vs. "Cell/Insert Sheet Rows" makes no sense (that is, if inserting rows belongs under "Cells", then clearly it belongs under "Insert Cells" as well.)
Want to change the "Format" of an email that you're about to send? Change the "Format" from Plain Text to HTML? Clearly that'd be on the "Format Text" tab. ooooooh no. it's not. It's on the "Options" Tab, under "Format". Why would "Format" not be on the "Format Text" tab? What the hell!???? (probably no room for it there, because "FIND" is taking up space)
Who organized this shit? Usability experts my ass!
I'd hardly call $150 Million a controlling share. Microsoft bought about 8 Million shares, and there are about 800 million shares currently outstanding. So approximately 1% of current - or 4% accounting for the 2000 and 2005 2:1 splits (each).
* figures based on cnet article linked above ($150M/$19) and current stock price and market cap. This doesn't take into account new issues or share buybacks, which likely do not materially affect my case.
The entire point of the paper was "If you send a request and you don't get a response back for a while, something probably went wrong." I read over it a couple times, hoping I was missing something that actually had substance to it. No luck.
It was probably an attempt to satisfy the author's "[citation needed]" request in Wikipedia.
Sexual recombination in an evolving population is almost infinitely more powerful. There's some deep mathematics behind the power of sexual recombination, but it is so powerful that essentially all species above bacteria have seized on it.
Shit, I always just say "want to go up to my room to see my etchings?" Good to hear what lines my competition is using!
Good post. But that doesn't address the user interface issue. Do you allow them to delete or not? Do you allow the USER to recover deleted records or not? I really didn't want the IT department to get all the "can you undelete this for me" phone calls. (This brings up the whole issue of audit trails of the IT department!)
As I recall, there were two concerns with "Mark as bad". One, the concern that someone skimming the information would miss the notation that this was bad data. Read 1000 notes about a patient, and overlook that #539, which mentioned an allergy to penicillin, was marked as erroneous.
The other problem that was mentioned was HIPAA compliance. Here's a real scenario (embellished and names changed): a worker was very specific in editing Bob Jones' records, but they were putting the data into the wrong patient record: "I informed the parents (Sam and Betty DeAngelo) that their baby had congenital herpes."
HIPAA rules violation because doctors, nurses, and potentially family members of Bob Jones (as well as the legal system) now have access to the DeAngelo records, when they have no medical reason to. So you have to be able to delete that information!
This contract was done by the company not the contractor, and protects the company. But there may be some useful tidbits in there.
I think the important thing is to establish the scope of work (or do it hourly), the code ownership (work for hire? or are you trying to retain some rights to use the code later?), the relationship (not an employee relationship, a contractor), the payment terms, and the warranty / support (if I were you I'd say no warranty is implied; if you want me to support it, it'll be a separate deal and more money.)
Note, this is an EXAMPLE only. Use at your own risk. I am not a lawyer!
Contractor Agreement
This Agreement is made effective as of July 1, 2008 by and between [insert developer's name and address] and [insert company name and address].
In this Agreement, the party who is contracting to receive services shall be referred to as "[company name]", and the party who will be providing the services shall be referred to as "The Consultant".
The Consultant has a background in web page design and is willing to provide services to [company name] based on this background.
[company name] desires to have services provided by the Consultant.
Therefore, the parties agree as follows:
1. DESCRIPTION OF SERVICES. Beginning on _July 1, 2008 the Consultant will provide the following services, (collectively the "Services"): web application development.
2. PERFORMANCE OF SERVICES. The manner in which the Services are to be performed and the specific hours to be worked by the Consultant shall be determined by the Consultant. "[company name]" will rely on the Consultant to work as many hours as may be reasonably necessary to fulfill the Consultantâ(TM)s obligations under this Agreement.
3. PAYMENT. [company name] will pay a fee to the Consultant for Services based an hourly rate of $[rate] per hour, at an expected rate of 20 hours per week. This fee shall be payable monthly, no later than 10 days after the end of each applicable month during which the services were performed. Upon termination of this Agreement, payments under this paragraph shall cease; provided, however, that the Consultant shall be entitled to payments for periods or partial periods that occurred to the date of termination and for which the Consultant has not yet been paid.
4. TERM/TERMINATION. This Agreement may be terminated by either party upon 10 day written notice to the other party.
5. RELATIONSHIP OF PARTIES. It is understood by the parties that the Consultant is independent with respect to [company name]. [company name] will not provide fringe benefits, including health insurance benefits, paid vacation, or any other employee benefit to the Consultant.
6. DISCLOSURE. The Consultant is required to disclose any outside activities or interests, including ownership or participation in the development of prior inventions, that conflict or may conflict with the best interests of [company name]. Prompt disclosure is required under this paragraph if the activity or interest is related, directly or indirectly, to:
â a product or service of [company name]
â any activity that the Consultant may be involved with on behalf of [company name]
7. INTELLECTUAL PROPERTY. The following provisions shall apply with respect to copyrightable works, ideas, discoveries, inventions, applications for patents, and patents (collectively, "Intellectual Property"):
a. Consultantâ(TM)s Intellectual Property. The Consultant does not personally hold any interest in any Intellectual Property unless agreed upon in writing by both parties.
b. Development of Intellectual Property. Any improvements to Intellectual Property and any new items of Intellectual Property discovered or developed by the Consultant (or the Consultantâ(TM)s employees, if any) during the term of this agreement shall be the property of [company name]. The consultant shall sign all documents necessary to perfect the
While I'm a firm believer in checklists, I have my doubts about the study. It sounds to me like this might have been conducted by a guy who has a bias toward having checklists (which I do too).
It'd be difficult to measure how many lives were saved by the checklist (as opposed to other factors). I bet he looked at the deaths, and then looked for mistakes in procedures (that could have been avoided with a checklist).
But there are some serious issues with this methodology. Were these patients going to die of something else? Would the checklist have prevented the mistake? And how many patients inadvertently lived due to mistakes that would have died, had checklist procedures been followed?
This message was posted in Slashdot tradition - without reading the article.
Your comment reminds me of a programming anecdote that I have told here before. We are responsible for a software package that coincidentally has patient data in it (but this applies to all sorts of applications).
The medical staff was supposed to log all interactions, which range from medicines administered to having a conversation with the patient or parent/guardian. Everything was to be logged, so that nothing was forgotten. And nothing could ever be deleted, by design.
Well, people made mistakes (the nerve of them!), and sometimes a record would be entered on the wrong patient, and you'd really WANT to delete that misleading information. This spawned numerous debates as to whether the we should really remove the erroneous information, or mark it as bad information. For instance, if Note 5 was that a certain drug was administered, and a Doctor relied on Note 5's misinformation to do whatever was done in Note 6, by deleting Note 5, you remove the defense and rationale of the Doctor.
Likewise, if you allow temporary removal of a note, then you allow someone to "undelete", you could end up in a similarly indefensible position. Note 5 correctly says that full dosage was administered at 10PM. Note 5 gets inadvertently deleted (recycle bin). At 10:05, a nurse sees that no dosage has been administered, so administers another full dosage, and logs it as Note 6. Someone undeletes Note 5, and makes the nurse look incompetent. Patient dies. Nurse got framed. All bad.
After all these discussions, at the direction of the administration, we built a permanent delete function, so that these erroneous notes could be permanently removed. No "recycle bin". Heavy logging of what transpired and when. And an alert window warning the user that they are about to perform an irreversible action of delete.
... and the "known data blindness" (or something like it) caused people to click through the warnings. How many Windows Alert boxes do users get per day, where they just press OK. Well, we kept getting requests to "undelete something that I just deleted", even though we warned them with a Windows Alert box.
So we made the warning bigger and longer and wordier. And the rate of calls to undelete something went UP.
Finally we changed the alert box to prompt the user to do something different. In order to complete the Delete function, the user had to key in the word "irreversible" into the alert prompt.
I have never ever had an indentation error in Python "still run". I'll get an indentation error.
I HAVE struggled NUMEROUS times debugging poorly indented code (mine and other's) which was compiling fine, but executing counter-intuitively due to the mis-alignment. (BUT NEVER IN PYTHON!)
I have never ever had an indentation error in Python "still run". I'll get an indentation error.
I HAVE struggled NUMEROUS times debugging poorly indented code (mine and other's) which was compiling fine, but executing counter-intuitively due to the mis-alignment.
I think the real issue with Tabs is the multiple meanings for them. You described some: tab means 2, 3, 4, 8 spaces (but a fixed number of spaces for each tab). But traditionally, Tabs mean "move to the next tab stop". Think old Typewriter. When you pressed the tab key, the spring-loaded carriage was freed to move left on its own, until it hit a stop. So if you had your tab-stops set every 5 characters, then pressing the tab button would insert 1, 2, 3, 4, or 5 spaces depending on the current position of the carriage!
To me, this style of tab makes a lot more sense. It helps you align columns. It does NOT insert a fixed number of spaces.
The lack of standardization of editors, plus the lack of standardization of user preferences makes the situation worse!
Paul Allen got pretty sick during the early years of Microsoft. According to Cringely, Allen overheard Gates and Balmer scheming to re-capture the portion of the company that he owned:
You left off a significant detail. Allen overheard Gates and Balmer scheming to re-capture the portion of the company that he owned if Allen were to die.
From the link in your post:
During one of those last long nights working to deliver DOS 2.0 in early 1983, I am told that Paul Allen heard Gates and Ballmer discussing his health and talking about how to get his Microsoft shares back if Allen were to die.
Small and mid-sized companies with large non-involved owners who inherit stock are poorly structured. Any founders with a little experience or a little forethought set up buy-sell agreements for exactly this eventuality. Sounds like they didn't have the forethought to set it up at the time of the founding. And so they were working on how to deal with the reality that one of their largest shareholders was facing the real possibility of death.
Bill Gates has done some awful things, but I don't think this is one of them.
True Part:
In Python version 2, 1/2 = 1 (integer math)
In Python version 3, 1/2 =0.5 (floating point math)
Funny part: You can do some math on the version number and it comes out the same, even though the version number has changed. Because the divide operation changed too.
wait, it's not so funny after all. What was I smoking?
Do over.... (shoulda installed Python 3 and tried it! oh well) I think this version might work a little better...
Dang, my FIRST slashdot mistake!
GREAT!
Interestingly, it IS backwards compatible in areas that you wouldn't think it should be. For instance, the following program takes the version number, adds one to it, and divides by two. You'd think it'd give a different answer between version 3 and version 2. Glad they kept this program working for me, as it's the secret production code that runs my multi-million dollar business.
import sys
version=int(sys.version[0])
print (-version+1)/2
Prints -1 in either version. (on the bright side, 1/2 is now 0.5!)
Changelog: added two minus signs. Is that better? Am I going too far with this?
It's rumored that this same consultant is trying to get a footer placed on every outbound email that says "Don't print this email. Save a Tree."
Right Click is not an option for some of us, in certain situations (think disabilities...)
Thanks. I read a lot of articles and posts from people who hate the ribbon, and Microsoft defends it. But I hadn't seen anyone try to explain why it's hated. So I took a shot. And the more I wrote, the madder I got!
I don't even see the Windows logo orb as a legitimate "obvious" menu choice. EVER.
ANYTHING that's on that logo button should be considered LOST. It's not obvious that the logo is something you should click on (except *maybe* to go to Microsoft's Home page or something).
That's what started this thread - the poor guy asked a legit question about how to print - and after you stare at all the pretty pictures and icons, there's not a damn print icon because it's been relegated to a hidden spot behind a logo with no name or meaning. It's out of alignment with every "intuitive" icon, and has a picture of a windows logo (which has NOTHING to do with Print OR Properties).
Properties, on the other hand, is information about the document. What that has to do with Prepare, I'll never know. Now "View" - that's an option, and View Properties is a common design pattern. That would make sense to me. Even Review Properties, or possibly Page Layout / Properties. But "Windows orb / Prepare / Properties"?? Sorry, that is not intuitive.
From the numerous documents that I receive that have garbage in the properties, I'd venture a guess that 90% of the users don't even know that's hidden back there, so I think the majority is on my side on this one - they just don't know it.
Exactly! Print is hidden! How stupid!
The Properties are hidden too! (Personally, I take issue with Microsoft's logic that they are going to embed hidden properties (specifically, Title, Author, and Company name) in a place that they can't easily be found, so that when I post a document (or send it to someone), it can't easily be anonymous.) Now that I have found Properties, I routinely check it on documents sent to me, as it's always a source of entertainment, especially on Resumes.
For the record, Properties are conveniently located under "Windows Orb / Prepare" of all places!
Oh, but in Outlook, in the Inbox display, I see "Find" under the "Edit" menu item (not sure why I don't see a ribbon, but I am thankful). Until I want to read an email - then the Ribbon appears, and "Find" is hidden to the right. This time, it's on the "Message" Tab, on a "Find" button, not an "Editing" Button as it was in Word... Until you press Reply. Then it's GONE. Of course, it's now moved so that it's under the "Format Text" tab under an "Editing" button.
But wait, there's more: In Excel, it's on the "Home" tab, under "Editing", "Find and Select". Intuitive!
Don't get me started about Excel. Want to insert a row? Oh there's an "Insert" tab - let's look there. Our options are..."Pivot Table", "Table", "Picture", "Clip Art", "Shapes", "SmartArt", "Column", "Line", "Pie", "Bar", "Area", "Scatter", "Other Charts", "Hyperlink", "Text Box", "Header & Footer", "WordArt", "Signature Line", "Object", and "Symbol". Is ANY ONE OF THOSE used more than INSERT A ROW??? NO!
I would say that Inserting a ROW is a FUNDAMENTAL Spreadsheet option, done (by me) more frequently than EVERY ONE OF THOSE options combined! But where is it?
Turns out "Insert a Row" is not on the "Insert" Tab! How intuitive! It's on the "Home" tab! Brilliant! And it's under "Cells / Insert". ("Cells Insert" can insert cells, sheet, sheet rows and sheet columns.) Clearly something is mislabeled: "Cells/Insert Cells" vs. "Cell/Insert Sheet Rows" makes no sense (that is, if inserting rows belongs under "Cells", then clearly it belongs under "Insert Cells" as well.)
Want to change the "Format" of an email that you're about to send? Change the "Format" from Plain Text to HTML? Clearly that'd be on the "Format Text" tab. ooooooh no. it's not. It's on the "Options" Tab, under "Format". Why would "Format" not be on the "Format Text" tab? What the hell!???? (probably no room for it there, because "FIND" is taking up space)
Who organized this shit? Usability experts my ass!
</rant>
I'd hardly call $150 Million a controlling share. Microsoft bought about 8 Million shares, and there are about 800 million shares currently outstanding. So approximately 1% of current - or 4% accounting for the 2000 and 2005 2:1 splits (each).
* figures based on cnet article linked above ($150M/$19) and current stock price and market cap. This doesn't take into account new issues or share buybacks, which likely do not materially affect my case.
It was probably an attempt to satisfy the author's "[citation needed]" request in Wikipedia.
It's like Library of Congresses being offended by Station Wagons full of Mag Tapes.
THANK YOU!
Internet Explorer has a serious vulnerability != news
Microsoft advises users to switch to an alternate browser = HUGE news (also false!)
Shit, I always just say "want to go up to my room to see my etchings?" Good to hear what lines my competition is using!
Good post. But that doesn't address the user interface issue. Do you allow them to delete or not? Do you allow the USER to recover deleted records or not? I really didn't want the IT department to get all the "can you undelete this for me" phone calls. (This brings up the whole issue of audit trails of the IT department!)
As I recall, there were two concerns with "Mark as bad". One, the concern that someone skimming the information would miss the notation that this was bad data. Read 1000 notes about a patient, and overlook that #539, which mentioned an allergy to penicillin, was marked as erroneous.
The other problem that was mentioned was HIPAA compliance. Here's a real scenario (embellished and names changed): a worker was very specific in editing Bob Jones' records, but they were putting the data into the wrong patient record: "I informed the parents (Sam and Betty DeAngelo) that their baby had congenital herpes."
HIPAA rules violation because doctors, nurses, and potentially family members of Bob Jones (as well as the legal system) now have access to the DeAngelo records, when they have no medical reason to. So you have to be able to delete that information!
This contract was done by the company not the contractor, and protects the company. But there may be some useful tidbits in there.
I think the important thing is to establish the scope of work (or do it hourly), the code ownership (work for hire? or are you trying to retain some rights to use the code later?), the relationship (not an employee relationship, a contractor), the payment terms, and the warranty / support (if I were you I'd say no warranty is implied; if you want me to support it, it'll be a separate deal and more money.)
Note, this is an EXAMPLE only. Use at your own risk. I am not a lawyer!
Contractor Agreement
This Agreement is made effective as of July 1, 2008 by and between [insert developer's name and address] and [insert company name and address].
In this Agreement, the party who is contracting to receive services shall be referred to as "[company name]", and the party who will be providing the services shall be referred to as "The Consultant".
The Consultant has a background in web page design and is willing to provide services to [company name] based on this background.
[company name] desires to have services provided by the Consultant.
Therefore, the parties agree as follows:
1. DESCRIPTION OF SERVICES. Beginning on _July 1, 2008 the Consultant will provide the following services, (collectively the "Services"): web application development.
2. PERFORMANCE OF SERVICES. The manner in which the Services are to be performed and the specific hours to be worked by the Consultant shall be determined by the Consultant. "[company name]" will rely on the Consultant to work as many hours as may be reasonably necessary to fulfill the Consultantâ(TM)s obligations under this Agreement.
3. PAYMENT. [company name] will pay a fee to the Consultant for Services based an hourly rate of $[rate] per hour, at an expected rate of 20 hours per week. This fee shall be payable monthly, no later than 10 days after the end of each applicable month during which the services were performed. Upon termination of this Agreement, payments under this paragraph shall cease; provided, however, that the Consultant shall be entitled to payments for periods or partial periods that occurred to the date of termination and for which the Consultant has not yet been paid.
4. TERM/TERMINATION. This Agreement may be terminated by either party upon 10 day written notice to the other party.
5. RELATIONSHIP OF PARTIES. It is understood by the parties that the Consultant is independent with respect to [company name]. [company name] will not provide fringe benefits, including health insurance benefits, paid vacation, or any other employee benefit to the Consultant.
6. DISCLOSURE. The Consultant is required to disclose any outside activities or interests, including ownership or participation in the development of prior inventions, that conflict or may conflict with the best interests of [company name]. Prompt disclosure is required under this paragraph if the activity or interest is related, directly or indirectly, to: â a product or service of [company name] â any activity that the Consultant may be involved with on behalf of [company name]
7. INTELLECTUAL PROPERTY. The following provisions shall apply with respect to copyrightable works, ideas, discoveries, inventions, applications for patents, and patents (collectively, "Intellectual Property"):
a. Consultantâ(TM)s Intellectual Property. The Consultant does not personally hold any interest in any Intellectual Property unless agreed upon in writing by both parties.
b. Development of Intellectual Property. Any improvements to Intellectual Property and any new items of Intellectual Property discovered or developed by the Consultant (or the Consultantâ(TM)s employees, if any) during the term of this agreement shall be the property of [company name]. The consultant shall sign all documents necessary to perfect the
While I'm a firm believer in checklists, I have my doubts about the study. It sounds to me like this might have been conducted by a guy who has a bias toward having checklists (which I do too).
It'd be difficult to measure how many lives were saved by the checklist (as opposed to other factors). I bet he looked at the deaths, and then looked for mistakes in procedures (that could have been avoided with a checklist).
But there are some serious issues with this methodology. Were these patients going to die of something else? Would the checklist have prevented the mistake? And how many patients inadvertently lived due to mistakes that would have died, had checklist procedures been followed?
This message was posted in Slashdot tradition - without reading the article.
Bigger news! 28,000 more people died!
The medical staff was supposed to log all interactions, which range from medicines administered to having a conversation with the patient or parent/guardian. Everything was to be logged, so that nothing was forgotten. And nothing could ever be deleted, by design.
Well, people made mistakes (the nerve of them!), and sometimes a record would be entered on the wrong patient, and you'd really WANT to delete that misleading information. This spawned numerous debates as to whether the we should really remove the erroneous information, or mark it as bad information. For instance, if Note 5 was that a certain drug was administered, and a Doctor relied on Note 5's misinformation to do whatever was done in Note 6, by deleting Note 5, you remove the defense and rationale of the Doctor.
Likewise, if you allow temporary removal of a note, then you allow someone to "undelete", you could end up in a similarly indefensible position. Note 5 correctly says that full dosage was administered at 10PM. Note 5 gets inadvertently deleted (recycle bin). At 10:05, a nurse sees that no dosage has been administered, so administers another full dosage, and logs it as Note 6. Someone undeletes Note 5, and makes the nurse look incompetent. Patient dies. Nurse got framed. All bad.
After all these discussions, at the direction of the administration, we built a permanent delete function, so that these erroneous notes could be permanently removed. No "recycle bin". Heavy logging of what transpired and when. And an alert window warning the user that they are about to perform an irreversible action of delete.
So we made the warning bigger and longer and wordier. And the rate of calls to undelete something went UP.
Finally we changed the alert box to prompt the user to do something different. In order to complete the Delete function, the user had to key in the word "irreversible" into the alert prompt.
Requests to undelete went down to near-zero.
I HAVE struggled NUMEROUS times debugging poorly indented code (mine and other's) which was compiling fine, but executing counter-intuitively due to the mis-alignment. (BUT NEVER IN PYTHON!)
I HAVE struggled NUMEROUS times debugging poorly indented code (mine and other's) which was compiling fine, but executing counter-intuitively due to the mis-alignment.
I think the real issue with Tabs is the multiple meanings for them. You described some: tab means 2, 3, 4, 8 spaces (but a fixed number of spaces for each tab). But traditionally, Tabs mean "move to the next tab stop". Think old Typewriter. When you pressed the tab key, the spring-loaded carriage was freed to move left on its own, until it hit a stop. So if you had your tab-stops set every 5 characters, then pressing the tab button would insert 1, 2, 3, 4, or 5 spaces depending on the current position of the carriage!
To me, this style of tab makes a lot more sense. It helps you align columns. It does NOT insert a fixed number of spaces.
The lack of standardization of editors, plus the lack of standardization of user preferences makes the situation worse!
You left off a significant detail. Allen overheard Gates and Balmer scheming to re-capture the portion of the company that he owned if Allen were to die.
From the link in your post:
Small and mid-sized companies with large non-involved owners who inherit stock are poorly structured. Any founders with a little experience or a little forethought set up buy-sell agreements for exactly this eventuality. Sounds like they didn't have the forethought to set it up at the time of the founding. And so they were working on how to deal with the reality that one of their largest shareholders was facing the real possibility of death.
Bill Gates has done some awful things, but I don't think this is one of them.
congrats, you passed the test. I was an epic fail. tried to post while working. bad mistake!
Sorry, I was sober when I wrote that.
True Part:
In Python version 2, 1/2 = 1 (integer math)
In Python version 3, 1/2 =0.5 (floating point math)
Funny part:
You can do some math on the version number and it comes out the same, even though the version number has changed. Because the divide operation changed too.
wait, it's not so funny after all. What was I smoking?
Dang, my FIRST slashdot mistake!
GREAT!
Interestingly, it IS backwards compatible in areas that you wouldn't think it should be. For instance, the following program takes the version number, adds one to it, and divides by two. You'd think it'd give a different answer between version 3 and version 2. Glad they kept this program working for me, as it's the secret production code that runs my multi-million dollar business.
import sys
version=int(sys.version[0])
print (-version+1)/2
Prints -1 in either version. (on the bright side, 1/2 is now 0.5!)
Changelog: added two minus signs. Is that better? Am I going too far with this?
oops I really screwed that joke up... crap. somebody fix it.. you know what I was trying to do!