Actually, this isn't quite what I had in mind. In MS Office the items are invisible, yes. But they aren't where the user put them. So when the user learns something new, they move around. Or when the user is searching for new functionality, the old functionality moves.
Not showing the user functionality they don't need is good IMHO. Not allowing the user to put it somewhere where the user wants is bad. Moving it on them every 30 seconds is insane. The key is that searching for functionality is fundamentally different than using functionality. Also, learning functionality is fundamentally different from both searching and using. Using the same UI for all three concepts leads to serious problems.
The UI designer should design a great way to *search* for functionality. The UI designer should design a great way for the user to store functionality in places that they want. The UI designer should design a great way to *remind* the user where they put functionality. The UI designer should *never* design where the functionality should reside.
One of these days I'll get around to writing an app that implements this idea. Maybe it will turn out to be a bad idea. Maybe not.
I've never lived in a house with heat pumps, but ground source heat pumps (as opposed to air source heat pumps) are quite popular in Ottawa where I spent the last 12 years (-40 isn't unheard of). Usually these people supplement with a wood stove for emergencies. The nice thing about ground source heat pumps is that they can double as air conditioners for a small increase in price.
This year I'm living in Japan. I'm in a fairly hot area (it's still 20C/70F during the day right now), so the houses aren't insulated at all. Also, there is no central heat at all. In the winter it's supposed to get down to about 5 degrees (41F). I'm going to try to spend the winter without a room heater. Instead I'll use a kotatsu (kind of like a coffe table with an electric heater under it -- There is a comforter on top of the table that you snuggle under) and a hot water bottle. We'll see how it goes.
I think we've conditioned ourselves to think that we need it to be perfect temperature all year round. So this year I'm going to see if it's really all that it's cracked up to be. I spent the summer with 40C/104F without air conditioning or an electric fan and it was actually not bad. I might cave in the winter, though...
People will do the craziest things if it is in their culture to do so.
Japanese people tend to turn of the water when they are soaping themselves in the shower. North Americans do not. Telling North Americans to turn off the water while soaping will do nothing.
So why do Japanese people do it? Mostly because it's "the way you wash yourself". Any other way is absurd. The same can be said for North Americans.
To get large groups of people to do something different than what they are used to, you must change their culture. This is difficult, but not impossible. "Wartime" culture is an example of this. Since the rules have changed (Hey there's a war on don'cha know), it's easier to get people to do something different.
I personally believe that there are other ways to change culture than a spectacular external event. But my thoughts are still quite immature on this subject.
Not sure if this is really on topic, but I fee like rambling...
With respect to forcing users to switch between different modes, one of the things I find irritating about modern software UI design is that... well, that it's *designed*. Some guy (or girl or whatever) sits in a room and decides what I'm going to be doing.
In the (good) old days, there was no fancy pants GUI. You had a command line and a shell. And you chained together useful tasks through the shell. When you were in "find a file" mode, you just used "find" and piped it through some filters to do what you wanted.
My feeling is that these large applications are cluttered and bulky *because* they are designed to work in an integrated way. Instead, the functionality should be separated and the *user* should choose what they want to see and when. If the user wants a "photo touch up" mode then the user can create a mode for it and put all the "photo touch up" tools in it.
But this becomes very complicated. Asking the user to create modes from thousands of features is ridiculous. So the application shouldn't show the user anything that they don't already know how to do. When the user wants to do something new, the application should teach them how to do it, and then the functionality should be available. Before that, it's invisible. Once the user knows how to use the functionality, they should put it somewhere.
"Modes" and "known functionality" should be transportable with a configuration file that the user can take with them on a USB key. That way you can go to your mate's desk and have it work the same way it worked on your desk.
I guess the key for me is that my software should work like my kitchen. I should have the tools I want, where I want them, when I want them. I don't care how great a kitchen designer you are. My kitchen is set up how *I* want it. Maybe I'll hire you to come in and give me pointers. But I *don't* want a predesigned kitchen with tools that can only go in one place.
I seem to remember seeing a set of powerpoint slides about 10-15 years ago which argued that 60% of everyone is incompetent at their job. The slides urged people to reflect on that - 60% of doctors, lawyers, politicians, etc are incompetent at their job.
I also seem to remember that these slides were purported to have come from a talk from Colin Powell... Can anyone find me a link to the original slides?
By "then they fight you and then you win" Gandhi was referring to masses of people getting the shit kicked out of them for going down to the beach to make salt. Or people being gunned down in the hundreds for peacefully sitting around in a temple. Whatever you think of the applicability of his methods in other areas he successfully understood the political forces at work and realized that getting the snot kicked out of him in front of the media would win the fight.
To sum up he said "they fight you", not "you fight them". He allowed people to be attacked in order to win the war. In his own words, the people of India were soldiers and sometimes soldiers die. Peacefully walking into to gunfire and dieing was part of the strategy.
Personally, I think this is the best way to go about it in the Free software world too. If Microsoft attacks you, don't attack back. Just publicize it. If Microsoft attacks forcefully enough to do anything significant, the bloodshed will be obvious. In any case, keep walking to the beach to make salt.
Keep writing and using free software. Keep helping others. Don't fight.
For heating houses, wood makes a lot of sense (especially compressed pulp/sawdust). Wood furnaces are incredibly efficient and it is a renewable resource.
About half way through: http://www.na.fs.fed.us/pubs/silvics_manual/Volume_1/pinus/strobus.htm they list the yield for white pine (in a *natural* forest). It's somewhere between 300 - 800 fbm per year per acre (assuming harvesting of 50 year old trees). Assuming 1 cord is about 500 board feet (a number I pulled mostly out of my ass since you can't really convert reliably) and assuming 300 fbm per year, this means that 1 cord of wood represents about.0017 acres of land. So it seems that you could sustainably heat your house with less than 0.1 acres of land if you can get by with 1 cord of wood per year. So that would be great for people with fairly large properties (the size is about 66 feet on each side).
But in terms of land use a ground source heat pump driven by solar power (with batteries) will take up a lot less room.
Although I'm sure you intended the post to be facetious, in reality I think you fairly characterized the situation. Whether or not you are an "Earth First Type", it makes sense to minimize the cost of your activities. Right now we don't really factor environmental degradation into our economic situation. Instead we pretty much allow anyone to do whatever they want at no cost until there is a crisis (and even then we argue endlessly about whether or not it really is a crisis). A good example of this are the fisheries on the east coast of Canada. 50 years ago the thought that you could not catch cod in Canada was a completely absurd notion. Due to overfishing the fisheries have been closed for years.
Most of our activities have an environmental cost. Factoring that into the "cost of doing business" will help to naturally select activities that reduce the environmental costs. Part of factoring environmental costs into business is identifying the actual cost. Almost certainly the most sane strategy will be one that spreads the environmental burden across many different areas so as reduce the cost. Providing all of the US's electrical energy requirements by covering Nevada with solar cells is probably prohibitively expensive, environmentally. But this doesn't mean that some areas can't be used as part of the solution.
But the best solution is still conservation. As long as energy remains at an artificially low price (with respect to environmental costs), people will continue to use it without reserve. Identifying environmental costs and setting prices so as to minimize those costs does not seem to me to be at all unreasonable. Trying to ensure that the environmental burden is spread out rather than in one area can also help minimize costs. And finally asking people not to use expensive resources unnecessarily seems reasonable to me. Maybe I'm not an "Earth First type", though.
Thanks for bringing this up. You are right that this statement is probably the most controversial part of what I said. But I maintain that measurement is crucial to achieving control. And that's a really important issue that I didn't discuss.
If you have a goal of losing weight (say 20 lbs in my case), you might succeed, but you will almost certainly gain it back. That's because losing weight and controlling your weight are different things. You can easily lose weight merely by going on some weird diet. You can get liposuction. You can go to the moon. There are lost of quick fix approaches that will probably work. But this is the very essence of yo-yo dieting.
The idea here is not to lose weight. The idea is to be able to have very fine grain control of your weight. If you want to put on 5 pounds of fat, or take off 5 pounds it is very easy to do. This is part of being in control of your body.
I can see how it is easy to let the scale rule you. But, it is really nothing other than a measuring device. The *meaning* behind the measurement is up to you. That's why point #1 is point #1. You can't start my advice before you achieve it (and actually, that's the hardest part of the whole thing). If you don't accept your weight as it is; if you aren't OK with it right now, then you are not going to be able to get in control.
Perhaps it seems strange that you might want to change your weight, but still be OK with the weight you have. Here's an example. In my case I'm moving to a much hotter climate than I'm used to. I'm perfectly happy with my fat content (about 20% fat by weight, probably). It's probably fatter than society considers normal, but honestly I'm very comfortable with it. Especially in the winter it's nice to have some extra fat.
But it's going to work against me soon, so I'd rather reduce it. And really, it's easy to do, so I'll do it. At this point I don't really need a scale since I've got a good gut feeling for body fat percentage on my body. But a scale is nice to give me a little bit better fine grain control. If I'm hitting about 165 lbs consistently over a week or two I know I'm about 10% body fat. Personally, I don't want to go below that (experience has shown me that I get joint injuries in karate if I do), so a scale is useful.
Getting back to measuring. When losing weight (especially if you have a high fat content), you don't have to concern yourself overmuch with what you are losing. As long as you lose less than 3 lbs per week, and you are losing weight primarily from exercise, you are almost certainly losing all fat. Yes, your weight fluctuates greatly from time to time. That's why I recommend measuring every day. Your weight will be all over the place. Eventually you will figure out that you have to estimate your fat loss on about a weekly basis. That's OK.
But again, you aren't measuring "progress" here. You are merely measuring to see what's happening. If you don't measure (somehow), you can't attribute what you are doing with what is happening. It allows you to get experience with what effect your actions have. It also clearly shows the limitations with the measuring device. Without the measuring device it's hard to get a good understanding of the effect of your actions. A 5 lbs reduction in fat (which is 2-3 weeks worth of exercise at the best of times) is hard to see when you are carrying 60 extra pounds of fat. But over a 3 week period, it's very easy to see on the scale.
Once you start measuring you can do things like increase or reduce your exercise. Or increase or reduce your eating. Or whatever you want to do to finely control what's going on.
I've typed long enough. But my point is that the very act of measuring helps you take control of what you are doing. Not measuring means that you lack the feedback necessary for control. Sure, you will lose the weight. But losing the weight is not the goal. Being in control of this aspect of your body is the goal of what I was suggesting. I hope that makes some sense, but I'm sure it's still very controversial.
You raise some good points. Definitely proper technique is critical in running. I admit that I haven't trained with anyone who was more than 100 lbs overweight, so caveat emptor. However, running is a decent way to lose weight. Also, proper technique can be learned over time. You won't crush your knees running a small amount for the first month. That's the time to learn technique. Proper technique is not difficult to learn. Find someone to teach you.
All sports have their advantages and disadvantages. The most important thing is to pick something you will do every day. If someone told me a must swim to lose weight then I'd be 4000 lbs. I hate swimming with a passion (although I'm technically proficient at it having taken lessons for my entire childhood). I know other people who love it as much as I hate it, though. So that's what they should do.
Telling people not to run is bad advice. Running is a great exercise. Poor training technique can lead to injury (know anyone with screwed up rotator cuffs from swimming?) Getting proper instruction is important when you start training seriously no matter what you do. But just pick something and do your best. I love running, so that's what I do (most of the time -- I also like biking, weight lifting and karate). If you like swimming, do that.
I know there are a lot of people reading this thread who want to lose some weight. Actually, I'm probably 20 lbs heavier than I'd like to be right now. Pay attention to the parent post. Losing weight isn't actually difficult. It's a natural consequence of your actions.
But changing your actions can be difficult. Changing your whole life so you are "healthy" is a lifelong process. You can't do it in a day or a week or a year. It happens slowly over time. Trying to do more than you can do right now will do more harm than good.
I don't know if it will help anybody, but I'll leave some advice that's helped me in the past.
First, accept where you are. If you are 350 lbs, then you are 350 lbs. There is nothing in the world that can change that right now. In the future, your actions can have an impact on your weight. But nothing you do will affect your weight in the present. So relax. Life is still good. Get on with it and don't worry about it.
Second, measure yourself every day. If you are interested in your weight, then get a scale and step on it every day. Don't do this until you've finished step 1. If you can't look at your weight without being disgusted, then you can't improve. You *must* accept where you are and merely record your weight.
Third, pick some exercise that you can do and do it 6 days a week. I like running. If you are really heavy, then biking or swimming might be better. It doesn't really matter what you pick. But understand that the lower the intensity (i.e., the less energy it burns) the more time you have to do it. Try to find someone experienced to help you. The Running Room has free running clinics around here which are very good. Or you can do some sports at a community center very cheaply. The important thing is to do it *every day* (Well, I allow one day of rest).
When doing the exercise, start with an intensity and duration that makes you very tired. Every week add 10-15% to the duration. Adjust your intensity so that you are at about 80% exertion level (hard to guage when you first start, but you'll figure it out over time).
Fourth record your progress. If you are able to increase the duration and intensity every week, keep going. If not, back off for a week. It is possible to overtrain.
Fifth learn the difference between "Good hurt" and "Bad hurt". Talk to people who know about your sport. Understand what the difference is for your sport. "Good hurt" is something that's sore that won't lead to injury if you continue to train. "Bad hurt" is something that is getting injured as you train. For a variety of sports, it's difficult for a novice to tell the difference. Make sure to keep training even if you have "Good hurt". Take a break if you have "Bad hurt".
Note: At the beginning you will almost certainly experience a lot of "Good Hurt". Don't let it stop you. Push through it. It *does* go away. For running I find that you can start getting good runs somewhere in the 3rd week. If you have only tried exercising regularly (i.e. 6 days a week) for less than a month, then it's possible you have never experienced a good training day. Keep it up for at least 2 months before you decide you don't like the sport. It's easy to switch sports at that point anyway.
Six keep track of what you are eating. Writing it down is fine. Don't worry so much about it. But make sure you observe what you eat. Pay attention to it. As you continue training, the diet will often take care of itself. I've observed this many many times. I don't know why it works, but it does. As you start to train harder and harder, you will often start to eat much better. I don't know why.
Seven expect to ultimately be spending 1 to 2 hours a day training. Your final level will ultimately be determined by your interest. But that's a reasonable amount. Of course when you first start, that amount of time seems completely impossible. That's why you start small and increment by 10%.
Well, I've spent the last almost 20 years writing proprietary software for the usual suspects in the Canadian software scene. I took time off a couple of times to devote myself to free software, but then went back to writing proprietary stuff.
I've now "retired" from professional programming and I'm on my way to Japan (on Saturday) to teach English. I will continue to write free software (hopefully I'll make a new release in a month or so).
I've had a good career in the proprietary software industry. But the time has made me realize that free software is the way to go. Ironically, it has also made me realize that I don't want to be a professional programmer. In RMS's manifesto, he discusses how "not everyone needs to be a professional programmer". I never understood that before. I think I finally do, now (at least my own version of it).
In your career, you can choose to do something you feel you agree with, or you can do what other people tell you to do. As a professional programmer, I was making a lot of money. In exchange I did what people told me to do. But, honestly, I didn't need that much money. And I could easily do something else and have a better quality of life.
A friend of mine started a coding dojo and I went there a couple of times. I learned more there in 3 hours than I did in a whole week of "professional" programming. I don't need to be a professional programmer. Programming is still something I'm passionate about, but I don't need to do it for a living. I can accomplish far more working on my own, without the restrictions that the proprietary software industry imposed on me.
Now I'm an English teacher. I spend my working time helping students learn a language (if they want). Nothing I do is counter productive, or destructive to society. I make more than enough money to live comfortably. And in my spare time I write software.
Is that a good use of the bank's money? I'm not sure. But it's the best I can do.
Thanks for asking the question. I wonder if you'll ever see the response, or if it will make any sense even if you do.
Yes, RMS some software is always going to be closed because teh MBAs and accountants do not care about freedom but rather profit and they make the decisions to open source something.
I'm not RMS, but I'll respond anyway. What you say is very true. Some people will probably always write proprietary software. The point to free software is that it is better for the customer. It gives them more options. Personally, I would *never* choose proprietary software for mission critical applications if I had any reasonable choice. In the event that such software does not end up meeting my needs (e.g., it fails, or my needs change) I basically have no options other than to hope that the vendor will kindly modify the software for me in the time frame I need. With free software, I have many other options.
From my perspective, the task of education WRT to free software adoption is twofold: 1) Educate the users that they can obtain software that gives them important freedoms 2) Educate vendors that they can more easily/cheaply support their customers using free software business models.
I have worked in companies whose bean counters cannot fathom the benefits of free software. In some cases, this ended up not being important since there were no established free software alternatives in the market. But I have also witnessed companies whose margin gets driven so low that they can not provide *any* support due to free software competition. These companies end up failing and the market becomes dominated by free software. A good example of this is in the SIP PBX space, which is completely dominated by Asterisk.
The markets I've witnessed are generally those where enterprise sales are the most important. You can not (monetarily) compete against companies who give the software away and charge for support/customization. While free software solutions are generally not less expensive than proprietary, the customer ends up walking away with a lot more for their money (i.e., a fully customized system for their environment). Once the customers understand what they are getting, it makes competition against free software almost impossible.
It is possible that markets oriented towards retail consumers might not work as well with current free software business models. The customer, after all, can't afford to pay for support/customization. However, pairing free software with a service (e.g., VOIP) creates a situation where free software becomes attractive again. Similarly, ad supported software (e.g., Mozilla's Google search tab) creates a situation where free software is again very attractive (due to the fact that distribution and advertising costs are very low and most revenue is pumped into R&D).
In the end, I suspect that free software will eventually dominate almost all software production. Unless, of course, someone finds a way to make it practically illegal. This is where the real fight for free software is right now. But as long as a level playing field is maintained, I'm very happy to let the market decide for itself what it wants. If it turns out that I'm wrong, then I guess it means that the value of software freedom is less than I think it is. But I don't think that will be the case.
BTW, I encourage you to write and distribute software under any free software license. They *all* provide the benefits that I believe are important to customers. However, in your own interest, you might want to take a look at the GPL again. I have found that the GPL provides benefits for me as an author that other licenses don't have. And I don't think that it seriously impacts my users' ability to gain benefit from the software. In fact, the "share-alike" nature of the GPL enforces a consortium-like development effort which should create a significant amount of benefit for most users. But if you don't want those extra benefits, then I agree licenses such as the new BSD license might be best.
Interestingly enough, this kind of thing happened to me with an ATM. At the time, making a deposit made the money instantly available. But the bank used to hold my checks for 3 days. So if I deposited a check, they would remove that amount of money from my account and then add it again 3 days later.
At the beginning of the school term I was usually dead broke. I would get my paycheck, put it into the ATM and then immediately withdraw the money ('cause I needed it for rent or tuition or something frivolous like that). When they put a hold on my check, the balance would never go below 0. And when they put the money back in, they would always deposit the whole amount.
So if I had $5.27 in my account (not unusual at the time;-) ), deposited a $1000 check and withdrew it again, I would be left with a balance of $5.27. When they put a hold on the check, they would try to take the money out, but it would only go to $0.27 (strange bug). Then they would put the check back in and I'd have $1000.27.
This actually happened to me frequently (I was always short of cash and since I was busy I always used the ATM to deposit my checks). Every time it happened I would go with my receipts and attempt to return the money. Every time they would say, "No, you are mistaken. Everything is fine".
This went on for 3 years. And finally they seemed to fix their bug. I have no idea how much money I ended up with, but it's not an exaggeration to say that the bank pretty much paid for my schooling.
I have to assume that since I presented the bank with my receipts that they knew about the problem and were just trying to do damage control by convincing me the problem didn't exist. So somewhere out there is a hugely dysfunctional software team, who took 3 years to fix a blatantly obvious bug. Whoever you are, I seriously owe you some beer:-)
Saddam Hussein doesn't have to be in the right for Bush to be in the wrong.
The problems I have with this issue was:
1. The Bush administration had good advice from Colin Powell who was not only very good at his job, but also had a large amount of experience with Iraq. He was ignored. 2. The "intelligence" about Iraq being in contravention of the UN resolutions was wrong. I'm not saying that Iraq wasn't in contravention of the resolutions, but at the time of the invasion the information that was being touted was factually incorrect. Not only incorrect, but *obviously* incorrect. Who are we going to believe, anonymous "intelligence reports" of WMD, or UN weapons inspectors? 3. Whether or not members of the UN "fell on their face", acting unilaterally is completely unacceptable. Waiting until there was at least *some* concensus in the UN would have cost considerably less than the current debacle. The US is *not* the world's police force!!!!!!!
The current situation is that Iraq is very unstable. This instability could (and probably will) spill over into other areas of the middle east unless the US and Britain stay in Iraq. But the war in Iraq is getting increasingly expensive, both monetarily and politically. Mark my words: by next summer the US will start leaving and the *real* disaster will begin.
Had the US not invaded Iraq, that country would have still been led by a ruthless dictator. But the middle east would be considerably more stable. WMD would not have been created. We could have waited several years before acting *in concert* to remove Saddam Hussein. And the health of middle east politics wouldn't rest on the political will of the American people to continue pumping money and American lives into a war they barely have anything to do with. This isn't 20/20 hindsight. This is advice that was available to the Bush administration *before* their rash and insanely stupid move into Iraq.
So to conclude, I don't have to think Saddam Hussein was "in the right" to realize that the Bush administration completely and utterly fucked this one up.
I rip streams occasionally. But to be honest, I only do it to save bandwidth. I *like* listening to radio. I like hearing random songs that I may or may not have heard before. So when I rip streams, I do it with all the ads and cross-fades etc, etc. Then I just listen to it. Sometimes I'll rip a stream for a few hours and listen to it on my mp3 player. Sometimes I'll do it so I can listen to the stream at work without using up bandwidth.
Absolutely. And when I *do* eat chicken I buy a whole chicken and use every part. I was really surprised at the low price of sausage the other day too.
But it doesn't compare to the 17 cents a pound I can buy beans and grains for. If you scrimp and save, you can survive eating meat on my normal $4 a day. But eating vegan you can eat extremely well. It takes considerable effort to learn how to do it, unfortunately.
Actually, if you know a few farmers, $4 will buy you a *bushel* of wheat (about 50 lbs). Other veggie staples are similarly cheap. The cost of food is in the distribution, not production. But that's a whole other rant.
I had never heard of the food stamp challenge before. This is a brilliant idea! Thanks very much for posting it.
Living on such a small amount of money certainly is a challenge. And unfortunately, I believe many people approach it the wrong way. It is very possible to live healthily on a very small amount of money, but it requires a fair amount of education. Unfortunately, this incredibly important piece of knowledge is something that we don't teach in schools.
My normal diet costs me about $4 per day (which is a good 33% more than the challenge). And I admit that I haven't followed it for a good year now (not sure why, but I plan to get back to it!) In fact, I think I'll try to take that challenge!
The secret to eating healthy food for a small amount of money is not to eat animal products. Animal products are incredibly expensive. Instead, a diet based on grains, legumes and seasonal fruits/vegetables is both healthy and incredibly inexpensive. The problem is that it takes considerable amount of knowledge to learn how to cook this way. It's not how most of us were brought up, and learning a new food culture is quite difficult. Not only that, but cooking this way easily takes up half of my free time. So it really has to become your hobby.
But once you know how to cook this way it isn't so difficult. Some day I'll get around to writing up a web page for eating this way. I know that most people don't want to eat like this, and that's fine. But I think that some people might like to try it. Initially I started to eat like this because I was poor (well, I had a choice between meat and beer -- so I made the obvious choice!). But I quickly found that I enjoyed eating this way and continued to do so even after I started making more money.
It *is* a bit strange though to try to explain to people that I eat a vegan diet, but that I'm not a vegan;-) Or maybe I am... who knows...
This is a really great question! But unfortunately I have no really good answers. Working code in the real world runs the gamut from brilliant to horrible. And to make matters worse, this range exists usually within a single project.
Sorting the wheat from the chaf (sp?) is a difficult task. This is made even more difficult by the fact that you will get as many definitions for "good code" as the number of people you ask. I've thought a lot about what good code means to me. And I've finally arrived at an answer I think is acceptable.
Good code is code that is easy to modify. The easier it is to modify, the better the code. By "easy to modify" I mean that taken any random problem, the path to making the existing code solve that problem is straight forward and obvious to implement.
Even with this definition I run into problems. Normally people find their own code easy to modify, and other people's code difficult to modify. Thus, I make the extra statement that the easier it is for other people to modify, the better the code.
This lets out a lot of "pretty code". Above, someone posted a really great solution to "Hello, world". It is, in fact, extremely pretty. But it is not the simplest solution and thus difficult to modify. I would not call it (nor do I expect the author would call it) "good code".
Unfortunately I would categorize many "modern libraries" in this same group. They are often extremely well written and very pretty. But using them increases the complexity of the code and the resultant program is not what I would call "good". Often *not* using those libraries results in simpler and better code. But judicious use of the appropriate libraries is also essential to writing good code.
So, I wouldn't spend too much effort looking for good code. In fact, good code is often hard to recognize unless one tries to modify it (at least if you use my definition). So a better approach would be to practice writing and modifying code. A good place to do that can be a coding dojo.
These are groups that have sprung up in the last few years that practice doing coding problems. Being able to study these scenarios is one of the most important things you can do to improve your coding ability, IMHO. Most of these dojos use a variant of extreme programming to practice. I believe this is also worth learning, whether or not you end up using the practices on your own.
Do a google search for coding dojo and check out what they are doing. I think this will be closer to what you are looking for.
I may be in the wrong here, but to work on a Free and open project like the Hurd, it may be better to put forth the names of those within who may be doing more harm than good. Who was that individual, if I may ask?
I seriously thought about posting the name, but I decided against it. I realized that after 15 years I still was carrying a grudge, and that's not good. Second, I don't believe the person is working on the Hurd any longer. But if you really want to know, it's not hard to find out. The person in question was rather infamous for being abrupt with people. I think it's past time for me to let it go and to just assume that the person had poor people skills.
In the 90's, I think most of the people worked on Linux due to the unclear legal status of BSD, not some funny "morality" issue.
I'm going to disagree with you on this one. Having tried to contribute to all three of popular systems in the early nineties (Linux, BSD, and Hurd), Linux was the *only* one where you could easily get any work done. I still remember getting emails from a certain someone (not RMS) telling me to go away because they only wanted experienced people working on the Hurd.
People who have read my posts previously know I'm a huge FSF fan. I'm also a huge RMS fan. But Linus changed the way free software was written. It didn't matter who the hell you were, if your code was good it got submitted. Before Linux you often needed to be in a clique to work on a high profile project.
While RMS envisioned free software development, IMHO Linus was the first to really realize it. He was the first to lead a huge group of people to do amazing things over the internet. Free software owes him a huge amount. The way we work now, the things we take for granted, are in large part inspired by how he ran the Linux kernel project in those early years. Now almost everyone does it that way.
Maybe it's hard to understand how this was a choice of "morals". But quite seriously, after being treated like I was, I wouldn't work on the Hurd nor *-BSD if you paid me to. Linux was the place to be *precisely* because it implemented the moral situation that was ideal for free software development. Everyone was treated as an equal. There was no "secret code". There were no "private" repositories. You could just do your thing. If it was good enough, Linus would roll it into his distribution.
The GPL doesn't enforce morals. It is a legal document after all. But it can set the stage to clear barriers for people working together. Many licenses force people not to work together, even if they want to. They insist on creating classes of users/developers -- some with more rights than others. IMHO, this is the "moral" issue that the FSF is trying to tackle. There's a hell of a lot more to it than just a license. But it's a start.
So while most people didn't sit down and say "Hey, Linus is being more moral", people chose to work on the project simply because it was better. He actually acted in the spirit of license he chose. It was fun/possible to contribute. You didn't feel like a schmuck just for asking for the latest build. And I suspect if this ever changed dramatically in the Linux kernel development, you'd get a lot of people jumping ship.
P.S. You won't find my name amongst the Linux kernel developers. Shortly after started working on things I actually signed an inventions agreement that forbade me from doing free software development. Yes, I sold out. I did that for years and years. Until finally I got sick of treating my customers like shit. I finished my last proprietary gig a week ago and I'm not looking back.
Sigh... the author of the article seems to be yet another bozo trying to stuff words in Linus's mouth. Clearly people opposed to free software development have decided that trying to make GPL V3 a big issue will win them points.
What's interesting is that I haven't heard any criticism from the FSF over Linus's choice to keep the Linux kernel GPL V2. Clearly they want people to upgrade to GPL V3. In fact, here's RMS's editorial on the subject:
In it he doesn't even mention the Linux kernel. In fact he goes so far as to say it's OK to run a GPL V2 program side by side with a GPL V3 program.
I'm getting a little bit tired of this stuff. The spin doctors are working overtime to discredit free software developers. I think it's time we just ignored them and got back to writing code.
If the band is structured to make money off their live shows, and if they encourage unencumbered trading of the recordings... Then you have what you want. Finding music in the age of the internet is trivial. A separate distributor is completely unnecessary.
However, if you wish to contribute to a band you like, you can always donate money to them (a handy donation button on a webpage would work well). That way 100% of the money is theirs. Or spend some of your time promoting the band. Advertising is something the distributors usually deal with. But fans can have a huge impact. So in exchange for your free music, spend some of your free time making sure that your concert-going friends want to see their concert.
I firmly believe that most artists would actually do better *not* to sign record deals. Only a few people make good money off of the recording industry. It's a bit like a lottery. Every time this issue comes up on Slashdot, someone posts about how they make a decent living running their band as a business - book gigs, play, get paid.
Unfortunately, I suspect the reason we don't see artists abandoning the distributors en masse is that they aren't business people. They are artists. They see the pot of gold at the end of the rainbow and go for it.
I have a friend who is a fairly well known jazz artist. He has mentioned to me in the past that he would do "anything" to get out from under the record company's thumb. So I suggested doing the above. His response? "I can't do that. The record company doesn't let me." For the longest time I couldn't even buy his album because the label wouldn't sell it in my country. My friend wasn't even allowed to sell me his own album. But he still won't give up the "potential" to strike it rich.
Linus should have stuck to his non-commercial-use-only license. He only adopted the GPL because of pressure from others and has never believed in it. I don't advocate people doing things they don't believe in.
I'm generally a very pragmatic person: that which works, works. When it comes to software, I _much_ prefer free software, because I have very seldom seen a program that has worked well enough for my needs, and having sources available can be a life-saver.
So in that sense I am an avid promoter of free software, and GPL'd stuff in particular (because once it's GPL'd I _know_ it's going to stay free, so I don't have to worry about future releases).
Further more:
I changed the copyright to the GPL within roughly half a year: it quickly became evident that my original copyright was so restrictive that it prohibited some entirely valid uses (disk copying services etc - this was before CD-ROM's became really popular). And while I was nervous about the GPL at first, I also wanted to show my appreciation to the gcc C compiler that Linux depended on, which was obviously GPL'd.
Making Linux GPL'd was definitely the best thing I ever did.
So... I'd say you are completely and utterly wrong.
Actually, this isn't quite what I had in mind. In MS Office the items are invisible, yes. But they aren't where the user put them. So when the user learns something new, they move around. Or when the user is searching for new functionality, the old functionality moves.
Not showing the user functionality they don't need is good IMHO. Not allowing the user to put it somewhere where the user wants is bad. Moving it on them every 30 seconds is insane. The key is that searching for functionality is fundamentally different than using functionality. Also, learning functionality is fundamentally different from both searching and using. Using the same UI for all three concepts leads to serious problems.
The UI designer should design a great way to *search* for functionality. The UI designer should design a great way for the user to store functionality in places that they want. The UI designer should design a great way to *remind* the user where they put functionality. The UI designer should *never* design where the functionality should reside.
One of these days I'll get around to writing an app that implements this idea. Maybe it will turn out to be a bad idea. Maybe not.
I've never lived in a house with heat pumps, but ground source heat pumps (as opposed to air source heat pumps) are quite popular in Ottawa where I spent the last 12 years (-40 isn't unheard of). Usually these people supplement with a wood stove for emergencies. The nice thing about ground source heat pumps is that they can double as air conditioners for a small increase in price.
This year I'm living in Japan. I'm in a fairly hot area (it's still 20C/70F during the day right now), so the houses aren't insulated at all. Also, there is no central heat at all. In the winter it's supposed to get down to about 5 degrees (41F). I'm going to try to spend the winter without a room heater. Instead I'll use a kotatsu (kind of like a coffe table with an electric heater under it -- There is a comforter on top of the table that you snuggle under) and a hot water bottle. We'll see how it goes.
I think we've conditioned ourselves to think that we need it to be perfect temperature all year round. So this year I'm going to see if it's really all that it's cracked up to be. I spent the summer with 40C/104F without air conditioning or an electric fan and it was actually not bad. I might cave in the winter, though...
People will do the craziest things if it is in their culture to do so.
Japanese people tend to turn of the water when they are soaping themselves in the shower. North Americans do not. Telling North Americans to turn off the water while soaping will do nothing.
So why do Japanese people do it? Mostly because it's "the way you wash yourself". Any other way is absurd. The same can be said for North Americans.
To get large groups of people to do something different than what they are used to, you must change their culture. This is difficult, but not impossible. "Wartime" culture is an example of this. Since the rules have changed (Hey there's a war on don'cha know), it's easier to get people to do something different.
I personally believe that there are other ways to change culture than a spectacular external event. But my thoughts are still quite immature on this subject.
Not sure if this is really on topic, but I fee like rambling...
With respect to forcing users to switch between different modes, one of the things I find irritating about modern software UI design is that... well, that it's *designed*. Some guy (or girl or whatever) sits in a room and decides what I'm going to be doing.
In the (good) old days, there was no fancy pants GUI. You had a command line and a shell. And you chained together useful tasks through the shell. When you were in "find a file" mode, you just used "find" and piped it through some filters to do what you wanted.
My feeling is that these large applications are cluttered and bulky *because* they are designed to work in an integrated way. Instead, the functionality should be separated and the *user* should choose what they want to see and when. If the user wants a "photo touch up" mode then the user can create a mode for it and put all the "photo touch up" tools in it.
But this becomes very complicated. Asking the user to create modes from thousands of features is ridiculous. So the application shouldn't show the user anything that they don't already know how to do. When the user wants to do something new, the application should teach them how to do it, and then the functionality should be available. Before that, it's invisible. Once the user knows how to use the functionality, they should put it somewhere.
"Modes" and "known functionality" should be transportable with a configuration file that the user can take with them on a USB key. That way you can go to your mate's desk and have it work the same way it worked on your desk.
I guess the key for me is that my software should work like my kitchen. I should have the tools I want, where I want them, when I want them. I don't care how great a kitchen designer you are. My kitchen is set up how *I* want it. Maybe I'll hire you to come in and give me pointers. But I *don't* want a predesigned kitchen with tools that can only go in one place.
No wonder I can't see anything... It's not a flashlight...
I seem to remember seeing a set of powerpoint slides about 10-15 years ago which argued that 60% of everyone is incompetent at their job. The slides urged people to reflect on that - 60% of doctors, lawyers, politicians, etc are incompetent at their job.
I also seem to remember that these slides were purported to have come from a talk from Colin Powell... Can anyone find me a link to the original slides?
By "then they fight you and then you win" Gandhi was referring to masses of people getting the shit kicked out of them for going down to the beach to make salt. Or people being gunned down in the hundreds for peacefully sitting around in a temple. Whatever you think of the applicability of his methods in other areas he successfully understood the political forces at work and realized that getting the snot kicked out of him in front of the media would win the fight.
To sum up he said "they fight you", not "you fight them". He allowed people to be attacked in order to win the war. In his own words, the people of India were soldiers and sometimes soldiers die. Peacefully walking into to gunfire and dieing was part of the strategy.
Personally, I think this is the best way to go about it in the Free software world too. If Microsoft attacks you, don't attack back. Just publicize it. If Microsoft attacks forcefully enough to do anything significant, the bloodshed will be obvious. In any case, keep walking to the beach to make salt.
Keep writing and using free software. Keep helping others. Don't fight.
For heating houses, wood makes a lot of sense (especially compressed pulp/sawdust). Wood furnaces are incredibly efficient and it is a renewable resource.
.0017 acres of land. So it seems that you could sustainably heat your house with less than 0.1 acres of land if you can get by with 1 cord of wood per year. So that would be great for people with fairly large properties (the size is about 66 feet on each side).
About half way through: http://www.na.fs.fed.us/pubs/silvics_manual/Volume_1/pinus/strobus.htm they list the yield for white pine (in a *natural* forest). It's somewhere between 300 - 800 fbm per year per acre (assuming harvesting of 50 year old trees). Assuming 1 cord is about 500 board feet (a number I pulled mostly out of my ass since you can't really convert reliably) and assuming 300 fbm per year, this means that 1 cord of wood represents about
But in terms of land use a ground source heat pump driven by solar power (with batteries) will take up a lot less room.
Although I'm sure you intended the post to be facetious, in reality I think you fairly characterized the situation. Whether or not you are an "Earth First Type", it makes sense to minimize the cost of your activities. Right now we don't really factor environmental degradation into our economic situation. Instead we pretty much allow anyone to do whatever they want at no cost until there is a crisis (and even then we argue endlessly about whether or not it really is a crisis). A good example of this are the fisheries on the east coast of Canada. 50 years ago the thought that you could not catch cod in Canada was a completely absurd notion. Due to overfishing the fisheries have been closed for years.
Most of our activities have an environmental cost. Factoring that into the "cost of doing business" will help to naturally select activities that reduce the environmental costs. Part of factoring environmental costs into business is identifying the actual cost. Almost certainly the most sane strategy will be one that spreads the environmental burden across many different areas so as reduce the cost. Providing all of the US's electrical energy requirements by covering Nevada with solar cells is probably prohibitively expensive, environmentally. But this doesn't mean that some areas can't be used as part of the solution.
But the best solution is still conservation. As long as energy remains at an artificially low price (with respect to environmental costs), people will continue to use it without reserve. Identifying environmental costs and setting prices so as to minimize those costs does not seem to me to be at all unreasonable. Trying to ensure that the environmental burden is spread out rather than in one area can also help minimize costs. And finally asking people not to use expensive resources unnecessarily seems reasonable to me. Maybe I'm not an "Earth First type", though.
Thanks for bringing this up. You are right that this statement is probably the most controversial part of what I said. But I maintain that measurement is crucial to achieving control. And that's a really important issue that I didn't discuss.
If you have a goal of losing weight (say 20 lbs in my case), you might succeed, but you will almost certainly gain it back. That's because losing weight and controlling your weight are different things. You can easily lose weight merely by going on some weird diet. You can get liposuction. You can go to the moon. There are lost of quick fix approaches that will probably work. But this is the very essence of yo-yo dieting.
The idea here is not to lose weight. The idea is to be able to have very fine grain control of your weight. If you want to put on 5 pounds of fat, or take off 5 pounds it is very easy to do. This is part of being in control of your body.
I can see how it is easy to let the scale rule you. But, it is really nothing other than a measuring device. The *meaning* behind the measurement is up to you. That's why point #1 is point #1. You can't start my advice before you achieve it (and actually, that's the hardest part of the whole thing). If you don't accept your weight as it is; if you aren't OK with it right now, then you are not going to be able to get in control.
Perhaps it seems strange that you might want to change your weight, but still be OK with the weight you have. Here's an example. In my case I'm moving to a much hotter climate than I'm used to. I'm perfectly happy with my fat content (about 20% fat by weight, probably). It's probably fatter than society considers normal, but honestly I'm very comfortable with it. Especially in the winter it's nice to have some extra fat.
But it's going to work against me soon, so I'd rather reduce it. And really, it's easy to do, so I'll do it. At this point I don't really need a scale since I've got a good gut feeling for body fat percentage on my body. But a scale is nice to give me a little bit better fine grain control. If I'm hitting about 165 lbs consistently over a week or two I know I'm about 10% body fat. Personally, I don't want to go below that (experience has shown me that I get joint injuries in karate if I do), so a scale is useful.
Getting back to measuring. When losing weight (especially if you have a high fat content), you don't have to concern yourself overmuch with what you are losing. As long as you lose less than 3 lbs per week, and you are losing weight primarily from exercise, you are almost certainly losing all fat. Yes, your weight fluctuates greatly from time to time. That's why I recommend measuring every day. Your weight will be all over the place. Eventually you will figure out that you have to estimate your fat loss on about a weekly basis. That's OK.
But again, you aren't measuring "progress" here. You are merely measuring to see what's happening. If you don't measure (somehow), you can't attribute what you are doing with what is happening. It allows you to get experience with what effect your actions have. It also clearly shows the limitations with the measuring device.
Without the measuring device it's hard to get a good understanding of the effect of your actions. A 5 lbs reduction in fat (which is 2-3 weeks worth of exercise at the best of times) is hard to see when you are carrying 60 extra pounds of fat. But over a 3 week period, it's very easy to see on the scale.
Once you start measuring you can do things like increase or reduce your exercise. Or increase or reduce your eating. Or whatever you want to do to finely control what's going on.
I've typed long enough. But my point is that the very act of measuring helps you take control of what you are doing. Not measuring means that you lack the feedback necessary for control. Sure, you will lose the weight. But losing the weight is not the goal. Being in control of this aspect of your body is the goal of what I was suggesting. I hope that makes some sense, but I'm sure it's still very controversial.
You raise some good points. Definitely proper technique is critical in running. I admit that I haven't trained with anyone who was more than 100 lbs overweight, so caveat emptor. However, running is a decent way to lose weight. Also, proper technique can be learned over time. You won't crush your knees running a small amount for the first month. That's the time to learn technique. Proper technique is not difficult to learn. Find someone to teach you.
All sports have their advantages and disadvantages. The most important thing is to pick something you will do every day. If someone told me a must swim to lose weight then I'd be 4000 lbs. I hate swimming with a passion (although I'm technically proficient at it having taken lessons for my entire childhood). I know other people who love it as much as I hate it, though. So that's what they should do.
Telling people not to run is bad advice. Running is a great exercise. Poor training technique can lead to injury (know anyone with screwed up rotator cuffs from swimming?) Getting proper instruction is important when you start training seriously no matter what you do. But just pick something and do your best. I love running, so that's what I do (most of the time -- I also like biking, weight lifting and karate). If you like swimming, do that.
I know there are a lot of people reading this thread who want to lose some weight. Actually, I'm probably 20 lbs heavier than I'd like to be right now. Pay attention to the parent post. Losing weight isn't actually difficult. It's a natural consequence of your actions.
But changing your actions can be difficult. Changing your whole life so you are "healthy" is a lifelong process. You can't do it in a day or a week or a year. It happens slowly over time. Trying to do more than you can do right now will do more harm than good.
I don't know if it will help anybody, but I'll leave some advice that's helped me in the past.
First, accept where you are. If you are 350 lbs, then you are 350 lbs. There is nothing in the world that can change that right now. In the future, your actions can have an impact on your weight. But nothing you do will affect your weight in the present. So relax. Life is still good. Get on with it and don't worry about it.
Second, measure yourself every day. If you are interested in your weight, then get a scale and step on it every day. Don't do this until you've finished step 1. If you can't look at your weight without being disgusted, then you can't improve. You *must* accept where you are and merely record your weight.
Third, pick some exercise that you can do and do it 6 days a week. I like running. If you are really heavy, then biking or swimming might be better. It doesn't really matter what you pick. But understand that the lower the intensity (i.e., the less energy it burns) the more time you have to do it. Try to find someone experienced to help you. The Running Room has free running clinics around here which are very good. Or you can do some sports at a community center very cheaply. The important thing is to do it *every day* (Well, I allow one day of rest).
When doing the exercise, start with an intensity and duration that makes you very tired. Every week add 10-15% to the duration. Adjust your intensity so that you are at about 80% exertion level (hard to guage when you first start, but you'll figure it out over time).
Fourth record your progress. If you are able to increase the duration and intensity every week, keep going. If not, back off for a week. It is possible to overtrain.
Fifth learn the difference between "Good hurt" and "Bad hurt". Talk to people who know about your sport. Understand what the difference is for your sport. "Good hurt" is something that's sore that won't lead to
injury if you continue to train. "Bad hurt" is something that is getting injured as you train. For a variety of sports, it's difficult for a novice to tell the difference. Make sure to keep training even if you have "Good hurt". Take a break if you have "Bad hurt".
Note: At the beginning you will almost certainly experience a lot of "Good Hurt". Don't let it stop you. Push through it. It *does* go away. For running I find that you can start getting good runs somewhere in the 3rd week. If you have only tried exercising regularly (i.e. 6 days a week) for less than a month, then it's possible you have never experienced a good training day. Keep it up for at least 2 months before you decide you don't like the sport. It's easy to switch sports at that point anyway.
Six keep track of what you are eating. Writing it down is fine. Don't worry so much about it. But make sure you observe what you eat. Pay attention to it. As you continue training, the diet will often take care of itself. I've observed this many many times. I don't know why it works, but it does. As you start to train harder and harder, you will often start to eat much better. I don't know why.
Seven expect to ultimately be spending 1 to 2 hours a day training. Your final level will ultimately be determined by your interest. But that's a reasonable amount. Of course when you first start, that amount of time seems completely impossible. That's why you start small and increment by 10%.
Expect it to take 4-6 mon
Well, I've spent the last almost 20 years writing proprietary software for the usual suspects in the Canadian software scene. I took time off a couple of times to devote myself to free software, but then went back to writing proprietary stuff.
I've now "retired" from professional programming and I'm on my way to Japan (on Saturday) to teach English. I will continue to write free software (hopefully I'll make a new release in a month or so).
I've had a good career in the proprietary software industry. But the time has made me realize that free software is the way to go. Ironically, it has also made me realize that I don't want to be a professional programmer. In RMS's manifesto, he discusses how "not everyone needs to be a professional programmer". I never understood that before. I think I finally do, now (at least my own version of it).
In your career, you can choose to do something you feel you agree with, or you can do what other people tell you to do. As a professional programmer, I was making a lot of money. In exchange I did what people told me to do. But, honestly, I didn't need that much money. And I could easily do something else and have a better quality of life.
A friend of mine started a coding dojo and I went there a couple of times. I learned more there in 3 hours than I did in a whole week of "professional" programming. I don't need to be a professional programmer. Programming is still something I'm passionate about, but I don't need to do it for a living. I can accomplish far more working on my own, without the restrictions that the proprietary software industry imposed on me.
Now I'm an English teacher. I spend my working time helping students learn a language (if they want). Nothing I do is counter productive, or destructive to society. I make more than enough money to live comfortably. And in my spare time I write software.
Is that a good use of the bank's money? I'm not sure. But it's the best I can do.
Thanks for asking the question. I wonder if you'll ever see the response, or if it will make any sense even if you do.
I'm not RMS, but I'll respond anyway. What you say is very true. Some people will probably always write proprietary software. The point to free software is that it is better for the customer. It gives them more options. Personally, I would *never* choose proprietary software for mission critical applications if I had any reasonable choice. In the event that such software does not end up meeting my needs (e.g., it fails, or my needs change) I basically have no options other than to hope that the vendor will kindly modify the software for me in the time frame I need. With free software, I have many other options.
From my perspective, the task of education WRT to free software adoption is twofold: 1) Educate the users that they can obtain software that gives them important freedoms 2) Educate vendors that they can more easily/cheaply support their customers using free software business models.
I have worked in companies whose bean counters cannot fathom the benefits of free software. In some cases, this ended up not being important since there were no established free software alternatives in the market. But I have also witnessed companies whose margin gets driven so low that they can not provide *any* support due to free software competition. These companies end up failing and the market becomes dominated by free software. A good example of this is in the SIP PBX space, which is completely dominated by Asterisk.
The markets I've witnessed are generally those where enterprise sales are the most important. You can not (monetarily) compete against companies who give the software away and charge for support/customization.
While free software solutions are generally not less expensive than proprietary, the customer ends up walking away with a lot more for their money (i.e., a fully customized system for their environment). Once the customers
understand what they are getting, it makes competition against free software almost impossible.
It is possible that markets oriented towards retail consumers might not work as well with current free software business models. The customer, after all, can't afford to pay for support/customization. However, pairing free software with a service (e.g., VOIP) creates a situation where free software becomes attractive again. Similarly, ad supported software (e.g., Mozilla's Google search tab) creates a situation where free software is again very attractive (due to the fact that distribution and advertising costs are very low and most revenue is pumped into R&D).
In the end, I suspect that free software will eventually dominate almost all software production. Unless, of course, someone finds a way to make it practically illegal. This is where the real fight for free software is right now. But as long as a level playing field is maintained, I'm very happy to let the market decide for itself what it wants. If it turns out that I'm wrong, then I guess it means that the value of software freedom is less than I think it is. But I don't think that will be the case.
BTW, I encourage you to write and distribute software under any free software license. They *all* provide the benefits that I believe are important to customers. However, in your own interest, you might want to take a look at the GPL again. I have found that the GPL provides benefits for me as an author that other licenses don't have. And I don't think that it seriously impacts my users' ability to gain benefit from the software. In fact, the "share-alike" nature of the GPL enforces a consortium-like development effort which should create a significant amount of benefit for most users. But if you don't want those extra benefits, then I agree licenses such as the new BSD license might be best.
Interestingly enough, this kind of thing happened to me with an ATM. At the time, making a deposit made the money instantly available. But the bank used to hold my checks for 3 days. So if I deposited a check, they would remove that amount of money from my account and then add it again 3 days later.
;-) ), deposited a $1000 check and withdrew it again, I would be left with a balance of $5.27. When they put a hold on the check, they would try to take the money out, but it would only go to $0.27 (strange bug). Then they would put the check back in and I'd have $1000.27.
:-)
At the beginning of the school term I was usually dead broke. I would get my paycheck, put it into the ATM and then immediately withdraw the money ('cause I needed it for rent or tuition or something frivolous like that). When they put a hold on my check, the balance would never go below 0. And when they put the money back in, they would always deposit the whole amount.
So if I had $5.27 in my account (not unusual at the time
This actually happened to me frequently (I was always short of cash and since I was busy I always used the ATM to deposit my checks). Every time it happened I would go with my receipts and attempt to return the money. Every time they would say, "No, you are mistaken. Everything is fine".
This went on for 3 years. And finally they seemed to fix their bug. I have no idea how much money I ended up with, but it's not an exaggeration to say that the bank pretty much paid for my schooling.
I have to assume that since I presented the bank with my receipts that they knew about the problem and were just trying to do damage control by convincing me the problem didn't exist. So somewhere out there is a hugely dysfunctional software team, who took 3 years to fix a blatantly obvious bug. Whoever you are, I seriously owe you some beer
Saddam Hussein doesn't have to be in the right for Bush to be in the wrong.
The problems I have with this issue was:
1. The Bush administration had good advice from Colin Powell who was not only very good at his job, but also had a large amount of experience with Iraq. He was ignored.
2. The "intelligence" about Iraq being in contravention of the UN resolutions was wrong. I'm not saying that Iraq wasn't in contravention of the resolutions, but at the time of the invasion the information that was being touted was factually incorrect. Not only incorrect, but *obviously* incorrect. Who are we going to believe, anonymous "intelligence reports" of WMD, or UN weapons inspectors?
3. Whether or not members of the UN "fell on their face", acting unilaterally is completely unacceptable. Waiting until there was at least *some* concensus in the UN would have cost considerably less than the current debacle. The US is *not* the world's police force!!!!!!!
The current situation is that Iraq is very unstable. This instability could (and probably will) spill over into other areas of the middle east unless the US and Britain stay in Iraq. But the war in Iraq is getting increasingly expensive, both monetarily and politically. Mark my words: by next summer the US will start leaving and the *real* disaster will begin.
Had the US not invaded Iraq, that country would have still been led by a ruthless dictator. But the middle east would be considerably more stable. WMD would not have been created. We could have waited several years before acting *in concert* to remove Saddam Hussein. And the health of middle east politics wouldn't rest on the political will of the American people to continue pumping money and American lives into a war they barely have anything to do with. This isn't 20/20 hindsight. This is advice that was available to the Bush administration *before* their rash and insanely stupid move into Iraq.
So to conclude, I don't have to think Saddam Hussein was "in the right" to realize that the Bush administration completely and utterly fucked this one up.
I rip streams occasionally. But to be honest, I only do it to save bandwidth. I *like* listening to radio. I like hearing random songs that I may or may not have heard before. So when I rip streams, I do it with all the ads and cross-fades etc, etc. Then I just listen to it. Sometimes I'll rip a stream for a few hours and listen to it on my mp3 player. Sometimes I'll do it so I can listen to the stream at work without using up bandwidth.
Absolutely. And when I *do* eat chicken I buy a whole chicken and use every part. I was really surprised at the low price of sausage the other day too.
But it doesn't compare to the 17 cents a pound I can buy beans and grains for. If you scrimp and save, you can survive eating meat on my normal $4 a day. But eating vegan you can eat extremely well. It takes considerable effort to learn how to do it, unfortunately.
Actually, if you know a few farmers, $4 will buy you a *bushel* of wheat (about 50 lbs). Other veggie staples are similarly cheap. The cost of food is in the distribution, not production. But that's a whole other rant.
I had never heard of the food stamp challenge before. This is a brilliant idea! Thanks very much for posting it.
;-)
Living on such a small amount of money certainly is a challenge. And unfortunately, I believe many people approach it the wrong way. It is very possible to live healthily on a very small amount of money, but it requires a fair amount of education. Unfortunately, this incredibly important piece of knowledge is something that we don't teach in schools.
My normal diet costs me about $4 per day (which is a good 33% more than the challenge). And I admit that I haven't followed it for a good year now (not sure why, but I plan to get back to it!) In fact, I think I'll try to take that challenge!
The secret to eating healthy food for a small amount of money is not to eat animal products. Animal products are incredibly expensive. Instead, a diet based on grains, legumes and seasonal fruits/vegetables is both healthy and incredibly inexpensive. The problem is that it takes considerable amount of knowledge to learn how to cook this way. It's not how most of us were brought up, and learning a new food culture is quite difficult. Not only that, but cooking this way easily takes up half of my free time. So it really has to become your hobby.
But once you know how to cook this way it isn't so difficult. Some day I'll get around to writing up a web page for eating this way. I know that most people don't want to eat like this, and that's fine. But I think that some people might like to try it. Initially I started to eat like this because I was poor (well, I had a choice between meat and beer -- so I made the obvious choice!). But I quickly found that I enjoyed eating this way and continued to do so even after I started making more money.
It *is* a bit strange though to try to explain to people that I eat a vegan diet, but that I'm not a vegan
Or maybe I am... who knows...
This is a really great question! But unfortunately I have no really good answers. Working code in the real world runs the gamut from brilliant to horrible. And to make matters worse, this range exists usually within a single project.
Sorting the wheat from the chaf (sp?) is a difficult task. This is made even more difficult by the fact that you will get as many definitions for "good code" as the number of people you ask. I've thought a lot about what good code means to me. And I've finally arrived at an answer I think is acceptable.
Good code is code that is easy to modify. The easier it is to modify, the better the code. By "easy to modify" I mean that taken any random problem, the path to making the existing code solve that problem is straight forward and obvious to implement.
Even with this definition I run into problems. Normally people find their own code easy to modify, and other people's code difficult to modify. Thus, I make the extra statement that the easier it is for other people to modify, the better the code.
This lets out a lot of "pretty code". Above, someone posted a really great solution to "Hello, world". It is, in fact, extremely pretty. But it is not the simplest solution and thus difficult to modify. I would not call it (nor do I expect the author would call it) "good code".
Unfortunately I would categorize many "modern libraries" in this same group. They are often extremely well written and very pretty. But using them increases the complexity of the code and the resultant program is not what I would call "good". Often *not* using those libraries results in simpler and better code. But judicious use of the appropriate libraries is also essential to writing good code.
So, I wouldn't spend too much effort looking for good code. In fact, good code is often hard to recognize unless one tries to modify it (at least if you use my definition). So a better approach would be to practice writing and modifying code. A good place to do that can be a coding dojo.
These are groups that have sprung up in the last few years that practice doing coding problems. Being able to study these scenarios is one of the most important things you can do to improve your coding ability, IMHO. Most of these dojos use a variant of extreme programming to practice. I believe this is also worth learning, whether or not you end up using the practices on your own.
Do a google search for coding dojo and check out what they are doing. I think this will be closer to what you are looking for.
I seriously thought about posting the name, but I decided against it. I realized that after 15 years I still was carrying a grudge, and that's not good. Second, I don't believe the person is working on the Hurd any longer. But if you really want to know, it's not hard to find out. The person in question was rather infamous for being abrupt with people. I think it's past time for me to let it go and to just assume that the person had poor people skills.
I'm going to disagree with you on this one. Having tried to contribute to all three of popular systems in the early nineties (Linux, BSD, and Hurd), Linux was the *only* one where you could easily get any work done. I still remember getting emails from a certain someone (not RMS) telling me to go away because they only wanted experienced people working on the Hurd.
People who have read my posts previously know I'm a huge FSF fan. I'm also a huge RMS fan. But Linus changed the way free software was written. It didn't matter who the hell you were, if your code was good it got submitted. Before Linux you often needed to be in a clique to work on a high profile project.
While RMS envisioned free software development, IMHO Linus was the first to really realize it. He was the first to lead a huge group of people to do amazing things over the internet. Free software owes him a huge amount. The way we work now, the things we take for granted, are in large part inspired by how he ran the Linux kernel project in those early years. Now almost everyone does it that way.
Maybe it's hard to understand how this was a choice of "morals". But quite seriously, after being treated like I was, I wouldn't work on the Hurd nor *-BSD if you paid me to. Linux was the place to be *precisely* because it implemented the moral situation that was ideal for free software development. Everyone was treated as an equal. There was no "secret code". There were no "private" repositories. You could just do your thing. If it was good enough, Linus would roll it into his distribution.
The GPL doesn't enforce morals. It is a legal document after all. But it can set the stage to clear barriers for people working together. Many licenses force people not to work together, even if they want to. They insist on creating classes of users/developers -- some with more rights than others. IMHO, this is the "moral" issue that the FSF is trying to tackle. There's a hell of a lot more to it than just a license. But it's a start.
So while most people didn't sit down and say "Hey, Linus is being more moral", people chose to work on the project simply because it was better. He actually acted in the spirit of license he chose. It was fun/possible to contribute. You didn't feel like a schmuck just for asking for the latest build. And I suspect if this ever changed dramatically in the Linux kernel development, you'd get a lot of people jumping ship.
P.S. You won't find my name amongst the Linux kernel developers. Shortly after started working on things I actually signed an inventions agreement that forbade me from doing free software development. Yes, I sold out. I did that for years and years. Until finally I got sick of treating my customers like shit. I finished my last proprietary gig a week ago and I'm not looking back.
I wish I had mod points...
Sigh... the author of the article seems to be yet another bozo trying to stuff words in Linus's mouth. Clearly people opposed to free software development have decided that trying to make GPL V3 a big issue will win them points.
What's interesting is that I haven't heard any criticism from the FSF over Linus's choice to keep the Linux kernel GPL V2. Clearly they want people to upgrade to GPL V3. In fact, here's RMS's editorial on the subject:
http://gplv3.fsf.org/rms-why.html
In it he doesn't even mention the Linux kernel. In fact he goes so far as to say it's OK to run a GPL V2 program side by side with a GPL V3 program.
I'm getting a little bit tired of this stuff. The spin doctors are working overtime to discredit free software developers. I think it's time we just ignored them and got back to writing code.
If the band is structured to make money off their live shows, and if they encourage unencumbered trading of the recordings... Then you have what you want. Finding music in the age of the internet is trivial. A separate distributor is completely unnecessary.
However, if you wish to contribute to a band you like, you can always donate money to them (a handy donation button on a webpage would work well). That way 100% of the money is theirs. Or spend some of your time promoting the band. Advertising is something the distributors usually deal with. But fans can have a huge impact. So in exchange for your free music, spend some of your free time making sure that your concert-going friends want to see their concert.
I firmly believe that most artists would actually do better *not* to sign record deals. Only a few people make good money off of the recording industry. It's a bit like a lottery. Every time this issue comes up on Slashdot, someone posts about how they make a decent living running their band as a business - book gigs, play, get paid.
Unfortunately, I suspect the reason we don't see artists abandoning the distributors en masse is that they aren't business people. They are artists. They see the pot of gold at the end of the rainbow and go for it.
I have a friend who is a fairly well known jazz artist. He has mentioned to me in the past that he would do "anything" to get out from under the record company's thumb. So I suggested doing the above. His response? "I can't do that. The record company doesn't let me." For the longest time I couldn't even buy his album because the label wouldn't sell it in my country. My friend wasn't even allowed to sell me his own album. But he still won't give up the "potential" to strike it rich.
I'm generally a very pragmatic person: that which works, works. When it comes to software, I _much_ prefer free software, because I have very seldom seen a program that has worked well enough for my needs, and having sources available can be a life-saver.From an interview with Linus Torvalds himself - http://www.tlug.jp/docs/linus.html :
So in that sense I am an avid promoter of free software, and GPL'd stuff in particular (because once it's GPL'd I _know_ it's going to stay free, so I don't have to worry about future releases).
I changed the copyright to the GPL within roughly half a year: it quickly became evident that my original copyright was so restrictive that it prohibited some entirely valid uses (disk copying services etc - this was before CD-ROM's became really popular). And while I was nervous about the GPL at first, I also wanted to show my appreciation to the gcc C compiler that Linux depended on, which was obviously GPL'd.Further more:
Making Linux GPL'd was definitely the best thing I ever did.
So... I'd say you are completely and utterly wrong.