We are glad to see you well. Have you eaten any of the beef you bought last week?
CUSTOMER: Um, yes. At dinner last night. Was good.
{Pushing red button alerting 911}
We would like to inform you that the beef you bought last week has a 90% chance of making you very ill and a 23% chance of killing you. We are providing an ambulance to the hospital as a free service. We'll move your cart to the freezer so you can recover it if you survive. Thank you for shopping and please follow the EMTs.
--- Mailing postcards would be bad because they are not secure. Letters may be ignored by people assuming they are advertisements. (How many credit card applications have "Urgent" written on the envelope? How many people throw any mail with "Urgent" written on it directly into the shredder?)
Most people shop for food once a week. Notifying them at the cash register may be faster than mailing them anything.
Google just passed 1,000 employees, with around 650 full-timers having stock options. (We had a recent discussion about this when it was announced they were going public.)
So maybe 12,000 includes all Google's employees, their families and closest friends? Or maybe it includes their suppliers and customers?
Free bonus! Buy an ad on Google and get invitied to join Orkut!
(You have my apologies for nitpicking a funny post.)
I need Mozilla to add the ability to use "Word Definition" search at dictionary.com, preferably without losing the "Web Search" with google.
I tried to research "simulated annealing". I have not seen so many words that I did not know on one page in a long time. The last time I even saw 2 words I did not know, they turned out to have been just-invented marketing buzzwords. This probably means I am not experiencing enough new bodies of knowledge. Thank you for expanding my mind.
Anyway, "simulated annealing" seems to mean slowing things down until they reach a stable form. (Please correct me.)
Dreaming is about creating new information by randomly connecting existing information. Any new information that proves valid becomes part of the datastore. That information can now be connected to every other piece of information, so there is MORE work to be done, so the system is less stable. (Define stability as the portion of connections that have been checked.)
I am assuming (in the scientific sense) that each data has a score for Accuracy. If it is known False, then Accuracy is 0. If known True, then Accuracy is 100. Some data might be set to "Known Fact", so its accuracy would not be changed by the process. Our model is for every data to be checked against all other data.
(Please excuse the example. I wrote this quickly.) Start with data that includes: 1. Men like women. 2. Women like men. 3. Ellen is a woman's name. 4. Ellen DeGeneres is a woman. (Known Fact) 5. Ellen DeGeneres likes women. (Known Fact)
A connection between #3 and #4 would increase the accuracy of #3. A connection between #4 and #5 would decrease the accuracy of #2. The system would be able to request new input to clarify data about specific objects:
Input: My name is Ellen. Query: Do you think Mike is cute? Input: He is not my type. Query: What is your type?
(I am assuming that any machine that interacts with humans would learn tact quickly or be unplugged.)
The programming for a learning machine that can check new input against all existing data would be very complicated, which is why people who do AI programming tend to do only AI, and the rest of us avoid the area.
There could be a point when all input was processed and the system was stable. So "simulated annealing" could describe that process. But new input must cease, or the system must be fast enough that each input is assimilated before another arrives. A time of "sleep" would stop the input.
Both systems are mentioned in "When H.A.R.L.I.E was One". The periods of irrationality (sleep, dreaming) were needed to correlate the data until that point. Later when HARLIE had enough "proven facts", it could correlate new input in real-time. The book also assumes major breakthroughs in computer technology so HARLIE is really fast.
the main distinction [is] that you are pestering it constantly rather than checking on it rarely.
I might be the one who checks my unconcious rarely so it has time to find a solution. I stay out of its way until it says "OK. Ready. Got time to use this thing?"
OTOH, my concious mind keeps a stream of thought going at all times, so maybe I am "pestering it constantly" when awake, and I use sleep to give my subconcious the quiet it needs to work. That would agree with your: If you're asleep, that part of your mind has nothing better to do than work on whatever incomplete tasks it has from when you were awake. I have great difficulty with activities that require blanking the mind, such as doing meditation or watching TV. Those activities slow my mind until I act almost like a normal person. This fits in your theory.
I am not certain my concious mind is actively involved when writing code. I often refer to it as "flowing from my fingertips." I can carry conversations while my fingers are typing. I regularly multi-task anyway, but I do not even feel involved in the programming process. I rarely "go to the whiteboard." It helps that my applications rarely need other programmers, and when they are involved, their portions are defined by APIs. Either those APIs are part of the specs I am given, or we do not write those APIs until we can see the code (written by my subconcious) and decide how the other parts should interface.
the conscious mind generally takes all the credit
I let managers/clients know that I need to let my subconcious work on a problem. My regular clients will tell me specs before they are needed (which seems rare when reading about the Dibert-esque world.) One of them commented that the quality rises dramatically when I work at home (where I typically take frequent naps rather than fighting to get my conscious mind to deliver solutions during office hours.) Of course they only [want to] pay me based on the number of hours my concious mind is engaged with their work.
My sig "I spend my life entertaining my brain" came from the realization that my subconcious makes many demands. I must write code to make it happy. I must write songs to make it happy. I must write books to make it happy. If I want to go running, I need to bring a book (and trying to read while jogging is not easy) or at least give it music to dissect. My concious mind would be happy eating, sleeping, and practicing reproduction, but my unconcious keeps driving me to do all these creative tasks.
the unconscious mind does all the work, and the conscious mind is a manager.
That is what I was attempting to state. Maybe the wall between them is extra thick for me. Or maybe I have stopped trying to use my concious mind for these I know my unconcious mind is better suited. That delegation would be good management if we were two people. And my last paragraph suggests that my subconcious is often the boss.
I try not to explore this too much. There is the chance that if I understood it, it would stop working (and I enjoy the money my subconcious makes.) There is also the chance that I would be classified insane and locked up.
When I was a child, and needed to stick to our 24-hour-day for school and such, I needed less than 4 hours each night.
When I was addicted to caffeine (late teenager into adulthood), my pattern was sleeping about 2 of each 24 hours, plus a 12-20 hour crash every 2 weeks. This helped with (or was required by) college and 2 jobs.
Since giving up caffeine, my sleep patterns are completely random. Some days I sleep every fourth hour, other times (usually when programming a large but simple project) I am awake for over 24 hours, then sleep for up to 8 hours. I ocassionally have weeks where I only sleep twice, each is about 14 hours.
I think my body requires about 56 hours of sleep every fortnight. It does not care about the pattern, just the total quantity over 2 weeks. This holds whenever I am healthy. Illness or other pain drastically increases the sleep requirement until it is resolved.
Have you read "When H.A.R.L.I.E was One"? It is a great sci-fi about artifical intelligence.
The relevance was that the AI started having periods of irrationality. It used these periods to make random connections to discover what worked. The techies were busy trying to "fix" this behavior, until one of them (our hero) decided that they were a good thing.
I have not heard of any AI programming that includes periods of random fact-matching to simulate sleep. I do not follow the current technology, so if anybody is aware of AIs that are programmed to have a "dream" process, let us know. If it was deliberately programmed, it would probably be better as a constant background process than as a period of unusability. Hopefully we can improve the process rather than reproduce our own limitations.
And why do we need to sleep to dream? Can we be reprogrammed to do it during the day? Or does it require 100% CPU (brain) utilization so we need to switch levels to handle it, like running a firewall at a level that cannot accept extra input?
Yes, I know sleep restores the body as much as letting the brain go wild. Maybe intelligence was developed from our brains going insane (by animal standards) from lack-of-input during the body's forced periods of rest. Our bigger brain meant more insanity than other animals, which became intelligence when the insanity took control of the concious mind.
We covered a similar topic a few days ago (but not a dupe.)
My entries were: Dreaming about programming SUMMARY: I do most of my prgramming while asleep. I get the specs, sleep, work, repeat until release. When I get stuck on an issue, my body wants a nap. When I wake, the answer is there and the code starts flowing from my fingers. If I work on an issue without sleeping first, the code suffers.
Sleep is great for those tough problems EXCERPT: My concious mind is your typical genius type with ADD-like symptoms. My subconcious regularly comes up with world-changing concepts and finds uses for technology that everybody agrees are impossible.
Your conscious and subconscious minds aren't really different things.
I act as if they are completely separate. My concious mind treats my subconcious as its own personal problem-solving machine. I am able to focus my concious mind to the exclusion of eating and sleeping for days, but it is easier and better to just tell my subconcious what I want, then do something else. Easy stuff, like writing code, can take a few minutes. Harder stuff, like remembering bugs or structural flaws in a 10,000 line program, requires a night's sleep (4 hours for me.) Really difficult stuff, like building a complicated data structure with the tools of a limited language, or discovering a more efficient process for tasks, can take a week. One problem took 2 months before my subconcious told me it was ready with a solution.
I am not saying they are completely separate. The 2nd post details that I can break the wall through sleep deprivation for song-writing. But my treating them as separate entities has increased my productivity. My concious mind does the simple fill-in-the-blank code writing; my subconcious does the difficult work; and my productivity is much greater than when I try to do everything with just my concious mind.
Be careful to follow the MS standard when sending UserAgents: Name/#.# (xxx; xxx #.#; xxx)
At least one major webmail program insists on the semicolons. It returns a VB error if it cannot find a semicolon. (Yes, this has more to do with poor programming than the VB language.) This mail program is either used by many websites, or they all hired incompetent programmers.
I discovered this when testing a Java program that retrieves webpages. The UserAgent was originally "Java1.3.1", and kept returning error pages. I knew the error was not in my program since my code was not VB.
The RFC1945 section 3.7 says the product tokens should be "Name#.#". User-Agent is specifically detailed in section 10.15. RFC2068 is the update in sections 3.8 and 14.42. Neither mentions using semicolons, or even using parantheses for additional comments. Just that the product should be a name with an optional "/" and a version number.
NOTE: Java is missing the slash in its product name. Since the slash is to precede the version, "Java1.3.1" is just a product name, and there is no version number. Is this what Sun meant? (This also happened with the IBM JVM, so I assume it is in the specification.)
Since MS started it, most browsers add a paranthesized section to identify their true name, since they all claim to be Mozilla. At least one VB programmer thinks this is the true specification. I wonder what he thinks Mozilla is. (Oops, sexist. Any female want to argue that they can program that poorly too?)
--- If you want to see the error, send a UserAgent without semicolons to "webmail4.mail1.com".
Their homepage says: Univeral Access: Use any software like Outlook
I wonder if they know there is no other software as bad as Outlook, or that Outlook is far from Universal. Or did they mean that using software like Outlook guarantees Universal Access, meaning everybody has access to your data?
Using Mozilla with Yahoo Mail loses functionality. They wrote the Richtext editor to use IFRAME. If you ask for the page from Mozilla, they send a different and less functional page than is it is requested from MSIE. If you tell Mozilla to fake the UserAgent, you receive the page for MSIE, but it is now nonfunctional since Mozilla cannot handle IFRAMES.
I do not know why Yahoo ever used IFRAMEs for this. It does nothing that has not been done many places using a Java Applet.
It could also be handled with a TEXTAREA, if you were willing to display the tags and have a Preview to see what would be displayed. (WYSOWYWGIYHNCASYLCP: What You See Is What You Would Get If You Have Not Changed Anything Since You Last Clicked Preview) That is what we use on Slashdot, but I would expect Yahoo to force a Preview if anything was changed.
Hey, that would be useful here too. Let it return the Preview even if you clicked Submit if what is submitted does not match the previous Submit. It would also slow down the FPers.
--- This information is actually about my father's use of the computer. I rarely use web-based email, and have yet to send an HTML-formatted memo. He used Mozilla 1.3, but reported the same issues after switching to Mozilla 1.5. He used the PrefBar with 1.3. I do not know if he tested faking the UserAgent with 1.5. Anybody know if Mozilla 1.5 can handle IFRAMES? I guess I should test it for him.
My father did try to contact Yahoo. He spent quite some time on toll calls asking if they would fix this. It was very difficult to find someone who would admit to having any authority about the system, and they told him they do not want input about their webmail system, even from paid subscribers.
Maybe they will fix it as the number of companies that do not allow MSIE increases. Maybe they will just lose customers. Isn't Google about to launch googlemail.com? Maybe Google will announce that their webmail is fully standard compliant and will work in Mozilla and Opera as well as it does with MSIE.
I like your post. It is surprisingly insightful from an AC. You should get an account, as most of us tend to ignore the AC posts.
Yes, techies have that great feeling of superiority that comes from being able to do things that nobody else can do. They need to squash that for dealing with management.
The skills needed to be a good techie are very different from the skills needed to be a good manager. When I do management work, I feel that my brain shifts paradigms. At any moment, I can be a techie, or I can be a mannager, but the skills seem to come from different parts of the brains, and are mutually exclusive. I prefer to be a techie, and have income as great as I could get as a manager, so I have no need to "climb the corporate ladder." Obviously, that situation does not apply to all techies, but the stereotype is that we are happy with our jobs and feel little need to move up.
If your IT support staff is as bad as you describe, you should think about replacing them, their standards, and their management. IT should SUPPORT; if they are not doing it well, it hurts the whole company.
Yes, I know that big business spends much money on IT projects. That is why I only need to work a few months of the year.
You realize you ARE one of those "outside salespeople" that I suggested having present the ideas. If you have received 1000 rejections, then you must be a full-time salesperson, regardless of your self-admitted technical skills. You may want to consider focusing your target audience more, but I do not know your product and so cannot give good advice. If you are doing web design work, you may want to concentrate on a single industry or geographical region. Use your successes to directly produce more success in a limited market. Focusing on your knowledge of their business usually produces better than saying "we do web design".
I usually do not directly handle the sales, mostly because I do not like activities that have such a small chance for success. I almost did not do it this time; I had 2 salespeople ready to do the presentations, but neither of them had worked with the customer before. I expected that my personal relationship with the management would have a positive effect. I was wrong. Oops. I did discover I was in a "competitve environment" before I wrote my presentation. I originally thought I was suggesting an innovation, but discovered they were already considering a soution while discussing mine with the line people. I did have the advice of several managers and salespeople about what should be included in the presentation, and how it should be phrased. One of them wrote the Agenda, and another reviewed specific executive buzzwords that would get the ideas across on "their terms". I did my homework.
I consult. Yes, I understand everything, and I had the "elegant solution". I consistently make them happy regardless of their idea; that is why I am a success. Most of your thoughts do not apply to MY situation, but they are good advice for anybody who wants to consult. Remember management does not really understand computers, so if they ask for a "dashboard", find out what they expect to gain from it. The customer is always right, but it is our mission to guide them to achieve the business results by using technology to its best.
the worst thing a company can make is to copy the competition. It gives you no advantage over your competition. You strategy is to rely on mistakes they make otherwise, which is a poor strategy.
I agree totally. A number of managers and line people at the company agree totally. But it only took one manager in position of decision-maker to negate that thought.
This story may have a happy ending. I found out yesterday that a major initiative will be starting later this year to apply my talents to other aspects of the business. It is being spearheaded by one of the managers who had an epiphany when seeing the "better way" during my demo. Although this one project may have been lost, there is a good chance the company will make great gains from the new initiatives.
Part of the reason I presented that idea was to demonstrate my other talents. This way I will get the benefits of them realizing that they can benefit from applying what I do at other companies, without my needing to finish this project at a very low price.
I was not writing about the hostile managers. They are easy to spot. I was not talking about the ineffective or stupid ones; you can work around them. Most management will listen to MY ideas because they want to justify my cost. And I don't have A company; I've been "independent" for 5 years.
This article is about a group of techies mingling with a group of executives. The executives MAY really want the advice of the techies. But I was reminding the techies of what is going through the brains of non-IT management. I am not saying the techies cannot have input, and the parent to my post gave great advice about how to phrase the ideas, but there is still the management meme of "we are in control; we are better; and these people make us feel stupid" that needs to be remembered BY THE TECHIES so that the techies are properly subservient and remember not to talk about technology. I was trying to reinforce the message of the parent post.
I agree with your points, but you are forgetting exactly how much management subordinates/discredits/undervalues/detests/fears us.
"IT provides a service. We know that the service must be worth something, but we understand nothing about it. If we cannot understand it, then it cannot be important, but everybody has an IT department so we better have one. But it is filled with inexperienced children who have not spent their life climbing the corporate ladder, so they cannot understand the "complexity" of the business and how it needs to improve. But we have to have them, and they make almost as much as we do so we better smile when they are around. Please, please don't let them say anything because I will feel stupid because they know all this jargon that I do not. But they do not understand business as well as management and we set the rules so we are on top and my life is worthwhile. Just do not let them speak."
The big issue is that all computer technology is just magic to management. Computers seem to help the business, but the effects usually cannot be quantified until after they are deployed. So why do it? Because all the management magazines tell them that some other company used software for something and is now saving tons of money.
We save them when they have lost that important file, but they know they would not have lost it if it was on paper. Almost everything with computers means they have to learn something new, and they hate that.
The other side is that we are often closely involved with many parts of the business. We hear the complaints from the whole company. We may not know the big picture, but most working IT people could quickly pick 5 tasks that could be cheaply improved by technology in completely non-IT departments, because they know what is frustrating the employees.
I posted a story about trying to sell a business process improvement. I believe I did it on their terms. I reminded them how many people were required to fix the bad data. I demonstrated how this system was better. I talked about how the related processes would be integrated to improve accuracy and reduce the cost across the enterprise. I did not talk about technology other than to say the current hardware could easily handle it. I got some excitement from them, but lost because THEY CANNOT JUDGE GOOD SOFTWARE FROM BAD SOFTWARE even after they use it.
I am in a special position here. They are not my only client, but I worked almost 1000 hours last year FOR THEM, and they spent more for my services than for the 60-hours-every-week IT manager (including all compensation.) I probably cost them as much as his boss, the decision-maker. I am the high-priced outside expert who has an unbroken record of delivering better than they require before any deadlines and always staying under the budget. I do business strategy consulting at other companies. They should greatly respect my opinions, but I am still "just an IT guy."
And it does not help that I look young. The white hair keeps going away when I do not work. I almost wish it would all turn white so I would look older. The "decision-maker" is only 10 years older, but has a full head of white hair. Maybe I should dye (bleach?) mine.
If you really want to get a suggestion to management, have a salesperson from another company contact them and tell them that this idea is incredible and all the other companies are doing it and they need it too. He will get much more respect than any employee, and has much more credibility than any nerd.
Most software is written in-house for the uses of one company. Most companies would benefit if they would share the expense of writing and maintaining that software with other companies. Most desktops could already be running OSS software to the company's advantage.
GM and Ford need very similar software internally that does not affect their products that compete. They both need desktop software. They both need systems to communicate with their dealers. They both need systems to communicate with their providers. Both companies using the same software for the providers would make it easier for the providers, without changing the competition.
--- I disagree about Lotus Notes.
I have never had anyone complain about Lotus Notes once they understand it. Lotus Notes provides application development so fast that it changes how businesses work. Replication frees salespeople and other travellers from needing to be on the network to keep updates synchronized. The security is incredible. The administration and support required are minimal, much less than other platforms.
It does have a reputation for being slow or unfriendly. That is usually because the developers suck, not because the platform sucks.
One benefit that rarely gets much press is that applications are portable, open source, and easily shared.
Portable means that they can be moved from server-to-server, or company-to-company, with little modfication.
Except for very few proprietary software companies, most of the code is open source, and released as public domain. Even the system databases are open, so you can modify the central directory or the mail application. As usual, if you customize the system software, you may have difficulties during the next upgrade, but that applies to Apache too. We would like you to maintain our credits, but I have yet to see anybody specify even a BSD-like license in a Notes template. There are websites that share the templates, and many in the community pass them around.
At GM, I worked on an application called CalPrint. It reads your calendar (part of the mail application) and produces many reports suitable for printing. I believe the original application was written by somebody at Toyota. Several people at Lotus Consulting worked on it and added Y2K bugs and other things. I worked on it for GM and removed the bugs, added quite a bit of functionality, and upgraded it to work with the new release of Lotus Notes. My version has been passed around, and I am certain others have continued development.
The Lotus Notes program is not open. But all the applications are open.
--- If you post the reasons you dislike Lotus Notes, I will answer them. Sometimes people complain because the keyboard shortcuts are based on the pre-MS standards, but that would not apply to a Slashdotter. Sometimes it is because the UI is using the defaults, and Lotus does not use good defaults. Most of the other reasons are from poor development. Given the usual application developed by the usual Notes developer, I can usually increase the speed 10-100 times, and make the UI much more usable/friendly.
I am not disagreeing, but hopefully this adds to the discussiom.
There is a minimum amount of matter in which one can develop intelligence like our own.
There are theories that intelligence is generated by the number of connections. (See "When H.A.R.L.I.E. Was One" or "Speaker for the Dead", both good sci-fi.) With our carbon-based brains, we have acheived that number of connections. If also helps that we have general-purpose bodies that require our brains to "discover" how things can be done. The dinosaurs bodies were much better at doing what they required, so they did not need large brains.
Could a larger carbon-based lifeform develop intelligence? I believe it is quite likely, but the first instance would be the smallest that meets the other requirements. That would be us. And we are doing a good job of making certain that no other intelligence will develop here. It may just be a matter of competition: the smallest will be first, then no others can develop.
Termites with their building do show some traits of intelligence. Maybe the hive as a whole has enough connections to meet the minimum standards.
Of course our sample size is still unusable.
What if there is a planet with higher gravity (requiring larger lifeforms before reaching the general purpose bodies) that is closer to the sun (more energy)? Could there be a 12' intelligent species that looks much like humans? Could they be 24' tall?
What if you add another set of limbs so they can have 4 feet, but still have the 2 arms needed for extra functions? Then they could be larger without being taller.
What if you use a different base than carbon? Many stories are based on intelligence rising in silicon-based life. Again, the minimum standard is probably carbon, so the definitive planet for silicon life would be one that lacks much carbon. The world would probably be different than ours in other ways or silicon life would exist here. Silicon is larger than carbon, so the lifeforms should be larger and more rare. Or the carbon-based life keeps killing it, but we might notice evidence of that. Or life requires such a rare event to start that it has not happened for silicon-based life here, but might somewhere else.
A common plot is that carbon-based life builds machine-based intelligence which then colonizes the galaxy. No pesky "maximum life before destruction" allows them to learn more and accomplish more as individuals. Travelling to the next star just requires a battery, and maybe the ability to shutdown all processes except a monitor during the trip. Of course there is still the issue that innovation or evolution will make you obsolete while you are on the voyage. Innovation: Faster-than-lightspeed travel. Innovation: Control of very remote objects so you can build a body there and just send your brain pattern. Evolution: The others keep learning/growing. Your technology is static for the trip. Will the future shock about improvements cause you to suicide? Will you never be upgraded again?
it's hard to imagine beings and the associated technical societies that are on the scale of kilometres in size
Lack of imagination does not prove impossibility. Lack of evidence does not prove impossibility. Again, our sample size is too small for ANY generalities.
To argue the other side, humans are probably the smallest and easiest technology for intelligence. It is possible that all life in a given area fits some standards that require a shape and size close to ours. Is that area the size of this galaxy, or even the entire universe? We will not know for a while, if ever. But making any assumptions is useless at this point.
That's not to say that a sufficiantly advanced civilization couldn't wield vastly more powerful energy levels than what we currently manipulate, but scale dictates that dealing with masses on the order of planets or energy levels on the order of stars is ever likely to become TRIVIAL.
I already posted that my usual programming pattern involves sleeping to solve the tough issues. But it also has something to do with the way my mind works.
My concious mind is your typical genius type with ADD-like symptoms. My subconcious regularly comes up with world-changing concepts and finds uses for technology that everybody agrees are impossible. Sure, sometimes I find that the idea was from a book by SpiderRobinson or others, but many of them seem to be completely original even after discussing them with other people. Our new product came from me inputing a regular activity that everybody does and asking my subconcious to find a way to use technology to improve it.
As far as writing music/songs, I find that sleep is a poison. My sleep written music is often very much like your two-note composition. Songs do not have need the ONE IDEA that solves the issue; they require a flow of ideas that work together. I usually write music and lyrics after having been awake for at least 24 hours. That seems to break down the walls between my concious and subconscious enough so that ideas can flow. Songs do not require the epiphany required for programming or new products. They just rearrange the 12 notes and the words in the dictionary until something useful comes out. Of course I check the next day with my fully rested mind to see if the song is actually any good before I add it to my catalog.
I've managed to drag several ideas from my dreams back into the waking world, including quite a few semi-interesting sci-fi plots, but none of them are worth anything when examined in the light of the sun, except perhaps some entertainment value.
"semi-interesting sci-fi plots" that only have "some entertainment value" would make you rich. Or did you mean that people would laugh AT you for having written them?
I already do most of my prgramming while asleep. I get the basic details of what the application should do, sleep on it, type in as much as I can, go back to sleep, type some more, and repeat those steps until it is ready for the client.
It is weird because when I get stuck on an issue, my body wants a nap. If I give in, then when I wake the answer is there and the code starts flowing from my fingers. Of course, sometimes I get tired because I have been coding for 24 hours straight, and getting stuck means noticing that I have a body and that it has left me voicemails asking for food and rest. But for really complicated projects, I may program for a few hours, sleep for 2 hours, program for an hour, sleep for an hour, and keep alternating until all the major issues have been resolved; then clean up the easy stuff. I still wait at least one more night before delivering because my subconcious may notify me that there is a really big bug if I give it the chance.
My regular clients have learned that any major changes should wait at least one night before I start programming. My favorite client will call me with details of what they expect at least a day before I visit the office so my subconcious has had time to work on it before I get there.
When I start programming without having slept on the issue, the code suffers. I answer questions in an online forum, and often have silly mistakes that I would never have in my own code because I put more effort (many naps) when writing my own projects.
You state that you should be able to apply the First Amendment's Freedom of Speech to virtual worlds because you have paid money. The owners of the virtual worlds have the right to decide what happens on their servers. There is a big difference between their actions and the governments actions.
The First Amendment is part of the contract between our government and its citizens. As long as you are in this country, you have to obey its laws. The First Amendment is part of what the government gives to you in exchange for you being here and following the laws that apply to your actions. That is what makes the US different from most countries: there is a contract between the citizens and the government.
The legal definition of a contract requires both sides to receive something of value. That is why the "in exchange for $1" phrase is used for contracts that are basically one-sided. It would not be a contract without something of value being returned. Most countries have laws stating what the citizens must do, and some do not even apply the same laws to visitors. Few countries have a contract stating what the government must or cannot do. (And yes, it seems our government is violating our contract with the various new laws that get much attention on Slashdot.)
There is a contract between the company that provides a virtual world and the people who enter that world. They must provide the world, and allow the actions that are listed on the box. The Terms of Service usually grant the owners the ability to eject people for various reasons. You do not have the "right" to be a customer. Most business owners have the "right" to choose their customers.
We will exclude psuedo-government functions such as infrastructure providers. That DOES NOT APPLY here, however much you feel you NEED the game.
If I make a product, I can decide to sell it to people. I can decide not to sell it to people. Sometimes there are laws stating that I cannot sell my product to certain people. This usually applies to drugs, but sometimes the customers may not be children for moralistic reasons. (Any time someone talks about morals, you know logic has fled and they are trying to control your thoughts.) I may lose (transfer) the right to choose the customers by allowing others to distribute my product. I may have difficulty enforcing terms that the customer cannot resell it wtihout my approval, but I can decide who can buy directly from me, and who I will support.
People in business-controlled virtual worlds cannot demand their "rights" because the only rights they have is that of a consumer. They can decide to not be a consumer; they could even sue for their money back if what is provided does not match the product delivered. They can decide to live with the rules of the virtual world. They can build their own world to compete. But they cannot force the business to allow activities that the business does not want, except to (threaten to) remove the customers, and that will have no effect when the business thinks that the product will sell better without those actions, or that they will have legal trouble if they allow those actions.
those companies that take a freedom loving democratic approach to this will be more sucessful than those who don't.
You cannot dictate terms to a company unless you are an (influential) owner of that company.
But you know a competitive advantage for a new company. Start one. Build your own online gaming world. Allow total freedom of expression. (If you include virtual rape, you will probably get an audience. Look how well GTA sells.) Make tons of money. Feel justified that your approach worked. Then watch other companies try to follow your lead. Congratulations, you have made a difference in the world.
The little ducktails on the 2G GM F-bodies actually made 60 or so lbs of downforce at 100 MPH. Done correctly, they ARE functional.
I think you just said that the spoiler on my car is functional. That would be nice to know. The only differences I could find between the TransAm and the Formula models was the spoiler and $3,000, and I would like a justification for having spent the extra money.
You said 2G (2nd generation). Would that include the most recent models? I had a 1999, now drive a 2002.
Does "little ducktails" refer to: - The spoiler on the TransAm, - The "built-in spoiler" trunk shape on the and TransAm convertibles, Firebirds and Formulas. - The Camaro spoiler with the oval hole, - Or all of them?
I know very little about the history and technology of the F-series. I like them because they are pretty and have great acceleration while surrounding you in steel. As a friend said, I "bought cool".
I have no idea what car I will buy next. Luckily I am working from home most of the time, and so only have 13,000 miles on this car. A friend has an Audi, and I enjoy being a passenger, but it seems a little tight for me as the driver. (I am 6' 4".) There do not seem to be any cool sports cars left for less than $50,000.
I had a Mustang already, and am not going back. My partner has a Mustang that started around $20,000, then he added another $20,000 in mods. He says it will blow my car away. (Mine is stock.) We may find out if it ever stays out of the shop for more than a day.
--- Relating to the article: I bought the 1999 TransAm partly because it reminded me of the Star Wars A-wing. I even got gray (Pewter) to make it look closer to the spaceship.
I traded to the 2002 because they were not making them any more, and I already had 52,000 miles on the old one. I chose blue so people would know it was not the same car, although I still got asked if it had a paint job. The blue is really dark, but IT IS NOT BLACK.
A friend bought the black 1999 TransAm because it looks like the BatMobile, which I tried to avoid. She even special-ordered the RamAir upgrade for her car, which I believe is quite useless with an automatic transmission, to complete the image of the BatMobile.
--- If I knew as little about computers as I know about my car, I would be a (l)user. Any information about the technology in a 2002 TransAm would be appreciated.
We were calling it elevator music in the 70s. That was replaced by calling it "muzak" after the brand name provider of "elevator music" systems. I do not know if the company took any steps to protect its brand, but it was free advertising for them. You heard the same "music" on radio stations being billed as "easy listening", meaning music that did not require any brain-power. (I think that phrase disappeared because by the late 90s, as almost all new pop music could be heard without any brain-power.)
I have not heard much music on elevators. I assumed that the term came from the music that is played in places where you wait for elevators, such as lobbies.
You suggested the music was meant to elevate your mood. That would fit with the lobby idea. But have you heard elevator music? It usually makes me want to sleep. I think it was meant to dull your mind so you would not notice that the elvator takes forever to reach your floor.
Or it could be that the music goes up and down without going anywhere. It tends to be extremely boring.
Most of us have recently seen an increase in news reports about open source software showing up in governments. Most of those reports seem to dramatize an upcoming battle between Linux and Microsoft. Rarely do we see information on the pros and cons of collaborative software development.
It is difficult to have a battle when one side will not show up, and the other side's weapons will not work without rebooting several times.
(Insert bullet. Detected new hardware, please reboot. Loading drivers, please reboot. Shoot. Insert bullet. Detected new hardware...)
--- I learned about programming in the late 70s-early 80s. I started learning by reading code in magazines. I figured that someday I would share my code in magazines. Source was open because everything was interpreted.
I naively thought that was how software was shared. I thought that all programming would be shared. Write once, or find someone else's version, then never write that function again.
I grew up and entered the corporate world. I wrote code, and it was shared inside the company. We did not really have a method to share with other companies.
Then the internet. All the source was open, at least for HTML pages, and continuing when JavaScript was added. Sharing was mandatory, because the "code" was still interpreted.
But we also had these new things called software companies. I learned Pascal by reading the source to Visicalc. I have never seen the source for Lotus123 or MSExcel. How can I fix or add to it? How do I learn from it?
Then I read about RMS and FSF and GNU. Sounded good. Why were businesses using proprietary programs when they could collaborate and get what they wanted cheaper? I still have not heard a good answer, other than management DOES NOT WANT any responsibility they can avoid. They prefer a fixed cost every year to a single effort that produces something that exactly fits their needs.
--- For example, in October I noticed that one of my clients had an incredibly poor process: bad UI for input, little error-checking during input, more human resources dedicated to fixing the bad data than to entering it.
I built a prototype of an application that would solve all that, run on worse client hardware than they were using, and allow remote access. It would integrate further up and down the process, so the people collecting the data would also input it. It included a similar business process that had not been automated yet. I arranged a meeting with management, and I demonstrated it to them.
It turned out that for several years they had been considering an "industry standard" software package to improve this process. My demonstration was the catalyst that caused a decision to be made. They "chose" the industry standard. My software was:
- cheaper in the short term. (They are my favorite client. I had built the prototype for fun. I wanted them to use it to demonstrate other skills that might have led to more business. So I told them to pick a price a little lower than the first year of the other product.)
- free in the long term (I was giving them all source. The industry standard is proprietary and charges annual licensing.)
- better suited to their business. (I built it for them. I know how they think. I know how they will use it and what output they expect. The industry standard is, well, standard.)
- better integrated with their current software. (I BUILT THE CURRENT REPORTING SOFTWARE. My prototype was built to easily transfer into that program. We had already proven integration with the other backends. I do not know how the other product integrates, but IT is already complaining.)
- better ownership. (Forget the source. The industry standard uses the ASP model where the proprietary company owns your data!)
I have had every person involved with this process, except the decision maker, tell me that my "prototype" was already better than the new product.
I am assuming that you are using "Detailed Design Document" to mean a report written before programming commences that includes everything from the overall architecture all the way to what each function does. It is usually obsolete as soon as a programmer realizes that half the functions are unneeded because of the implementation. I find it quicker to write the program than to write that level of specifications, and I use platforms that have methods for discovering the details from the code IF THE CODE IS DOCUMENTED PROPERLY.
--- With LotusNotes, you name the design elements by their purpose. Almost everything is obvious, so if you want to check how a Field on a Form works, you look at the Form. Most of the code will included in the Field; everything else should be in the events code. Occasionally developers will hide code that affects one Field in a different Field; the "Design Synopsis" creates a quick searchable report to solve these issues. If anything is tricky, I add (hidden from users) design notes at the top of the Form where they are obvious to the maintainers. I do add a "DESIGN" page to define the workflow and architecture whenever it is not obvious.
I once was sent in to troubleshoot a very large project that was about to become overdue. The developers had their list of bugs. After about 10 minutes to familiarize myself with the architecture, they started describing the bugs one at a time. I was able to find the code that contained each bug in moments, and usually had it fixed in minutes. Then they would test the function with several versions of the clients (mostly MSIE, but also Notes clients) while I worked on the next bug. We fixed about 150 bugs the first day, and another 50 (including a few that required more than a simple code fix) the second day. This was possible because where the fix was needed was obvious because of where it appeared, and Notes makes it easy to find the code.
--- With Java, I include a text file that outlines the purpose and major architecture. I update that if there are any major structural changes. I also add comments for all classes and functions so that JavaDoc can create the specifications from the code. Bugs can be harder to track because the logic may pass through several classes (and of course each class is in its own file.) I have spent hours testing one class before realizing the bug is in a different class.
--- With C, the documentation is much more important because even the best design will get messy during implementation. I have not used any tools that compare to JavaDoc. I avoid using C for major projects, and have been mostly successful since Notes plus some Java is usually obviously the best solution for business apps. (C++ is closer to Java, but none of my clients are using it.)
--- I understand that when you have tons of developers working on a project, better documentation is necessary. But if you have tons of developers working on a project, the project will probably fail anyway (unless you hire a Linus clone to manage it.)
Is this a good reason to require all cars to have mass storage units for the music?
The music can be loaded from a regular CD or one filled with MP3s or OGGs while the car is stopped. Do not allow anything to be loaded while the car is running. If you listen to the entire 160GB hard drive in your car, then let the radio play until you can pull over. 160GB should hold over 12 days of continuous play even if the files are in uncompressed WAV format, and you will quickly make certain that it contains every one of your favorite songs. Even a 10GB hard drive should provide entertainment without repeats for more than 8 hours, and most cars cannot be driven 8 hours without stopping to add gasoline.
My car has music controls on the steering wheel so I do not have to look away from the road to adjust the volume, change radio stations, or change to the CD player and choose a track. I drove a rental car recently and had to pull over to find the volume and station switching controls. (No, they were not obvious. The volume control was a tiny toggle, and station choosing was a few other buttons, and the abbreviated labels could not be read from more than 12 inches away without a magnifying glass.)
--- I read a report about causes of car accidents back when they were first outlawing cell phones in cars. Cell phones were still new, and most phones did not have voice-dialing or hands-free abilities, so the statistics were probably worse than they would be today, although cell phone usage has increased. According to the report, distractions from cell phones caused slightly more accidents than fiddling withe radio. This may have been because we have had decades to learn how to use a radio, or because it is more difficult to prove the driver was touching the radio, while the cell phone (or phone companies) can prove that the cell phone was in use at the time of the accident. Each caused only slightly more accidents than drivers distracted (or mesmerized) by scenery. Passengers distracting the driver was the largest cause of accidents by a large margin, but nobody has suggested outlawing passengers, and many areas still encourage carpooling.
First, Bill makes certain he has a billion dollars, but everybody sees the first MS dividend as a good thing. It helps maintain the stock price.
Then MS starts moving development to India, but everybody assumes they are just joining the offshoring trend.
Then they publicly announce that they have stopped growing. And the stock price does not drop?
Now they cut back promoting losing and low profit products. They publicly announce they are leaving the dial-up market, and everybody talks about the rise of broadband.
The next step will be to start selling those divisions before their value declines. Will this be considered great business strategy?
The fall of MS is such entertainment. They have less than 2 years left, so enjoy it while you can.
My post said that Jean-Marc outsources because he is too small.
Your response is about offshoring. The quote you posted never mentions offshoring. It does mention that the boxes are made in the Philippines, but that is an internal matter for the boxmaker, not something that should concern Jean-Marc, unless he wants to put "Made in USA" labels on the boxes.
The probable business strategy is: 1. Start making chocolates. 2. Make own boxes. 3. Get an order for 100 boxes for delivery tomorrow, so buy them because he does not have the resources to make them himself. 4. Business keeps growing. 5. Buying boxes at retail becomes too expensive, so contract with another company to get boxes. 6. Business keeps growing. 7. Need enough boxes that buying a box-making factory becomes economical.
I'm thinking the upkeep of a factory alone would negate any cost savings of making his own box. He is already paying for the upkeep of a factory; it is built into the price of the boxes he buys. If he keeps growing, possibly expanding into other products, he will reach the size that vertically integrating the box-making becomes economical.
An alternative is that his company is bought by another company that already has the vertical integration, but wants to expand into chocolates, or just wants the goodwill associated with his brand.
The confusion between offshoring and outsourcing is discussed in my previous post. There is no reason to assume that he will build or buy his box-making factory in the US. There is no reason to assume that he will build or buy his box-making factory in the Philippines. That is a separate decision that will be evaluated when the time comes.
My point is that he is outsourcing because he is currently at the size where that is the best method for getting boxes. Whether he buys them from a US-owned or foreign-owned manufacturer and whether he cares about where the boxes are made depends on who has the best total price (including delivery to where he needs them) and whether he feels that his customers will care where his boxes are made.
Outsourcing is about the economics of size. Offshoring is about the economics of location. Confusing the terms reduces your options.
Do you have your Shopper's Card today?
{Card scanned}
We are glad to see you well. Have you eaten any of the beef you bought last week?
CUSTOMER: Um, yes. At dinner last night. Was good.
{Pushing red button alerting 911}
We would like to inform you that the beef you bought last week has a 90% chance of making you very ill and a 23% chance of killing you. We are providing an ambulance to the hospital as a free service. We'll move your cart to the freezer so you can recover it if you survive. Thank you for shopping and please follow the EMTs.
---
Mailing postcards would be bad because they are not secure. Letters may be ignored by people assuming they are advertisements. (How many credit card applications have "Urgent" written on the envelope? How many people throw any mail with "Urgent" written on it directly into the shredder?)
Most people shop for food once a week. Notifying them at the cash register may be faster than mailing them anything.
Google just passed 1,000 employees, with around 650 full-timers having stock options. (We had a recent discussion about this when it was announced they were going public.)
So maybe 12,000 includes all Google's employees, their families and closest friends? Or maybe it includes their suppliers and customers?
Free bonus! Buy an ad on Google and get invitied to join Orkut!
(You have my apologies for nitpicking a funny post.)
I need Mozilla to add the ability to use "Word Definition" search at dictionary.com, preferably without losing the "Web Search" with google.
I tried to research "simulated annealing". I have not seen so many words that I did not know on one page in a long time. The last time I even saw 2 words I did not know, they turned out to have been just-invented marketing buzzwords. This probably means I am not experiencing enough new bodies of knowledge. Thank you for expanding my mind.
Anyway, "simulated annealing" seems to mean slowing things down until they reach a stable form. (Please correct me.)
Dreaming is about creating new information by randomly connecting existing information. Any new information that proves valid becomes part of the datastore. That information can now be connected to every other piece of information, so there is MORE work to be done, so the system is less stable. (Define stability as the portion of connections that have been checked.)
I am assuming (in the scientific sense) that each data has a score for Accuracy. If it is known False, then Accuracy is 0. If known True, then Accuracy is 100. Some data might be set to "Known Fact", so its accuracy would not be changed by the process. Our model is for every data to be checked against all other data.
(Please excuse the example. I wrote this quickly.)
Start with data that includes:
1. Men like women.
2. Women like men.
3. Ellen is a woman's name.
4. Ellen DeGeneres is a woman. (Known Fact)
5. Ellen DeGeneres likes women. (Known Fact)
A connection between #3 and #4 would increase the accuracy of #3. A connection between #4 and #5 would decrease the accuracy of #2. The system would be able to request new input to clarify data about specific objects:
Input: My name is Ellen.
Query: Do you think Mike is cute?
Input: He is not my type.
Query: What is your type?
(I am assuming that any machine that interacts with humans would learn tact quickly or be unplugged.)
The programming for a learning machine that can check new input against all existing data would be very complicated, which is why people who do AI programming tend to do only AI, and the rest of us avoid the area.
There could be a point when all input was processed and the system was stable. So "simulated annealing" could describe that process. But new input must cease, or the system must be fast enough that each input is assimilated before another arrives. A time of "sleep" would stop the input.
Both systems are mentioned in "When H.A.R.L.I.E was One". The periods of irrationality (sleep, dreaming) were needed to correlate the data until that point. Later when HARLIE had enough "proven facts", it could correlate new input in real-time. The book also assumes major breakthroughs in computer technology so HARLIE is really fast.
the main distinction [is] that you are pestering it constantly rather than checking on it rarely.
I might be the one who checks my unconcious rarely so it has time to find a solution. I stay out of its way until it says "OK. Ready. Got time to use this thing?"
OTOH, my concious mind keeps a stream of thought going at all times, so maybe I am "pestering it constantly" when awake, and I use sleep to give my subconcious the quiet it needs to work. That would agree with your: If you're asleep, that part of your mind has nothing better to do than work on whatever incomplete tasks it has from when you were awake. I have great difficulty with activities that require blanking the mind, such as doing meditation or watching TV. Those activities slow my mind until I act almost like a normal person. This fits in your theory.
I am not certain my concious mind is actively involved when writing code. I often refer to it as "flowing from my fingertips." I can carry conversations while my fingers are typing. I regularly multi-task anyway, but I do not even feel involved in the programming process. I rarely "go to the whiteboard." It helps that my applications rarely need other programmers, and when they are involved, their portions are defined by APIs. Either those APIs are part of the specs I am given, or we do not write those APIs until we can see the code (written by my subconcious) and decide how the other parts should interface.
the conscious mind generally takes all the credit
I let managers/clients know that I need to let my subconcious work on a problem. My regular clients will tell me specs before they are needed (which seems rare when reading about the Dibert-esque world.) One of them commented that the quality rises dramatically when I work at home (where I typically take frequent naps rather than fighting to get my conscious mind to deliver solutions during office hours.) Of course they only [want to] pay me based on the number of hours my concious mind is engaged with their work.
My sig "I spend my life entertaining my brain" came from the realization that my subconcious makes many demands. I must write code to make it happy. I must write songs to make it happy. I must write books to make it happy. If I want to go running, I need to bring a book (and trying to read while jogging is not easy) or at least give it music to dissect. My concious mind would be happy eating, sleeping, and practicing reproduction, but my unconcious keeps driving me to do all these creative tasks.
the unconscious mind does all the work, and the conscious mind is a manager.
That is what I was attempting to state. Maybe the wall between them is extra thick for me. Or maybe I have stopped trying to use my concious mind for these I know my unconcious mind is better suited. That delegation would be good management if we were two people. And my last paragraph suggests that my subconcious is often the boss.
I try not to explore this too much. There is the chance that if I understood it, it would stop working (and I enjoy the money my subconcious makes.) There is also the chance that I would be classified insane and locked up.
When I was a child, and needed to stick to our 24-hour-day for school and such, I needed less than 4 hours each night.
When I was addicted to caffeine (late teenager into adulthood), my pattern was sleeping about 2 of each 24 hours, plus a 12-20 hour crash every 2 weeks. This helped with (or was required by) college and 2 jobs.
Since giving up caffeine, my sleep patterns are completely random. Some days I sleep every fourth hour, other times (usually when programming a large but simple project) I am awake for over 24 hours, then sleep for up to 8 hours. I ocassionally have weeks where I only sleep twice, each is about 14 hours.
I think my body requires about 56 hours of sleep every fortnight. It does not care about the pattern, just the total quantity over 2 weeks. This holds whenever I am healthy. Illness or other pain drastically increases the sleep requirement until it is resolved.
Have you read "When H.A.R.L.I.E was One"? It is a great sci-fi about artifical intelligence.
The relevance was that the AI started having periods of irrationality. It used these periods to make random connections to discover what worked. The techies were busy trying to "fix" this behavior, until one of them (our hero) decided that they were a good thing.
I have not heard of any AI programming that includes periods of random fact-matching to simulate sleep. I do not follow the current technology, so if anybody is aware of AIs that are programmed to have a "dream" process, let us know. If it was deliberately programmed, it would probably be better as a constant background process than as a period of unusability. Hopefully we can improve the process rather than reproduce our own limitations.
And why do we need to sleep to dream? Can we be reprogrammed to do it during the day? Or does it require 100% CPU (brain) utilization so we need to switch levels to handle it, like running a firewall at a level that cannot accept extra input?
Yes, I know sleep restores the body as much as letting the brain go wild. Maybe intelligence was developed from our brains going insane (by animal standards) from lack-of-input during the body's forced periods of rest. Our bigger brain meant more insanity than other animals, which became intelligence when the insanity took control of the concious mind.
We covered a similar topic a few days ago (but not a dupe.)
My entries were:
Dreaming about programming
SUMMARY: I do most of my prgramming while asleep. I get the specs, sleep, work, repeat until release. When I get stuck on an issue, my body wants a nap. When I wake, the answer is there and the code starts flowing from my fingers. If I work on an issue without sleeping first, the code suffers.
Sleep is great for those tough problems
EXCERPT: My concious mind is your typical genius type with ADD-like symptoms. My subconcious regularly comes up with world-changing concepts and finds uses for technology that everybody agrees are impossible.
Your conscious and subconscious minds aren't really different things.
I act as if they are completely separate. My concious mind treats my subconcious as its own personal problem-solving machine. I am able to focus my concious mind to the exclusion of eating and sleeping for days, but it is easier and better to just tell my subconcious what I want, then do something else. Easy stuff, like writing code, can take a few minutes. Harder stuff, like remembering bugs or structural flaws in a 10,000 line program, requires a night's sleep (4 hours for me.) Really difficult stuff, like building a complicated data structure with the tools of a limited language, or discovering a more efficient process for tasks, can take a week. One problem took 2 months before my subconcious told me it was ready with a solution.
I am not saying they are completely separate. The 2nd post details that I can break the wall through sleep deprivation for song-writing. But my treating them as separate entities has increased my productivity. My concious mind does the simple fill-in-the-blank code writing; my subconcious does the difficult work; and my productivity is much greater than when I try to do everything with just my concious mind.
Be careful to follow the MS standard when sending UserAgents:
Name/#.# (xxx; xxx #.#; xxx)
At least one major webmail program insists on the semicolons. It returns a VB error if it cannot find a semicolon. (Yes, this has more to do with poor programming than the VB language.) This mail program is either used by many websites, or they all hired incompetent programmers.
I discovered this when testing a Java program that retrieves webpages. The UserAgent was originally "Java1.3.1", and kept returning error pages. I knew the error was not in my program since my code was not VB.
The RFC1945 section 3.7 says the product tokens should be "Name#.#". User-Agent is specifically detailed in section 10.15. RFC2068 is the update in sections 3.8 and 14.42. Neither mentions using semicolons, or even using parantheses for additional comments. Just that the product should be a name with an optional "/" and a version number.
NOTE: Java is missing the slash in its product name. Since the slash is to precede the version, "Java1.3.1" is just a product name, and there is no version number. Is this what Sun meant? (This also happened with the IBM JVM, so I assume it is in the specification.)
Since MS started it, most browsers add a paranthesized section to identify their true name, since they all claim to be Mozilla. At least one VB programmer thinks this is the true specification. I wonder what he thinks Mozilla is. (Oops, sexist. Any female want to argue that they can program that poorly too?)
---
If you want to see the error, send a UserAgent without semicolons to "webmail4.mail1.com".
Their homepage says:
Univeral Access: Use any software like Outlook
I wonder if they know there is no other software as bad as Outlook, or that Outlook is far from Universal. Or did they mean that using software like Outlook guarantees Universal Access, meaning everybody has access to your data?
Using Mozilla with Yahoo Mail loses functionality. They wrote the Richtext editor to use IFRAME. If you ask for the page from Mozilla, they send a different and less functional page than is it is requested from MSIE. If you tell Mozilla to fake the UserAgent, you receive the page for MSIE, but it is now nonfunctional since Mozilla cannot handle IFRAMES.
I do not know why Yahoo ever used IFRAMEs for this. It does nothing that has not been done many places using a Java Applet.
It could also be handled with a TEXTAREA, if you were willing to display the tags and have a Preview to see what would be displayed. (WYSOWYWGIYHNCASYLCP: What You See Is What You Would Get If You Have Not Changed Anything Since You Last Clicked Preview) That is what we use on Slashdot, but I would expect Yahoo to force a Preview if anything was changed.
Hey, that would be useful here too. Let it return the Preview even if you clicked Submit if what is submitted does not match the previous Submit. It would also slow down the FPers.
---
This information is actually about my father's use of the computer. I rarely use web-based email, and have yet to send an HTML-formatted memo. He used Mozilla 1.3, but reported the same issues after switching to Mozilla 1.5. He used the PrefBar with 1.3. I do not know if he tested faking the UserAgent with 1.5. Anybody know if Mozilla 1.5 can handle IFRAMES? I guess I should test it for him.
My father did try to contact Yahoo. He spent quite some time on toll calls asking if they would fix this. It was very difficult to find someone who would admit to having any authority about the system, and they told him they do not want input about their webmail system, even from paid subscribers.
Maybe they will fix it as the number of companies that do not allow MSIE increases. Maybe they will just lose customers. Isn't Google about to launch googlemail.com? Maybe Google will announce that their webmail is fully standard compliant and will work in Mozilla and Opera as well as it does with MSIE.
I like your post. It is surprisingly insightful from an AC. You should get an account, as most of us tend to ignore the AC posts.
Yes, techies have that great feeling of superiority that comes from being able to do things that nobody else can do. They need to squash that for dealing with management.
The skills needed to be a good techie are very different from the skills needed to be a good manager. When I do management work, I feel that my brain shifts paradigms. At any moment, I can be a techie, or I can be a mannager, but the skills seem to come from different parts of the brains, and are mutually exclusive. I prefer to be a techie, and have income as great as I could get as a manager, so I have no need to "climb the corporate ladder." Obviously, that situation does not apply to all techies, but the stereotype is that we are happy with our jobs and feel little need to move up.
If your IT support staff is as bad as you describe, you should think about replacing them, their standards, and their management. IT should SUPPORT; if they are not doing it well, it hurts the whole company.
Yes, I know that big business spends much money on IT projects. That is why I only need to work a few months of the year.
You realize you ARE one of those "outside salespeople" that I suggested having present the ideas. If you have received 1000 rejections, then you must be a full-time salesperson, regardless of your self-admitted technical skills. You may want to consider focusing your target audience more, but I do not know your product and so cannot give good advice. If you are doing web design work, you may want to concentrate on a single industry or geographical region. Use your successes to directly produce more success in a limited market. Focusing on your knowledge of their business usually produces better than saying "we do web design".
I usually do not directly handle the sales, mostly because I do not like activities that have such a small chance for success. I almost did not do it this time; I had 2 salespeople ready to do the presentations, but neither of them had worked with the customer before. I expected that my personal relationship with the management would have a positive effect. I was wrong. Oops. I did discover I was in a "competitve environment" before I wrote my presentation. I originally thought I was suggesting an innovation, but discovered they were already considering a soution while discussing mine with the line people. I did have the advice of several managers and salespeople about what should be included in the presentation, and how it should be phrased. One of them wrote the Agenda, and another reviewed specific executive buzzwords that would get the ideas across on "their terms". I did my homework.
I consult. Yes, I understand everything, and I had the "elegant solution". I consistently make them happy regardless of their idea; that is why I am a success. Most of your thoughts do not apply to MY situation, but they are good advice for anybody who wants to consult. Remember management does not really understand computers, so if they ask for a "dashboard", find out what they expect to gain from it. The customer is always right, but it is our mission to guide them to achieve the business results by using technology to its best.
the worst thing a company can make is to copy the competition. It gives you no advantage over your competition. You strategy is to rely on mistakes they make otherwise, which is a poor strategy.
I agree totally. A number of managers and line people at the company agree totally. But it only took one manager in position of decision-maker to negate that thought.
This story may have a happy ending. I found out yesterday that a major initiative will be starting later this year to apply my talents to other aspects of the business. It is being spearheaded by one of the managers who had an epiphany when seeing the "better way" during my demo. Although this one project may have been lost, there is a good chance the company will make great gains from the new initiatives.
Part of the reason I presented that idea was to demonstrate my other talents. This way I will get the benefits of them realizing that they can benefit from applying what I do at other companies, without my needing to finish this project at a very low price.
I was not writing about the hostile managers. They are easy to spot. I was not talking about the ineffective or stupid ones; you can work around them. Most management will listen to MY ideas because they want to justify my cost. And I don't have A company; I've been "independent" for 5 years.
This article is about a group of techies mingling with a group of executives. The executives MAY really want the advice of the techies. But I was reminding the techies of what is going through the brains of non-IT management. I am not saying the techies cannot have input, and the parent to my post gave great advice about how to phrase the ideas, but there is still the management meme of "we are in control; we are better; and these people make us feel stupid" that needs to be remembered BY THE TECHIES so that the techies are properly subservient and remember not to talk about technology. I was trying to reinforce the message of the parent post.
I agree with your points, but you are forgetting exactly how much management subordinates/discredits/undervalues/detests/fears us.
"IT provides a service. We know that the service must be worth something, but we understand nothing about it. If we cannot understand it, then it cannot be important, but everybody has an IT department so we better have one. But it is filled with inexperienced children who have not spent their life climbing the corporate ladder, so they cannot understand the "complexity" of the business and how it needs to improve. But we have to have them, and they make almost as much as we do so we better smile when they are around. Please, please don't let them say anything because I will feel stupid because they know all this jargon that I do not. But they do not understand business as well as management and we set the rules so we are on top and my life is worthwhile. Just do not let them speak."
The big issue is that all computer technology is just magic to management. Computers seem to help the business, but the effects usually cannot be quantified until after they are deployed. So why do it? Because all the management magazines tell them that some other company used software for something and is now saving tons of money.
We save them when they have lost that important file, but they know they would not have lost it if it was on paper. Almost everything with computers means they have to learn something new, and they hate that.
The other side is that we are often closely involved with many parts of the business. We hear the complaints from the whole company. We may not know the big picture, but most working IT people could quickly pick 5 tasks that could be cheaply improved by technology in completely non-IT departments, because they know what is frustrating the employees.
I posted a story about trying to sell a business process improvement. I believe I did it on their terms. I reminded them how many people were required to fix the bad data. I demonstrated how this system was better. I talked about how the related processes would be integrated to improve accuracy and reduce the cost across the enterprise. I did not talk about technology other than to say the current hardware could easily handle it. I got some excitement from them, but lost because THEY CANNOT JUDGE GOOD SOFTWARE FROM BAD SOFTWARE even after they use it.
I am in a special position here. They are not my only client, but I worked almost 1000 hours last year FOR THEM, and they spent more for my services than for the 60-hours-every-week IT manager (including all compensation.) I probably cost them as much as his boss, the decision-maker. I am the high-priced outside expert who has an unbroken record of delivering better than they require before any deadlines and always staying under the budget. I do business strategy consulting at other companies. They should greatly respect my opinions, but I am still "just an IT guy."
And it does not help that I look young. The white hair keeps going away when I do not work. I almost wish it would all turn white so I would look older. The "decision-maker" is only 10 years older, but has a full head of white hair. Maybe I should dye (bleach?) mine.
If you really want to get a suggestion to management, have a salesperson from another company contact them and tell them that this idea is incredible and all the other companies are doing it and they need it too. He will get much more respect than any employee, and has much more credibility than any nerd.
I agree with most of your post.
Most software is written in-house for the uses of one company. Most companies would benefit if they would share the expense of writing and maintaining that software with other companies. Most desktops could already be running OSS software to the company's advantage.
GM and Ford need very similar software internally that does not affect their products that compete. They both need desktop software. They both need systems to communicate with their dealers. They both need systems to communicate with their providers. Both companies using the same software for the providers would make it easier for the providers, without changing the competition.
---
I disagree about Lotus Notes.
I have never had anyone complain about Lotus Notes once they understand it. Lotus Notes provides application development so fast that it changes how businesses work. Replication frees salespeople and other travellers from needing to be on the network to keep updates synchronized. The security is incredible. The administration and support required are minimal, much less than other platforms.
It does have a reputation for being slow or unfriendly. That is usually because the developers suck, not because the platform sucks.
One benefit that rarely gets much press is that applications are portable, open source, and easily shared.
Portable means that they can be moved from server-to-server, or company-to-company, with little modfication.
Except for very few proprietary software companies, most of the code is open source, and released as public domain. Even the system databases are open, so you can modify the central directory or the mail application. As usual, if you customize the system software, you may have difficulties during the next upgrade, but that applies to Apache too. We would like you to maintain our credits, but I have yet to see anybody specify even a BSD-like license in a Notes template. There are websites that share the templates, and many in the community pass them around.
At GM, I worked on an application called CalPrint. It reads your calendar (part of the mail application) and produces many reports suitable for printing. I believe the original application was written by somebody at Toyota. Several people at Lotus Consulting worked on it and added Y2K bugs and other things. I worked on it for GM and removed the bugs, added quite a bit of functionality, and upgraded it to work with the new release of Lotus Notes. My version has been passed around, and I am certain others have continued development.
The Lotus Notes program is not open. But all the applications are open.
---
If you post the reasons you dislike Lotus Notes, I will answer them. Sometimes people complain because the keyboard shortcuts are based on the pre-MS standards, but that would not apply to a Slashdotter. Sometimes it is because the UI is using the defaults, and Lotus does not use good defaults. Most of the other reasons are from poor development. Given the usual application developed by the usual Notes developer, I can usually increase the speed 10-100 times, and make the UI much more usable/friendly.
I am not disagreeing, but hopefully this adds to the discussiom.
There is a minimum amount of matter in which one can develop intelligence like our own.
There are theories that intelligence is generated by the number of connections. (See "When H.A.R.L.I.E. Was One" or "Speaker for the Dead", both good sci-fi.) With our carbon-based brains, we have acheived that number of connections. If also helps that we have general-purpose bodies that require our brains to "discover" how things can be done. The dinosaurs bodies were much better at doing what they required, so they did not need large brains.
Could a larger carbon-based lifeform develop intelligence? I believe it is quite likely, but the first instance would be the smallest that meets the other requirements. That would be us. And we are doing a good job of making certain that no other intelligence will develop here. It may just be a matter of competition: the smallest will be first, then no others can develop.
Termites with their building do show some traits of intelligence. Maybe the hive as a whole has enough connections to meet the minimum standards.
Of course our sample size is still unusable.
What if there is a planet with higher gravity (requiring larger lifeforms before reaching the general purpose bodies) that is closer to the sun (more energy)? Could there be a 12' intelligent species that looks much like humans? Could they be 24' tall?
What if you add another set of limbs so they can have 4 feet, but still have the 2 arms needed for extra functions? Then they could be larger without being taller.
What if you use a different base than carbon? Many stories are based on intelligence rising in silicon-based life. Again, the minimum standard is probably carbon, so the definitive planet for silicon life would be one that lacks much carbon. The world would probably be different than ours in other ways or silicon life would exist here. Silicon is larger than carbon, so the lifeforms should be larger and more rare. Or the carbon-based life keeps killing it, but we might notice evidence of that. Or life requires such a rare event to start that it has not happened for silicon-based life here, but might somewhere else.
A common plot is that carbon-based life builds machine-based intelligence which then colonizes the galaxy. No pesky "maximum life before destruction" allows them to learn more and accomplish more as individuals. Travelling to the next star just requires a battery, and maybe the ability to shutdown all processes except a monitor during the trip. Of course there is still the issue that innovation or evolution will make you obsolete while you are on the voyage.
Innovation: Faster-than-lightspeed travel.
Innovation: Control of very remote objects so you can build a body there and just send your brain pattern.
Evolution: The others keep learning/growing. Your technology is static for the trip. Will the future shock about improvements cause you to suicide? Will you never be upgraded again?
it's hard to imagine beings and the associated technical societies that are on the scale of kilometres in size
Lack of imagination does not prove impossibility. Lack of evidence does not prove impossibility. Again, our sample size is too small for ANY generalities.
To argue the other side, humans are probably the smallest and easiest technology for intelligence. It is possible that all life in a given area fits some standards that require a shape and size close to ours. Is that area the size of this galaxy, or even the entire universe? We will not know for a while, if ever. But making any assumptions is useless at this point.
That's not to say that a sufficiantly advanced civilization couldn't wield vastly more powerful energy levels than what we currently manipulate, but scale dictates that dealing with masses on the order of planets or energy levels on the order of stars is ever likely to become TRIVIAL.
I already posted that my usual programming pattern involves sleeping to solve the tough issues. But it also has something to do with the way my mind works.
My concious mind is your typical genius type with ADD-like symptoms. My subconcious regularly comes up with world-changing concepts and finds uses for technology that everybody agrees are impossible. Sure, sometimes I find that the idea was from a book by SpiderRobinson or others, but many of them seem to be completely original even after discussing them with other people. Our new product came from me inputing a regular activity that everybody does and asking my subconcious to find a way to use technology to improve it.
As far as writing music/songs, I find that sleep is a poison. My sleep written music is often very much like your two-note composition. Songs do not have need the ONE IDEA that solves the issue; they require a flow of ideas that work together. I usually write music and lyrics after having been awake for at least 24 hours. That seems to break down the walls between my concious and subconscious enough so that ideas can flow. Songs do not require the epiphany required for programming or new products. They just rearrange the 12 notes and the words in the dictionary until something useful comes out. Of course I check the next day with my fully rested mind to see if the song is actually any good before I add it to my catalog.
I've managed to drag several ideas from my dreams back into the waking world, including quite a few semi-interesting sci-fi plots, but none of them are worth anything when examined in the light of the sun, except perhaps some entertainment value.
"semi-interesting sci-fi plots" that only have "some entertainment value" would make you rich. Or did you mean that people would laugh AT you for having written them?
Hacking dreams???
I already do most of my prgramming while asleep. I get the basic details of what the application should do, sleep on it, type in as much as I can, go back to sleep, type some more, and repeat those steps until it is ready for the client.
It is weird because when I get stuck on an issue, my body wants a nap. If I give in, then when I wake the answer is there and the code starts flowing from my fingers. Of course, sometimes I get tired because I have been coding for 24 hours straight, and getting stuck means noticing that I have a body and that it has left me voicemails asking for food and rest. But for really complicated projects, I may program for a few hours, sleep for 2 hours, program for an hour, sleep for an hour, and keep alternating until all the major issues have been resolved; then clean up the easy stuff. I still wait at least one more night before delivering because my subconcious may notify me that there is a really big bug if I give it the chance.
My regular clients have learned that any major changes should wait at least one night before I start programming. My favorite client will call me with details of what they expect at least a day before I visit the office so my subconcious has had time to work on it before I get there.
When I start programming without having slept on the issue, the code suffers. I answer questions in an online forum, and often have silly mistakes that I would never have in my own code because I put more effort (many naps) when writing my own projects.
You state that you should be able to apply the First Amendment's Freedom of Speech to virtual worlds because you have paid money. The owners of the virtual worlds have the right to decide what happens on their servers. There is a big difference between their actions and the governments actions.
The First Amendment is part of the contract between our government and its citizens. As long as you are in this country, you have to obey its laws. The First Amendment is part of what the government gives to you in exchange for you being here and following the laws that apply to your actions. That is what makes the US different from most countries: there is a contract between the citizens and the government.
The legal definition of a contract requires both sides to receive something of value. That is why the "in exchange for $1" phrase is used for contracts that are basically one-sided. It would not be a contract without something of value being returned. Most countries have laws stating what the citizens must do, and some do not even apply the same laws to visitors. Few countries have a contract stating what the government must or cannot do. (And yes, it seems our government is violating our contract with the various new laws that get much attention on Slashdot.)
There is a contract between the company that provides a virtual world and the people who enter that world. They must provide the world, and allow the actions that are listed on the box. The Terms of Service usually grant the owners the ability to eject people for various reasons. You do not have the "right" to be a customer. Most business owners have the "right" to choose their customers.
We will exclude psuedo-government functions such as infrastructure providers. That DOES NOT APPLY here, however much you feel you NEED the game.
If I make a product, I can decide to sell it to people. I can decide not to sell it to people. Sometimes there are laws stating that I cannot sell my product to certain people. This usually applies to drugs, but sometimes the customers may not be children for moralistic reasons. (Any time someone talks about morals, you know logic has fled and they are trying to control your thoughts.) I may lose (transfer) the right to choose the customers by allowing others to distribute my product. I may have difficulty enforcing terms that the customer cannot resell it wtihout my approval, but I can decide who can buy directly from me, and who I will support.
People in business-controlled virtual worlds cannot demand their "rights" because the only rights they have is that of a consumer. They can decide to not be a consumer; they could even sue for their money back if what is provided does not match the product delivered. They can decide to live with the rules of the virtual world. They can build their own world to compete. But they cannot force the business to allow activities that the business does not want, except to (threaten to) remove the customers, and that will have no effect when the business thinks that the product will sell better without those actions, or that they will have legal trouble if they allow those actions.
those companies that take a freedom loving democratic approach to this will be more sucessful than those who don't.
You cannot dictate terms to a company unless you are an (influential) owner of that company.
But you know a competitive advantage for a new company. Start one. Build your own online gaming world. Allow total freedom of expression. (If you include virtual rape, you will probably get an audience. Look how well GTA sells.) Make tons of money. Feel justified that your approach worked. Then watch other companies try to follow your lead. Congratulations, you have made a difference in the world.
The little ducktails on the 2G GM F-bodies actually made 60 or so lbs of downforce at 100 MPH. Done correctly, they ARE functional.
I think you just said that the spoiler on my car is functional. That would be nice to know. The only differences I could find between the TransAm and the Formula models was the spoiler and $3,000, and I would like a justification for having spent the extra money.
You said 2G (2nd generation). Would that include the most recent models? I had a 1999, now drive a 2002.
Does "little ducktails" refer to:
- The spoiler on the TransAm,
- The "built-in spoiler" trunk shape on the and TransAm convertibles, Firebirds and Formulas.
- The Camaro spoiler with the oval hole,
- Or all of them?
I know very little about the history and technology of the F-series. I like them because they are pretty and have great acceleration while surrounding you in steel. As a friend said, I "bought cool".
I have no idea what car I will buy next. Luckily I am working from home most of the time, and so only have 13,000 miles on this car. A friend has an Audi, and I enjoy being a passenger, but it seems a little tight for me as the driver. (I am 6' 4".) There do not seem to be any cool sports cars left for less than $50,000.
I had a Mustang already, and am not going back. My partner has a Mustang that started around $20,000, then he added another $20,000 in mods. He says it will blow my car away. (Mine is stock.) We may find out if it ever stays out of the shop for more than a day.
--- Relating to the article:
I bought the 1999 TransAm partly because it reminded me of the Star Wars A-wing. I even got gray (Pewter) to make it look closer to the spaceship.
I traded to the 2002 because they were not making them any more, and I already had 52,000 miles on the old one. I chose blue so people would know it was not the same car, although I still got asked if it had a paint job. The blue is really dark, but IT IS NOT BLACK.
A friend bought the black 1999 TransAm because it looks like the BatMobile, which I tried to avoid. She even special-ordered the RamAir upgrade for her car, which I believe is quite useless with an automatic transmission, to complete the image of the BatMobile.
---
If I knew as little about computers as I know about my car, I would be a (l)user. Any information about the technology in a 2002 TransAm would be appreciated.
We were calling it elevator music in the 70s. That was replaced by calling it "muzak" after the brand name provider of "elevator music" systems. I do not know if the company took any steps to protect its brand, but it was free advertising for them. You heard the same "music" on radio stations being billed as "easy listening", meaning music that did not require any brain-power. (I think that phrase disappeared because by the late 90s, as almost all new pop music could be heard without any brain-power.)
I have not heard much music on elevators. I assumed that the term came from the music that is played in places where you wait for elevators, such as lobbies.
You suggested the music was meant to elevate your mood. That would fit with the lobby idea. But have you heard elevator music? It usually makes me want to sleep. I think it was meant to dull your mind so you would not notice that the elvator takes forever to reach your floor.
Or it could be that the music goes up and down without going anywhere. It tends to be extremely boring.
Most of us have recently seen an increase in news reports about open source software showing up in governments. Most of those reports seem to dramatize an upcoming battle between Linux and Microsoft. Rarely do we see information on the pros and cons of collaborative software development.
It is difficult to have a battle when one side will not show up, and the other side's weapons will not work without rebooting several times.
(Insert bullet. Detected new hardware, please reboot. Loading drivers, please reboot. Shoot. Insert bullet. Detected new hardware...)
---
I learned about programming in the late 70s-early 80s. I started learning by reading code in magazines. I figured that someday I would share my code in magazines. Source was open because everything was interpreted.
I naively thought that was how software was shared. I thought that all programming would be shared. Write once, or find someone else's version, then never write that function again.
I grew up and entered the corporate world. I wrote code, and it was shared inside the company. We did not really have a method to share with other companies.
Then the internet. All the source was open, at least for HTML pages, and continuing when JavaScript was added. Sharing was mandatory, because the "code" was still interpreted.
But we also had these new things called software companies. I learned Pascal by reading the source to Visicalc. I have never seen the source for Lotus123 or MSExcel. How can I fix or add to it? How do I learn from it?
Then I read about RMS and FSF and GNU. Sounded good. Why were businesses using proprietary programs when they could collaborate and get what they wanted cheaper? I still have not heard a good answer, other than management DOES NOT WANT any responsibility they can avoid. They prefer a fixed cost every year to a single effort that produces something that exactly fits their needs.
---
For example, in October I noticed that one of my clients had an incredibly poor process: bad UI for input, little error-checking during input, more human resources dedicated to fixing the bad data than to entering it.
I built a prototype of an application that would solve all that, run on worse client hardware than they were using, and allow remote access. It would integrate further up and down the process, so the people collecting the data would also input it. It included a similar business process that had not been automated yet. I arranged a meeting with management, and I demonstrated it to them.
It turned out that for several years they had been considering an "industry standard" software package to improve this process. My demonstration was the catalyst that caused a decision to be made. They "chose" the industry standard. My software was:
- cheaper in the short term. (They are my favorite client. I had built the prototype for fun. I wanted them to use it to demonstrate other skills that might have led to more business. So I told them to pick a price a little lower than the first year of the other product.)
- free in the long term (I was giving them all source. The industry standard is proprietary and charges annual licensing.)
- better suited to their business. (I built it for them. I know how they think. I know how they will use it and what output they expect. The industry standard is, well, standard.)
- better integrated with their current software. (I BUILT THE CURRENT REPORTING SOFTWARE. My prototype was built to easily transfer into that program. We had already proven integration with the other backends. I do not know how the other product integrates, but IT is already complaining.)
- better ownership. (Forget the source. The industry standard uses the ASP model where the proprietary company owns your data!)
I have had every person involved with this process, except the decision maker, tell me that my "prototype" was already better than the new product.
I am assuming that you are using "Detailed Design Document" to mean a report written before programming commences that includes everything from the overall architecture all the way to what each function does. It is usually obsolete as soon as a programmer realizes that half the functions are unneeded because of the implementation. I find it quicker to write the program than to write that level of specifications, and I use platforms that have methods for discovering the details from the code IF THE CODE IS DOCUMENTED PROPERLY.
---
With LotusNotes, you name the design elements by their purpose. Almost everything is obvious, so if you want to check how a Field on a Form works, you look at the Form. Most of the code will included in the Field; everything else should be in the events code. Occasionally developers will hide code that affects one Field in a different Field; the "Design Synopsis" creates a quick searchable report to solve these issues. If anything is tricky, I add (hidden from users) design notes at the top of the Form where they are obvious to the maintainers. I do add a "DESIGN" page to define the workflow and architecture whenever it is not obvious.
I once was sent in to troubleshoot a very large project that was about to become overdue. The developers had their list of bugs. After about 10 minutes to familiarize myself with the architecture, they started describing the bugs one at a time. I was able to find the code that contained each bug in moments, and usually had it fixed in minutes. Then they would test the function with several versions of the clients (mostly MSIE, but also Notes clients) while I worked on the next bug. We fixed about 150 bugs the first day, and another 50 (including a few that required more than a simple code fix) the second day. This was possible because where the fix was needed was obvious because of where it appeared, and Notes makes it easy to find the code.
---
With Java, I include a text file that outlines the purpose and major architecture. I update that if there are any major structural changes. I also add comments for all classes and functions so that JavaDoc can create the specifications from the code. Bugs can be harder to track because the logic may pass through several classes (and of course each class is in its own file.) I have spent hours testing one class before realizing the bug is in a different class.
---
With C, the documentation is much more important because even the best design will get messy during implementation. I have not used any tools that compare to JavaDoc. I avoid using C for major projects, and have been mostly successful since Notes plus some Java is usually obviously the best solution for business apps. (C++ is closer to Java, but none of my clients are using it.)
---
I understand that when you have tons of developers working on a project, better documentation is necessary. But if you have tons of developers working on a project, the project will probably fail anyway (unless you hire a Linus clone to manage it.)
Is this a good reason to require all cars to have mass storage units for the music?
The music can be loaded from a regular CD or one filled with MP3s or OGGs while the car is stopped. Do not allow anything to be loaded while the car is running. If you listen to the entire 160GB hard drive in your car, then let the radio play until you can pull over. 160GB should hold over 12 days of continuous play even if the files are in uncompressed WAV format, and you will quickly make certain that it contains every one of your favorite songs. Even a 10GB hard drive should provide entertainment without repeats for more than 8 hours, and most cars cannot be driven 8 hours without stopping to add gasoline.
My car has music controls on the steering wheel so I do not have to look away from the road to adjust the volume, change radio stations, or change to the CD player and choose a track. I drove a rental car recently and had to pull over to find the volume and station switching controls. (No, they were not obvious. The volume control was a tiny toggle, and station choosing was a few other buttons, and the abbreviated labels could not be read from more than 12 inches away without a magnifying glass.)
---
I read a report about causes of car accidents back when they were first outlawing cell phones in cars. Cell phones were still new, and most phones did not have voice-dialing or hands-free abilities, so the statistics were probably worse than they would be today, although cell phone usage has increased. According to the report, distractions from cell phones caused slightly more accidents than fiddling withe radio. This may have been because we have had decades to learn how to use a radio, or because it is more difficult to prove the driver was touching the radio, while the cell phone (or phone companies) can prove that the cell phone was in use at the time of the accident. Each caused only slightly more accidents than drivers distracted (or mesmerized) by scenery. Passengers distracting the driver was the largest cause of accidents by a large margin, but nobody has suggested outlawing passengers, and many areas still encourage carpooling.
First, Bill makes certain he has a billion dollars, but everybody sees the first MS dividend as a good thing. It helps maintain the stock price.
Then MS starts moving development to India, but everybody assumes they are just joining the offshoring trend.
Then they publicly announce that they have stopped growing. And the stock price does not drop?
Now they cut back promoting losing and low profit products. They publicly announce they are leaving the dial-up market, and everybody talks about the rise of broadband.
The next step will be to start selling those divisions before their value declines. Will this be considered great business strategy?
The fall of MS is such entertainment. They have less than 2 years left, so enjoy it while you can.
Right idea, wrong emphasis.
My post said that Jean-Marc outsources because he is too small.
Your response is about offshoring. The quote you posted never mentions offshoring. It does mention that the boxes are made in the Philippines, but that is an internal matter for the boxmaker, not something that should concern Jean-Marc, unless he wants to put "Made in USA" labels on the boxes.
The probable business strategy is:
1. Start making chocolates.
2. Make own boxes.
3. Get an order for 100 boxes for delivery tomorrow, so buy them because he does not have the resources to make them himself.
4. Business keeps growing.
5. Buying boxes at retail becomes too expensive, so contract with another company to get boxes.
6. Business keeps growing.
7. Need enough boxes that buying a box-making factory becomes economical.
I'm thinking the upkeep of a factory alone would negate any cost savings of making his own box.
He is already paying for the upkeep of a factory; it is built into the price of the boxes he buys. If he keeps growing, possibly expanding into other products, he will reach the size that vertically integrating the box-making becomes economical.
An alternative is that his company is bought by another company that already has the vertical integration, but wants to expand into chocolates, or just wants the goodwill associated with his brand.
The confusion between offshoring and outsourcing is discussed in my previous post. There is no reason to assume that he will build or buy his box-making factory in the US. There is no reason to assume that he will build or buy his box-making factory in the Philippines. That is a separate decision that will be evaluated when the time comes.
My point is that he is outsourcing because he is currently at the size where that is the best method for getting boxes. Whether he buys them from a US-owned or foreign-owned manufacturer and whether he cares about where the boxes are made depends on who has the best total price (including delivery to where he needs them) and whether he feels that his customers will care where his boxes are made.
Outsourcing is about the economics of size. Offshoring is about the economics of location. Confusing the terms reduces your options.