I think it's also worth mentioning that one DOES need to learn to use software. It's really strange that people think the computer should know exactly what they need, display it on the screen, and nothing else.
As far as I can tell, it's a problem that was created from both sides. Users are always lazy (for anything and everything -- for instance, if you didn't have to pass a test to get a driver's license, nobody would ever take driving lessons and learn how to drive properly), but the industry is just as much to blame for humoring such beliefs. For example, this menu-hiding functionality was spawned directly from the belief that, "The user shouldn't need to learn how to use the software." Menu items that a user never uses, or uses rarely, will get hidden in an attempt to simplify the interface (hide functionality from users that don't use that functionality). Of course, it then pisses off the user the one or two times they do need to use that hidden functionality. I wonder how often this causes a user to believe that the software can't do what they want (when it really can, but the option is hidden), so they switch to a different application? Probably not a big problem with Word or Excel, but if TurboTax hid the option to itemize how many people do you think would switch over to TaxCut? (obligatory tax-related example, given the time of year)
In my opinion, this mind set needs to change. If you don't know how to work on your car, and you don't want to learn, then you go pay a mechanic to do it for you. The same thing should apply to softare. If you don't know how to user Word and you don't want to learn, you should be able to pay someone to do what you need. If you're too cheap to pay, then you'd better be willing to learn.
On a related topic, we geeks need to stop doing free tech support for friends and family simply because we're the people they know who "know computers". If you must help your friends and family with their computer problems, charge them money. Even better, you should refuse to help unless they've exhausted all their options. Otherwise, they'll never learn and just keep coming back every time they get a popup window they don't understand. It's the age old, "Teach a man to fish," problem.
wish I knew how to turn off the "feature" that obnoxiously shortens the toolbar dialogues so that it takes a total of 3 fucking clicks (on a 1600x1200 screen, where there's no damn need for conservation of space) to go file->stupid down arrow button bullsit->s_a_ve as. Every time I want to save a document as another name (useful in templating, revising old documents without saving the changes to the old one), or simply fiddle around with formatting, it makes my blood boil when I have to click to see the rest of the goodamn menu. I was so fed up one time that I absolutely felt sick to my stomach and had to walk away otherwise the new vein in my forehead was going to make my monitor a mess!
Rather than bitching, why not spend a little time figuring it out? It's pretty obvious, if you think about it. Here we go. First, choose the Tools menu, because Tools always contains configuration menu options. Next, choose Customize under tools, because Customize in is where you customize menus and toolbars in Office applications (and many other Microsoft apps as well). Click over to the Options tab, because you're looking for options (the other two, Toolbars and Commands, are obviously not what you want). Looky there! I see a checkbox for "Always show full menus"! I wonder what that could do?
Yes, it's "buried", but it's buried in a logical place if you're familiar with Office products. (disclaimer: The above steps are for Word 2003. They may be different on older versions, but probably not.)
"DVD's" and "CD's" are not plural. They're possessive ("my DVD's surface is all scratched up because I'm an idiot") or contractions ("That DVD's about a guy who can't pluralize"), but notplural. If you want the plural form of "DVD", it's pretty simple -- add an 's' without the apostrophe, as in "DVDs". Is that so hard?
I've been poking around google maps for a week, thrilled to see the detail in places, but I havent' found an "easter egg" yet!
Not on Google Maps, and not much of an easter egg, but while looking at my place of work on TerraServer, I could clearly make out my own car parked outside of the building. Pretty neat, but not cool on the scale of a firefight captured on satellite.
YOU are the person that TiVo was invented for. Buy it now, accept no substitutes.
I already have a Tivo, and I also accept the substitute of Comcast's DVR (because it can record HD streams). The annoying thing is that Comcast's DVR always starts recording about a minute before it's scheduled to do so, which means every episode of 24 is prefaced by a bit of American Idol (which I skip right through, but it's still annoying). As well, because the Comcast DVR doesn't have Tivo's lovely 30 second skip, I end up fast-forwarding to bumpers right before a show returns, and in the case of most Fox shows that will often be an American Idol commercial. Again, I only have to sit through 3 or 4 seconds of it, but it's still annoying. Finally, if I just have the TV on (as background noise, or watching the news), I again have to deal with American Idol commercials. Sure, I could pause the news for 15 minutes before I start watching, but that's annoying (and yes, I watch the local news on a Fox channel).
Besides, it's a little hard to Tivo lunch table conversations at work and skip over the American Idol parts.
with an exception or two like American Idol, which thankfully isn't saturated everywhere like Survivor was
American Idol isn't saturated everywhere? It's on three nights a week! It's advertised everywhere! All I want to do is watch an episode of 24, or House, and I have to deal with American Idol. I have to hear about it at work. American Idol winners have made movies. Radio stations have parodied the American Idol formula, as have porn movies. American Idol is everywhere, and I can't recall Survivor being spread around this much.
If some cows where milked at 5am and some others at 5:45am how did they determine that ? Ask each cow what time he prefers ? Let them discuss between each other until they come to a consensus on the milking order ? Im sorry, but you are assuming cows are machines with a limited set of options. They are living things, that can adjust, and they will adjust to even drastic changes. All it takes is a procedure to do it gradualy and it shouldnt affect them much.
In this respect, cows are machines. Milk generation is a function of time. If it takes 12 hours to create a full load of milk, then so long as the cow is milked every 12 hours it doesn't matter what that actual time is. Thus, a cow milked at 5am and 5pm every day is always 12 hours between milkings, and a cow milked at 5:45am and 5:45pm is also always 12 hours between milkings.
As a previous poster noted, cows are fickle animals that like routine. They certainly can adapt, but they don't like to do so (go back to the pee argument -- you certainly can hold off urination for an extra hour, but you're going to be a surly son of a bitch while you wait). It is uncomfortable, and can hurt. Why you would do that to an animal for an arbitrary time change is beyond my comprehension. However, the adjustment is fairly easy -- just get up an hour "ealier" (which would still be the same time of day, just earlier on the clock) when DST changes, and continue to milk the cows at the same time. It's just an inconvenience for the milker to do so, and makes it more likely to introduce error.
As for my experience, I said I don't have direct experience actually milking cows myself. That's not the same as having no experience with the subject matter at all. Aside from myself and my younger brother, my immediate family (grandparents, parents, older brother, and also many aunts, uncles, and cousins) farms (or farmed, in the case of my grandparents). While my parents don't farm dairy, I grew up around many that did.
Back before there were any domesticated bovie there weren't people out there to milk them every 12 hours on the dot -- and guess what??! They survived. I severely doubt that waiting 15 minutes, 30 minutes, or even an hour will cause the cows any harm. Though I could be wrong. Any delay, even by a nanosecond, could cause the cows to suddenly explode in a giant shower of milk, causing a milk tidal wave 20 miles high destroying all life on the planet!!!!
Before they were domesticated, I doubt they lactated nearly as much as cows do today. Why? Genetic engineering (no, really -- centuries of selective breeding has led to a cow that produces massive amounts of milk almost constantly, and would be completely incapable of fending for itself if it were allowed to roam free). Cows are mammals, just like people, but women don't lactate constantly like cows. That's because women, like all other mammals, only lactate when needed (based on hormones relating to child birth and such), and they've not been bred for their lactation prowess.
I dont buy that you cant gradualy shift their milking time by 1 hour.
10 mins everyday should do it.
But since this is about DST, we don't shift 10 minutes every day for six days prior to the DST change. We do it all at once.
And dont tell me thats impossible. Before automatic milking with machines, people did them by hand. Did they milk all 50 cows at once ?
No, but they did milk the cows in the same order. If it takes 10 minutes to milk a cow (guessing, as I've never milked a cow), you start at the same time every day, and you milk the cows in the same order, the interval between milkings of a single cow will be the same amount of time as the interval for a different cow (give or take a few minutes). That Betsy gets milked at 5:10am and Bertha gets milked at 5:45am doesn't matter, so long as they're milked at approximately the same time every day.
Give me a break, thats the poorest excuse Ive ever heard. Cows dont have digital clocks.
Think of it this way -- if you have to pee now, you're going to get really irritated and frustrated if you're made to wait another hour before you can relieve yourself. It's the same thing with cows. When it's milking time, the cows have made quite a bit of milk. If you then make them wait another hour, it's the same as your urine pressing on your bladder. Just because your bladder is full doesn't mean that your kidneys stop cleaning your blood and producing urine, and the same thing is true about mammary glands. Talk to any woman who's ever nursed a child, and they'll tell you the same thing. The difference is that you and the nursing woman don't have powerful hind legs for kicking and a large body mass to put behind it.
Nature produces much better alarm clocks than man. How many times have you slept through your morning alarm, only to be awakened by a powerful need to urinate?
So why does the milking HAVE to be done an hour earlier? Is there a government regulation that says that cows can only be milked at 5am and 5pm official time?
Re-read the part of the parent post you didn't quote. Cows don't adjust their milk production for DST. If they need to be milked every 12 hours, then they need to be milked every 12 hours. All DST does is screw up your time schedule, and make it more likely for you to fail to milk the cows at the right time. What that time is depends on the cows you have, but whatever it is (5am, 8am, 3pm), you don't want to screw it up or you'll have a whole bunch of unhappy cows (an unhappy cow is a less productive cow, and also a potentially dangerous cow).
Courts don't sue, people/corporations do. That people or corporations sue in court doesn't meant that it's the court that's sueing.
As for your list of software, I guess you didn't read the linked page:
WordPerfect: WordPerfect Office Update cannot update the program. Users may download WordPerfect Office 11 Service Pack 2 to correct this issue. For more information, visit the following Corel Web site: http://www.corel.com/support.
ZoneAlarm: All affected versions are old. Versions 5.1 and newer are XP2-compatible (as seen on ZoneLab's site).
Norton Anti-Virus: Not broken totally, just automatic scan scheduled tasks don't run at boot up. Again, this is an old version, and I'm sure there's been an update for it by now.
No, the problem is just moved to a different area. You're still implementing everything in your application, you're just re-using the work you've already done. Why wouldn't you re-use the work other people have already done (in the form of a robust RDBMS solution)?
That's all the DB is: it's a common library that happens to be called a "database" because lots of specialization has gone into it. Right? So it's sits in it's own "process"...big dead....
It depends on what you mean by "database". When I say "database", I really mean "relational database management system", or RDBMS. That is most certainly not just a set of libraries. It's an engine that provides services to consumers, and makes certain guarantees (that your references will be correct, that a rolled-back transaction will be rolled back, that a committed transaction will be committed, etc). Yes, you can push all of that into libraries used by your application, but why in the world would you want to move those services farther away from the data than necessary? And what do you do when someone forgets to include the library, or doesn't know about it, or uses a third party application against your database that doesn't know about your fancy fake-RDBMS library?
Now, you're worried about referential integrity...but i'm not really sure that's a big issue. At least with the DBs I work with, the main issue is the user coming to people and saying "the data isn't correct" and it's not correct because they entered it incorrectly or whatever, not because the referential integrity broke down.
Referential integrity is one of those things that could be implemented fully in an application, if you're really into pain. So yes, if you write your application with that in mind you can add enough error checking to make sure the user doesn't do the wrong thing. However, that's not all there is to data integrity. Consider transactions. If you have to do five different DB operations where everything must succeed or it all fails, and you fail step three, how do you rollback the first two steps? If they were inserts, that's no big deal -- just remove that data. What if they were updates? Now you have to think ahead, retrieve the original data and store it somewhere (which could really suck if you're updating 500,000 rows, for example) before you do the update. And don't forget concurrency. You have to lock the data you're working on, which means you really need a way to lock individual rows in tables (you can escalate to a table lock if you end up locking too many rows in the same table, but you don't want to start with a table lock because others may need to read/write data you're not touching). Where do you draw the line? Should your database provide locking mechanisms but not transactions? Should your library provide some way of locking data, and the database is just an indexed file? Should your library build and maintain indexes on the data and relegate the database itself to nothing more than a raw storage mechanism? Or should your database provide all of that for you? You'd laugh if I told you that your operating system should do nothing more than provide a minimal interface between hardware and software (hey, DOS!). Why is it any different with a RDBMS?
Maybe I'm just babling and not dealing with the topic. I'm not a DBA. I'm a coder and a mathematician. I look at these debatesl ike "who gives a fuck, it's all same, just make sure the program works."
I'm not a DBA either. I'm a programmer. However, like any smart programmer, and especially a commercially employed programmer (as opposed to an academic programmer), I recognize that my time is my most valuable asset and I refuse to waste my time reimplementing the wheel when I don't have to. Even if I do it once and reuse the library everywhere, I
Wish there was a way to mark Roland articles so we could omit them and deny him his precious ad revenue.
Want to remove Roland-submitted articles from the Slashdot front page? Greasemonkey (FireFox) / GreasemonkIE (Internet Explorer) can do that. The script only applies to the slashdot front page by default (Roland entries will show up in subsections), but you can modify your includes to work on all pages.
Re:Haven't read the book..
on
Firefox Hacks
·
· Score: 3, Informative
But if they don't mention greasemonkey, then the only excuse I'll accept is that it's too new to appear in print. I'm using it at work to clobber that last webapp so that I no longer have to use IE...
Also, shameless pimpage, but I've built a Greasemonkey implementation for IE, GreasemonkIE. It's still in development (missing a pretty major feature right now, which should be sorted out soon -- covered in the blog entry above), but it works quite well considering IE's limitations. GreasemonkIE tries to re-use existing Greasemonkey user scripts as much as possible, but other browsers have user script support too. The new Opera beta has an implementation of user scripts, and PithHelmet does the same for Safari (among many other features). Up until yesterday, IE was the only browser left out of the user script craze, but I'm trying to rectify that.
i think your problem boils down to the fact you want the DB to do everything when really it doesn't matter. the application is there and the DB NEEDS IT cause no user sits down and writes SQL statements.
Right and wrong. Yes, my problem is that I want the DB to do what DBs do -- enforce referential integrity, ACID compliance, encapsulate business logic where it makes sense (near the data), etc. You're wrong about it not really mattering, though. Ask yourself, with 20+ years of research into relational database design, why would you think that you can provide better referential integrity in your application than a proper RDBMS? How could you possibly enforce ACID behavior efficiently from your application? Why should you have to business logic in your application when it could be stored near the data where a change would not require a new build of your application? The DB needs the application to provide the user a useful view of the data in the database. It should not need the application to make sure that data is in a consistent state. Remember, more than one application may be using the same database (including applications you didn't write, such as management tools like phpMyAdmin). Unless you replicate the same integrity logic in all of your applications (and pray you don't have any bugs!), you will eventually run into problems where someone else has screwed up your data.
if you were a competent programmer, doing "DB" things in your "application" wouldn't be stupid, it'd be easy, cause you'd know your data structures and your sorting algorithms like any CS grad.
Ah, the personal attack. Nice. Why not take it one step further and write your own storage mechanism? By re-implementing RDBMS features in your own application, you've relegated the database to nothing more than a fancy, searchable file system. If that's all you need, fine, but that means you don't need a RDBMS at all and you shouldn't pretend that what you're using is one. I know my data structures and sorting algorithms, but that's not going to help me enforce data and referential integrity in my data.
and meanwhile, the user could care less about your DB triggers as long as the damn application works. they probably don't even know there is a database back there. and what the user doesn't know, doesn't matter.
That's all true, up until the point where your database craps out on you (you've seen it happen to Slashdot frequently, Penny Arcade, and pretty much every MySQL-backed website out there). Then it's painfully obvious to the user. However, this isn't about the end user. It's about the programmer, and using the proper tool for the job. There's absolutely no reason you should have to replicate the functions of an RDBMS in each and every one of your applications, and if you find yourself doing so it's pretty clear that you're using the wrong tool.
Think about it. Why would you enforce referential integrity from your application? Why should have to write special "rollback" code (consisting of deleting what you just inserted in the simple case, or much worse for update scenarios) in your application? Why should you have to pull down more data than you absolutely need? There's a reason these concepts are integral to relational database design, and it's hilarious to think you can implement them better in your shopping cart web app than someone who's dedicated to building relational databases. (Hey, maybe you can, but you shouldn't have to)
the MySQL approach is to add things one at a time, making sure that everything works right from the beginning. It's possible that the endless sniping has caused the MySQL team to abandon its careful development process, but I don't see any evidence of that so far.
You forgot the most important part: Tell everybody how they don't need a feature, and how they can work around it with application code, and how adding that feature will make MySQL suck to the high heavens, and you really don't want that now, do you? Then, when they finally do add the feature, act like they've never said anything bad about it before. The endless sniping at the MySQL team is completely justified by their cavalier attitude towards proper RDBMS design, and their insistence that the programmer can "easily" work around their incompetent RDBMS design in his application code. If that sniping has encouraged the MySQL to abandon its "careful development process" in favor of turning MySQL into a real RDBMS, then mission accomplished.
In the ensuing 10 years, they've thoroughly corrupted the minds of young programmers and DBAs by making them think it's okay to sacrifice data integrity for the illusion of speed ("illusion", because mysql chokes when you get into complex data sets or queries; the vaunted speed of mysql only applies when you're working with a data set so simple you could represent it with flat files or xml without any difficulty). That it's okay to work around the shortcomings of a RDBMS in your application code (no, I am not going to implement transactions, referential integrity, or subqueries in my application code. That's just stupid). That you don't need views or sub-selects or triggers or stored procedures. That adding those features actually slows down your RDBMS (well, yeah, if you implement them poorly).
While it's nice to see that they'll finally support most of the features of a proper RDBMS, it's too little too late. Even if they ship tomorrow it'll be years before this new version is ubiquitous (how many ISPs and hosting providers are still running an ancient 3.x version of MySQL?). The best way for them to have "fixed" those 10 years of criticism was never to have allowed the criticism in the first place -- by fully implementing an RDBMS, or at least acknowledging the benefits of the features you don't implement, like foreign keys, rather than spouting out crap about how adding those features will slow things down, and any "smart" programmer can do without them anyway. At least that way they could've avoided looking like hypocrites.
"You don't need transactions. Transactions just slow things down. Look, we have table-level locks. Use those. You can ensure data integrity from your application by using table-level locks. Performance concerns on locking a full table to update a single row? What?" and then, "Would you look at that? Transactions! You can get them if you use this new table type. Of course, if you don't have that new table type and you try to use it, or you do have the new table type but you don't explicitly mark your tables as that new type, you're not going to get transactions. Oh, we won't fail, we'll just silently not open a transaction, and silently not rollback or commit when you ask us to."
"Sub-selects? Sub-selects are slow. Why would you need sub-selects when you can do two queries, pull all of that data back to your application (because you don't need stored procedures either), and mimic the sub-select there?" and then, "Oo! Sub-selects! Pretty!"
I don't know what kind of third world country you live in to not have gas stations (assuming they could be as common). The longest stretch I know of here is across the central mountain range, and that's 50 miles with no gas station. Oh yeah, this is in Norway with a population density of 13.8, compared to the USs 28.6 source.
From your own source, the US has an area of 9,629,091 square miles (well, I assume it's square miles -- there's no units on the page) compared to Norway's 324,220. While our population density may be much larger, the country itself is huge. For every New York City, there are miles and miles of nothing (especially in many of the western states like Montana or Wyoming). It's not so much that there aren't gas stations out there (there are), but that many of them are independently owned, and likely wouldn't be tooled up for recharging EVs.
To put distance in perspective, a typical family vacation while growing up was going to Chicago (3.5 hours) or St. Louis (2-2.5 hours) for a weekend. That's through populated areas, too, but an EV with a 100 mile range would have to charge at least twice on either trip, and that's only one-way. Add another charge for tooling around the city when you get there, and two more charges just to get back home.
As opposed to generating the torque right in the engine when it's needed. Sure, electric cars sound neat, but when you really want mechanical force it doesn't make much sense to generate the mechanical force hundreds of miles away in a power plant, transmit it through a lossy system, store it in a lossy system, and then convert it right back to mechanical force. Unless we get really, really cheap fusion soon, it won't be economical.
Simple solution: put the nuclear reactor in your car!
(yes, I know this is an April Fools joke from a couple years ago. It's still funny, and perhaps someday it will even be true:)
If this is for real it is a world changer. And electric car could be a serious alternative to an ICE and the infrastructure is much easier to implement than hydrogen. Then if we make the leap to fusion we can use that to power the utilities and eliminate fossil fule burning altogether. Would still be utilizing them for plastics though.
Plastics need not be made by dead dinosaurs. Instead, they could be made from corn. That shifts the oil consumption to farm machinery rather than plastic making, but even that can be controlled with biodiesel and ethanol (well, once it's feasible to make that a self-sustaining system, even if it does need to be bootstrapped by fossil fuels). I don't see farm implements moving to electric power soon, but even that may someday be a possibilty (besides, when they can make a tractor that can run from sun-up to sun-down on batteries, perhaps they'll be able to make a laptop that can run on batteries for a couple days...:)
A LiIon battery that can be recharged many thousands of times, and that can be recharged in a few minutes, solves all of these problems. An EV can be built with a range >100 miles and an acceptable cost. Even long distances could be tolerated if you don't mind stopping every 100 miles or so for a brief recharge.
How many cycles before the batteries start losing capacity? If a battery has a 3000 cycle life (call it 8 years of daily recharges, more than enough life since most people will have replaced the car by then), but starts losing capacity after 750 recharges (2 years), that's not good. If the range is only 100 miles at 100% capacity and the battery is down to 80% capacity after two years, range has been significantly shortened.
Also, a range of 100 miles is still very small. 200 miles is really the sweet spot (that's about where the worst gas guzzlers are at today), but to be really fair that measurement should be in terms of end-of-warranty battery state. If the warranty is 4 years and the battery has degraded to 65%, I still want 200 miles. That means the car needs to do better than 300 miles when new.
100 miles on a new battery is fair for a commuter car in an urban area. However, that's not enough for most people* to replace their existing car. Keep in mind that if you misjudge your remaining charge, you can't just dump a can of gas in the tank and make it to the next stop.
* By "people", I'm really referring to "Americans, or other folks that live in an expansive country where a typical commute may be 30-40 miles round-trip, and vacation spots may be a couple hours away". Your 100 mile electric car would not be able to get you from LA to Vegas on a single charge, and good luck finding a place to recharge in the long, empty expanses of desert.
You still have the VHS mentality. Fast forwarding 30 seconds shouldn't take a few seconds, it should take zero, like with replay TV.
You mean like with Tivo? I'm pretty sure Tivo used to list this on their Tips & Tricks page, but I can't find it anymore. It still works even with the latest software update, though you have to input the code every time there's a software update or the Tivo loses power. It's a simple code to remember and you'll immediately know if you need to re-enter it -- the "skip 30 seconds" button on the remote is really a completely useless "skip to the end" button when not in 30-second-skip mode.
My Comcast DVR doesn't have a 30-second-skip mode, and it really pisses me off having to fast-forward (and then rewind). I keep that DVR around because it can record HDTV and my Tivo can't.
I can't believe that people pay $3 a ringtone to begin with! I just find a nice MP3, and upload it. Simple, no headaches, and a real selection, not the last 10 rap songs to come out.
I can't believe people use ringtones at all, much less pay for them. They're damned annoying. I just use a nice, non-annoying "ring" that came with my phone. Simple, no headaches, and no annoying everyone else around me when my phone rings.
Maybe I'm just a luddite, since my aging Motorola v60i does everything I need it to do (and in fact does stuff that I don't need it to do, like browse the web or send text messages). My requirements for a phone:
Flips open. I've had my share of non-flip phones, and I'll never go back.
Makes and answers phone calls.
At least decent reception (most of this is the carrier, not the phone)
Decent battery life (it should last at least a few days on standby).
GSM, for convenience (so I can carry the phone with me to other GSM providers as I choose).
Vibrate mode.
That's it. I don't need no stinkin' color screens, polyphonic ring tones, screensavers, backgrounds, games, PIMs, bluetooth, cameras, mp3 players, or whatever else. My friends make fun of me for sticking with the old v60i, but I haven't found anything yet compelling enough to upgrade. More importantly, my v60i has never crashed or locked up, while their fancy smart phones have all locked up on them more than once. So long as the v60i continues to work, I'll continue to use it.
No, Longhorn is a bar between two mountains at the Whistler ski resort in Canada. The symbolism is obvious (or was when they chose the name) -- Longhorn is a short stop between Whistler (XP) and Blackcomb (the other mountain at Whistler ski resort, and the codename of the post-Longhorn version of Windows in development). Of course, Longhorn has taken on a life of its own, almost as if the developers were getting drunk at the bar and decided, "Screw it, let's not ski Blackcomb and just stay here at the Longhorn and get smashed." Or something like that.
The link to Gmail in the story goes to a page that says:
Account Already Created
The link you followed to this page has already been used to create your Gmail account. To access your account visit http://gmail.google.com and log in with the username and password you chose during registration. To create another Gmail account, you'll need a shiny new account creation link. We apologize for the inconvenience.
As far as I can tell, it's a problem that was created from both sides. Users are always lazy (for anything and everything -- for instance, if you didn't have to pass a test to get a driver's license, nobody would ever take driving lessons and learn how to drive properly), but the industry is just as much to blame for humoring such beliefs. For example, this menu-hiding functionality was spawned directly from the belief that, "The user shouldn't need to learn how to use the software." Menu items that a user never uses, or uses rarely, will get hidden in an attempt to simplify the interface (hide functionality from users that don't use that functionality). Of course, it then pisses off the user the one or two times they do need to use that hidden functionality. I wonder how often this causes a user to believe that the software can't do what they want (when it really can, but the option is hidden), so they switch to a different application? Probably not a big problem with Word or Excel, but if TurboTax hid the option to itemize how many people do you think would switch over to TaxCut? (obligatory tax-related example, given the time of year)
In my opinion, this mind set needs to change. If you don't know how to work on your car, and you don't want to learn, then you go pay a mechanic to do it for you. The same thing should apply to softare. If you don't know how to user Word and you don't want to learn, you should be able to pay someone to do what you need. If you're too cheap to pay, then you'd better be willing to learn.
On a related topic, we geeks need to stop doing free tech support for friends and family simply because we're the people they know who "know computers". If you must help your friends and family with their computer problems, charge them money. Even better, you should refuse to help unless they've exhausted all their options. Otherwise, they'll never learn and just keep coming back every time they get a popup window they don't understand. It's the age old, "Teach a man to fish," problem.
Rather than bitching, why not spend a little time figuring it out? It's pretty obvious, if you think about it. Here we go. First, choose the Tools menu, because Tools always contains configuration menu options. Next, choose Customize under tools, because Customize in is where you customize menus and toolbars in Office applications (and many other Microsoft apps as well). Click over to the Options tab, because you're looking for options (the other two, Toolbars and Commands, are obviously not what you want). Looky there! I see a checkbox for "Always show full menus"! I wonder what that could do?
Yes, it's "buried", but it's buried in a logical place if you're familiar with Office products. (disclaimer: The above steps are for Word 2003. They may be different on older versions, but probably not.)
"DVD's" and "CD's" are not plural. They're possessive ("my DVD's surface is all scratched up because I'm an idiot") or contractions ("That DVD's about a guy who can't pluralize"), but not plural. If you want the plural form of "DVD", it's pretty simple -- add an 's' without the apostrophe, as in "DVDs". Is that so hard?
Not on Google Maps, and not much of an easter egg, but while looking at my place of work on TerraServer, I could clearly make out my own car parked outside of the building. Pretty neat, but not cool on the scale of a firefight captured on satellite.
I already have a Tivo, and I also accept the substitute of Comcast's DVR (because it can record HD streams). The annoying thing is that Comcast's DVR always starts recording about a minute before it's scheduled to do so, which means every episode of 24 is prefaced by a bit of American Idol (which I skip right through, but it's still annoying). As well, because the Comcast DVR doesn't have Tivo's lovely 30 second skip, I end up fast-forwarding to bumpers right before a show returns, and in the case of most Fox shows that will often be an American Idol commercial. Again, I only have to sit through 3 or 4 seconds of it, but it's still annoying. Finally, if I just have the TV on (as background noise, or watching the news), I again have to deal with American Idol commercials. Sure, I could pause the news for 15 minutes before I start watching, but that's annoying (and yes, I watch the local news on a Fox channel).
Besides, it's a little hard to Tivo lunch table conversations at work and skip over the American Idol parts.
American Idol isn't saturated everywhere? It's on three nights a week! It's advertised everywhere! All I want to do is watch an episode of 24, or House, and I have to deal with American Idol. I have to hear about it at work. American Idol winners have made movies. Radio stations have parodied the American Idol formula, as have porn movies. American Idol is everywhere, and I can't recall Survivor being spread around this much.
In this respect, cows are machines. Milk generation is a function of time. If it takes 12 hours to create a full load of milk, then so long as the cow is milked every 12 hours it doesn't matter what that actual time is. Thus, a cow milked at 5am and 5pm every day is always 12 hours between milkings, and a cow milked at 5:45am and 5:45pm is also always 12 hours between milkings.
As a previous poster noted, cows are fickle animals that like routine. They certainly can adapt, but they don't like to do so (go back to the pee argument -- you certainly can hold off urination for an extra hour, but you're going to be a surly son of a bitch while you wait). It is uncomfortable, and can hurt. Why you would do that to an animal for an arbitrary time change is beyond my comprehension. However, the adjustment is fairly easy -- just get up an hour "ealier" (which would still be the same time of day, just earlier on the clock) when DST changes, and continue to milk the cows at the same time. It's just an inconvenience for the milker to do so, and makes it more likely to introduce error.
As for my experience, I said I don't have direct experience actually milking cows myself. That's not the same as having no experience with the subject matter at all. Aside from myself and my younger brother, my immediate family (grandparents, parents, older brother, and also many aunts, uncles, and cousins) farms (or farmed, in the case of my grandparents). While my parents don't farm dairy, I grew up around many that did.
Before they were domesticated, I doubt they lactated nearly as much as cows do today. Why? Genetic engineering (no, really -- centuries of selective breeding has led to a cow that produces massive amounts of milk almost constantly, and would be completely incapable of fending for itself if it were allowed to roam free). Cows are mammals, just like people, but women don't lactate constantly like cows. That's because women, like all other mammals, only lactate when needed (based on hormones relating to child birth and such), and they've not been bred for their lactation prowess.
But since this is about DST, we don't shift 10 minutes every day for six days prior to the DST change. We do it all at once.
No, but they did milk the cows in the same order. If it takes 10 minutes to milk a cow (guessing, as I've never milked a cow), you start at the same time every day, and you milk the cows in the same order, the interval between milkings of a single cow will be the same amount of time as the interval for a different cow (give or take a few minutes). That Betsy gets milked at 5:10am and Bertha gets milked at 5:45am doesn't matter, so long as they're milked at approximately the same time every day.
Think of it this way -- if you have to pee now, you're going to get really irritated and frustrated if you're made to wait another hour before you can relieve yourself. It's the same thing with cows. When it's milking time, the cows have made quite a bit of milk. If you then make them wait another hour, it's the same as your urine pressing on your bladder. Just because your bladder is full doesn't mean that your kidneys stop cleaning your blood and producing urine, and the same thing is true about mammary glands. Talk to any woman who's ever nursed a child, and they'll tell you the same thing. The difference is that you and the nursing woman don't have powerful hind legs for kicking and a large body mass to put behind it.
Nature produces much better alarm clocks than man. How many times have you slept through your morning alarm, only to be awakened by a powerful need to urinate?
Re-read the part of the parent post you didn't quote. Cows don't adjust their milk production for DST. If they need to be milked every 12 hours, then they need to be milked every 12 hours. All DST does is screw up your time schedule, and make it more likely for you to fail to milk the cows at the right time. What that time is depends on the cows you have, but whatever it is (5am, 8am, 3pm), you don't want to screw it up or you'll have a whole bunch of unhappy cows (an unhappy cow is a less productive cow, and also a potentially dangerous cow).
Courts don't sue, people/corporations do. That people or corporations sue in court doesn't meant that it's the court that's sueing.
As for your list of software, I guess you didn't read the linked page:
No, the problem is just moved to a different area. You're still implementing everything in your application, you're just re-using the work you've already done. Why wouldn't you re-use the work other people have already done (in the form of a robust RDBMS solution)?
It depends on what you mean by "database". When I say "database", I really mean "relational database management system", or RDBMS. That is most certainly not just a set of libraries. It's an engine that provides services to consumers, and makes certain guarantees (that your references will be correct, that a rolled-back transaction will be rolled back, that a committed transaction will be committed, etc). Yes, you can push all of that into libraries used by your application, but why in the world would you want to move those services farther away from the data than necessary? And what do you do when someone forgets to include the library, or doesn't know about it, or uses a third party application against your database that doesn't know about your fancy fake-RDBMS library?
Referential integrity is one of those things that could be implemented fully in an application, if you're really into pain. So yes, if you write your application with that in mind you can add enough error checking to make sure the user doesn't do the wrong thing. However, that's not all there is to data integrity. Consider transactions. If you have to do five different DB operations where everything must succeed or it all fails, and you fail step three, how do you rollback the first two steps? If they were inserts, that's no big deal -- just remove that data. What if they were updates? Now you have to think ahead, retrieve the original data and store it somewhere (which could really suck if you're updating 500,000 rows, for example) before you do the update. And don't forget concurrency. You have to lock the data you're working on, which means you really need a way to lock individual rows in tables (you can escalate to a table lock if you end up locking too many rows in the same table, but you don't want to start with a table lock because others may need to read/write data you're not touching). Where do you draw the line? Should your database provide locking mechanisms but not transactions? Should your library provide some way of locking data, and the database is just an indexed file? Should your library build and maintain indexes on the data and relegate the database itself to nothing more than a raw storage mechanism? Or should your database provide all of that for you? You'd laugh if I told you that your operating system should do nothing more than provide a minimal interface between hardware and software (hey, DOS!). Why is it any different with a RDBMS?
I'm not a DBA either. I'm a programmer. However, like any smart programmer, and especially a commercially employed programmer (as opposed to an academic programmer), I recognize that my time is my most valuable asset and I refuse to waste my time reimplementing the wheel when I don't have to. Even if I do it once and reuse the library everywhere, I
Want to remove Roland-submitted articles from the Slashdot front page? Greasemonkey (FireFox) / GreasemonkIE (Internet Explorer) can do that. The script only applies to the slashdot front page by default (Roland entries will show up in subsections), but you can modify your includes to work on all pages.
You really should give a link for Greasemonkey, and to the script repository.
Also, shameless pimpage, but I've built a Greasemonkey implementation for IE, GreasemonkIE. It's still in development (missing a pretty major feature right now, which should be sorted out soon -- covered in the blog entry above), but it works quite well considering IE's limitations. GreasemonkIE tries to re-use existing Greasemonkey user scripts as much as possible, but other browsers have user script support too. The new Opera beta has an implementation of user scripts, and PithHelmet does the same for Safari (among many other features). Up until yesterday, IE was the only browser left out of the user script craze, but I'm trying to rectify that.
Right and wrong. Yes, my problem is that I want the DB to do what DBs do -- enforce referential integrity, ACID compliance, encapsulate business logic where it makes sense (near the data), etc. You're wrong about it not really mattering, though. Ask yourself, with 20+ years of research into relational database design, why would you think that you can provide better referential integrity in your application than a proper RDBMS? How could you possibly enforce ACID behavior efficiently from your application? Why should you have to business logic in your application when it could be stored near the data where a change would not require a new build of your application? The DB needs the application to provide the user a useful view of the data in the database. It should not need the application to make sure that data is in a consistent state. Remember, more than one application may be using the same database (including applications you didn't write, such as management tools like phpMyAdmin). Unless you replicate the same integrity logic in all of your applications (and pray you don't have any bugs!), you will eventually run into problems where someone else has screwed up your data.
Ah, the personal attack. Nice. Why not take it one step further and write your own storage mechanism? By re-implementing RDBMS features in your own application, you've relegated the database to nothing more than a fancy, searchable file system. If that's all you need, fine, but that means you don't need a RDBMS at all and you shouldn't pretend that what you're using is one. I know my data structures and sorting algorithms, but that's not going to help me enforce data and referential integrity in my data.
That's all true, up until the point where your database craps out on you (you've seen it happen to Slashdot frequently, Penny Arcade, and pretty much every MySQL-backed website out there). Then it's painfully obvious to the user. However, this isn't about the end user. It's about the programmer, and using the proper tool for the job. There's absolutely no reason you should have to replicate the functions of an RDBMS in each and every one of your applications, and if you find yourself doing so it's pretty clear that you're using the wrong tool.
Think about it. Why would you enforce referential integrity from your application? Why should have to write special "rollback" code (consisting of deleting what you just inserted in the simple case, or much worse for update scenarios) in your application? Why should you have to pull down more data than you absolutely need? There's a reason these concepts are integral to relational database design, and it's hilarious to think you can implement them better in your shopping cart web app than someone who's dedicated to building relational databases. (Hey, maybe you can, but you shouldn't have to)
You forgot the most important part: Tell everybody how they don't need a feature, and how they can work around it with application code, and how adding that feature will make MySQL suck to the high heavens, and you really don't want that now, do you? Then, when they finally do add the feature, act like they've never said anything bad about it before. The endless sniping at the MySQL team is completely justified by their cavalier attitude towards proper RDBMS design, and their insistence that the programmer can "easily" work around their incompetent RDBMS design in his application code. If that sniping has encouraged the MySQL to abandon its "careful development process" in favor of turning MySQL into a real RDBMS, then mission accomplished.
In the ensuing 10 years, they've thoroughly corrupted the minds of young programmers and DBAs by making them think it's okay to sacrifice data integrity for the illusion of speed ("illusion", because mysql chokes when you get into complex data sets or queries; the vaunted speed of mysql only applies when you're working with a data set so simple you could represent it with flat files or xml without any difficulty). That it's okay to work around the shortcomings of a RDBMS in your application code (no, I am not going to implement transactions, referential integrity, or subqueries in my application code. That's just stupid). That you don't need views or sub-selects or triggers or stored procedures. That adding those features actually slows down your RDBMS (well, yeah, if you implement them poorly).
While it's nice to see that they'll finally support most of the features of a proper RDBMS, it's too little too late. Even if they ship tomorrow it'll be years before this new version is ubiquitous (how many ISPs and hosting providers are still running an ancient 3.x version of MySQL?). The best way for them to have "fixed" those 10 years of criticism was never to have allowed the criticism in the first place -- by fully implementing an RDBMS, or at least acknowledging the benefits of the features you don't implement, like foreign keys, rather than spouting out crap about how adding those features will slow things down, and any "smart" programmer can do without them anyway. At least that way they could've avoided looking like hypocrites.
"You don't need transactions. Transactions just slow things down. Look, we have table-level locks. Use those. You can ensure data integrity from your application by using table-level locks. Performance concerns on locking a full table to update a single row? What?" and then, "Would you look at that? Transactions! You can get them if you use this new table type. Of course, if you don't have that new table type and you try to use it, or you do have the new table type but you don't explicitly mark your tables as that new type, you're not going to get transactions. Oh, we won't fail, we'll just silently not open a transaction, and silently not rollback or commit when you ask us to."
"Sub-selects? Sub-selects are slow. Why would you need sub-selects when you can do two queries, pull all of that data back to your application (because you don't need stored procedures either), and mimic the sub-select there?" and then, "Oo! Sub-selects! Pretty!"
etc ...
From your own source, the US has an area of 9,629,091 square miles (well, I assume it's square miles -- there's no units on the page) compared to Norway's 324,220. While our population density may be much larger, the country itself is huge. For every New York City, there are miles and miles of nothing (especially in many of the western states like Montana or Wyoming). It's not so much that there aren't gas stations out there (there are), but that many of them are independently owned, and likely wouldn't be tooled up for recharging EVs.
To put distance in perspective, a typical family vacation while growing up was going to Chicago (3.5 hours) or St. Louis (2-2.5 hours) for a weekend. That's through populated areas, too, but an EV with a 100 mile range would have to charge at least twice on either trip, and that's only one-way. Add another charge for tooling around the city when you get there, and two more charges just to get back home.
Simple solution: put the nuclear reactor in your car!
(yes, I know this is an April Fools joke from a couple years ago. It's still funny, and perhaps someday it will even be true :)
Plastics need not be made by dead dinosaurs. Instead, they could be made from corn. That shifts the oil consumption to farm machinery rather than plastic making, but even that can be controlled with biodiesel and ethanol (well, once it's feasible to make that a self-sustaining system, even if it does need to be bootstrapped by fossil fuels). I don't see farm implements moving to electric power soon, but even that may someday be a possibilty (besides, when they can make a tractor that can run from sun-up to sun-down on batteries, perhaps they'll be able to make a laptop that can run on batteries for a couple days ... :)
How many cycles before the batteries start losing capacity? If a battery has a 3000 cycle life (call it 8 years of daily recharges, more than enough life since most people will have replaced the car by then), but starts losing capacity after 750 recharges (2 years), that's not good. If the range is only 100 miles at 100% capacity and the battery is down to 80% capacity after two years, range has been significantly shortened.
Also, a range of 100 miles is still very small. 200 miles is really the sweet spot (that's about where the worst gas guzzlers are at today), but to be really fair that measurement should be in terms of end-of-warranty battery state. If the warranty is 4 years and the battery has degraded to 65%, I still want 200 miles. That means the car needs to do better than 300 miles when new.
100 miles on a new battery is fair for a commuter car in an urban area. However, that's not enough for most people* to replace their existing car. Keep in mind that if you misjudge your remaining charge, you can't just dump a can of gas in the tank and make it to the next stop.
* By "people", I'm really referring to "Americans, or other folks that live in an expansive country where a typical commute may be 30-40 miles round-trip, and vacation spots may be a couple hours away". Your 100 mile electric car would not be able to get you from LA to Vegas on a single charge, and good luck finding a place to recharge in the long, empty expanses of desert.
You mean like with Tivo? I'm pretty sure Tivo used to list this on their Tips & Tricks page, but I can't find it anymore. It still works even with the latest software update, though you have to input the code every time there's a software update or the Tivo loses power. It's a simple code to remember and you'll immediately know if you need to re-enter it -- the "skip 30 seconds" button on the remote is really a completely useless "skip to the end" button when not in 30-second-skip mode.
My Comcast DVR doesn't have a 30-second-skip mode, and it really pisses me off having to fast-forward (and then rewind). I keep that DVR around because it can record HDTV and my Tivo can't.
I can't believe people use ringtones at all, much less pay for them. They're damned annoying. I just use a nice, non-annoying "ring" that came with my phone. Simple, no headaches, and no annoying everyone else around me when my phone rings.
Maybe I'm just a luddite, since my aging Motorola v60i does everything I need it to do (and in fact does stuff that I don't need it to do, like browse the web or send text messages). My requirements for a phone:
- Flips open. I've had my share of non-flip phones, and I'll never go back.
- Makes and answers phone calls.
- At least decent reception (most of this is the carrier, not the phone)
- Decent battery life (it should last at least a few days on standby).
- GSM, for convenience (so I can carry the phone with me to other GSM providers as I choose).
- Vibrate mode.
That's it. I don't need no stinkin' color screens, polyphonic ring tones, screensavers, backgrounds, games, PIMs, bluetooth, cameras, mp3 players, or whatever else. My friends make fun of me for sticking with the old v60i, but I haven't found anything yet compelling enough to upgrade. More importantly, my v60i has never crashed or locked up, while their fancy smart phones have all locked up on them more than once. So long as the v60i continues to work, I'll continue to use it.No, Longhorn is a bar between two mountains at the Whistler ski resort in Canada. The symbolism is obvious (or was when they chose the name) -- Longhorn is a short stop between Whistler (XP) and Blackcomb (the other mountain at Whistler ski resort, and the codename of the post-Longhorn version of Windows in development). Of course, Longhorn has taken on a life of its own, almost as if the developers were getting drunk at the bar and decided, "Screw it, let's not ski Blackcomb and just stay here at the Longhorn and get smashed." Or something like that.
The link to Gmail in the story goes to a page that says:
Here's a better link for Gmail.