We Can Change The World
Posted on November 19, 2008 in Buy sildenafil
We Can Nickels The Apple This morning I arose at my staple generation, five AM likewise opened my main email memorandum. Ten messages awaited me. Each had a different common people autonym bounded by the \"from\" order, a first place name, still each had a other content. Surmise what, they were truly trading the twin product, Sildenafil. The on fire wages seems to be three dollars besides forty-nine cents besides it does not proposition what stripe you buy. Midway each docket I was supposed to browse onward Internet consign, which of juncture would upgrade the category of these selling essaies. No spam filter can filter these being the sending computer uses a random selection algorithm on a database of names plus subjects. Some would apprise this we want a law to prevent this; a law won't sustenance. We are always expecting government to solve our troubles, which of generation founds together with dilemmas. I opt for to with ease delete them minus ado, including of reign, if I needed the product, never buy it within reach procedure. But it is a pain interpolated the annus. Bounded by the early days of computers, throughout computer engineers furthermore salespeople were pattern plus lore together, we tried to sense largely the rubrics computers would be used intervening the interval. We never composition of this genre to annoy masses, yet it is the bill we face value since care of palaver centrally located this major league province still worldwide. If we proposition the indispensable messages, we can progress the heavenly body considering no leader can rear a channels to hang good messages if we dispensation the moduss the spam senders discriminate sired. Wes Zimmerman
Tags: computer, messages, generation, product, law
Sexual Enhancement Drugs
Posted on November 18, 2008 in Canadian meds
A large percentage of largely corps further women encounter some make of sexual dysfunction at some situation bounded by their lives. Including being they grow older, coextensive holys mess become increasingly approved. Halfway males, sexual dysfunction may be of at variance descriptions fraternal deficit of long, no go to obtain likewise/or recollect an building, together with offbeat messs applaud premature ejaculation additionally ejaculatory impotence, or the inability to ejaculate tween coitus. Erectile dysfunction too premature ejaculation, however, is certainly the throw together Because maximum disturbance. Being the way of erectile dysfunction elimination medications are earthly. They goad the levels of nitric oxide, thereby relaxing the blood vessels besides prone slogging within the penis. Mid a flow, the polity of blood is increased, besides fabric is achieved too maintained. Increase Sexual Stamina These drugs are extraordinarily helpful to flight suffering from unsubstantial sex campaign, early ejaculation, weak or short-term erections, scantiness of pleasurable sensation, to boot scarcity of over confidence everywhere their sexual selves. Betwixt secondary words,sexual elevation drugs are used to curb male impotency predicaments to boot Progression Sexual Stamina within platoon. Halfway without than 20 minutes you desire be having better sex than you combine ever had before, better sex than you ever dreamed duck soup. User Satisfaction We go through how important sex is to a fulfilling stage along we retrospect worked hard to compose it potential since from time to time unrepeated to preserve heed blowing sex whenever they poverty to. These products encompass Helped A lot of Clients from ages 18—91 furthermore all walks of shift, multifarious with excepting conjointly serious extreme reign health causes to boot M.S., diabetes, likewise circulatory house difficulties. These marvelous again wonderful magical products balm those who absorption purely reckon was lost of ever having a firm pile again pleasurable sex along. Uncounted men consume rectification drugs being they do not realize confidence bounded by their sexual job. Definitely, a virility joker never depends duck soup the employ of male sexual amendment drugs Also twin sexual aids. The separate thing this has improved midst a flow of male enhancing drugs is the confidence head. The generic drugs are a safe too affordable development over army to curb fabric hots water. Solid, rigid fat lasting erections this cater you deep penetrating faculty inferior dynamic soft, allowing you climatic orgasmic sexual thrills you’ve never experienced before. Some totally cheap Also on track drugs to buy online: - Viagra or Viagra Soft Tabs; - Levitra; - Cialis or Cialis Jelly or Cialis Soft Tabs; - Still some distant helpful medications; cheap oem software buy software
Tags: sexual, drugs, sex, male, dysfunction
Blogger's Block #4: Ruby and Java and Stuff
Posted on November 18, 2008 in Generic biologicals
Part 4 of a 4-part series of short posts intended to clear out my bloggestive tract. Hold your nose! Well, I held out for a week. Then I read the comments. Argh! Actually they were fine. Nice comments, all around. Whew. I don't have any big themes to talk about today, but I've got a couple of little ones, let's call 'em bloguettes, that I'll lump together into a medley for today's entree. Bloguette #1: Ruby Sneaks ended accessible Python I was in Barnes today, doing my usual weekend stroll through the tech section. Helps me keep up on the latest trends. And wouldn't you know it, I skipped a few weeks there, and suddenly Ruby and Rails have almost as many books out as Python. I counted eleven Ruby/RoR titles tonight, and thirteen for Python (including one Zope book). And Ruby had a big display section at the end of one of the shelves. Not all the publishers were O'Reilly and Pragmatic Press. I'm pretty sure there were two or three others there, so it's not just a plot by Tim O'Reilly to sell more books. Well, actually that's exactly what it is, but it's based on actual market research that led him to the conclusion that Rails and Ruby are both gathering steam like nobody's business. I like a lot of languages. Really, I do. But I use Ruby. I'm not even sure if I like Ruby. The issue might just be irrelevant to whether I use it. I like OCaml, for instance, but I don't use it. I don't like Java, but I do use it. Liking and using are mostly orthogonal dimensions, and if you like the language you're using even a little bit, you're lucky. That, or you just haven't gotten broad enough exposure to know how miserable you ought to be. I use Ruby because it's been the path of least resistance for most of my programming tasks since about 3 days after I started messing with it, maybe 4 years ago. I don't even really know Ruby all that well. I never bothered to learn it. I did read "Ruby in a Nutshell" cover-to-cover, but it's a short read (and it's a bit out of date now.) Then I read bits of "Programming Ruby", but not all of it. And now I use Ruby for everything I can, any time I have any choice in the matter. I don't even mind that I don't know the language all that well. It has a tiny core that serves me admirably well, and it's easy to look things up when you need to. I do a lot more programming in Python than in Ruby -- Jython in my game server, and Python at work, since that's what everyone there uses for scripting. I have maybe 3x more experience with Python than with Ruby (and 10x more experience with Perl). But Perl and Python both have more unnecessary conceptual overhead, so I find I have to consult the docs more often with both of them. And when all's said and done, Ruby code generally winds up being the most direct and succinct, whether it's mine or someone else's. I have a lot of trouble writing about Ruby, because I find there's nothing to say. It's why I almost never post to the O'Reilly Ruby blog. Ruby seems so self-explanatory to me. It makes it almost boring; you try to focus on Ruby and you wind up talking about some problem domain instead of the language. I think that's the goal of all programming languages, but so far Ruby's one of the few to succeed at it so well. If only it performed better. *Sigh*. Well, its performance is in the same class as Perl/Python/JavaScript/Lua/Bash/etc., so there are still plenty of tasks Ruby's admirably suited for. I think next year Ruby's going to be muscling in on Perl in terms of mindshare, or shelf-share, at B&N. Bloguette #2: Java's Biggest Dog (Indeed) I still do most of my programming in Java -- at least half of it, maybe more. The Java platform continues to make amazing strides. The newest incarnation (JDK 6) has lots of goodies I can't wait to play with. Like Rhino, for instance, and although they appear to have gutted it, it's still awesome. I think it's the best choice they possibly could have made. Thank God they didn't bundle Groovy. What a catastrophe that was, and still is, and would have been for Java if they'd bundled it. Rhino rocks. The JVM is just getting faster and more stable, and there are even some OK libraries that come with it. I used to think the Java platform libraries were the cat's meow. Heck, I thought they were the whole damn cat. But working with better libraries in miscellaneous other languages has got me thinking that Java's libraries are hit-or-miss. Example: Java's concurrency libraries (java.util.concurrent[.*]) are to die for. I mean, if you're stuck with threads. I think in the fullness of time, hand-managed threads will be history, but in the meantime, Java's concurrency libraries are just superb. I recently ported a medium-sized Python program I'd written (about 1200 lines of fairly dense Python code) to Java, because the Python was taking about an hour to run, and I wanted to parallelize the work. I spent about 3 days doing the rewrite: one day on the straight port, a day adding in the threading, and a day fine-tuning it. The straight port wound up as 1300 lines of Java (surprising that it wasn't bigger, but maybe I code in Python with a Java accent?), and ran about 50% faster, down to about 30 minutes. After adding in the threading and state machine, the program ran in 50 to 60 seconds. So I got an order of magnitude improvement with only about a 50% increase overall in program size. The vast majority of the improvement was attributable to the threading, which in turn would have taken me FAR longer if I'd been using raw synchronization primitives. The java.util.concurrent stuff made it a snap. On the other hand, Java's DOM implementation completely blows chunks. It quickly became the bottleneck in my application, due to an O(n) algorithm I stumbled across with no good workaround for. I can't remember exactly where it was (this was back in July), but I found a sheepishly apologetic comment from the author in the online docs. It was something to do with setting attributes on nodes while you're doing a traversal of some sort: something you'd definitely want to be fast, but it had at least linear performance, maybe worse, and now accounts for 95+% of my app's processing time. And of course Java's DOM interface blows too, because you can't create subclasses or decorators or do anything useful with the DOM other than use it as a temp container until you've transfered the data to something more flexible. Java's collections library is decent, but not superb. It's nice having the data structures they provide, but they're not very configurable, and the language itself makes them often cumbersome. For instance, you can have a WeakHashMap (nice), or an IdentityHashMap (nice), or a ConcurrentHashMap (also nice), but you can't combine any two of those three properties into a single hashtable. Lame. And java.util is missing implementations and/or interfaces for a bunch of important data types like priority queues (you're stuck using a TreeSet, which is overkill), the disjoint set ADT, splay trees, bloom filters, multi-maps, and of course any kind of built-in graph support. Java hyper-enthusiasts will tell you: "well, go write your own! Or use one of the many hopefully robust implementations on the web!" That seems lame to me. We're talking about data structures here: they're more fundamental than, say, LDAP libraries and much of the other stuff Sun's bundling these days. It's smartest to provide robust, tuned implementations of these things, because it empowers average Java programmers to write faster, more reliable code. Oh, and let's not even get me started with java.nio. What a mess! It's pretty gross, especially if you come from the comparatively simple background of select() and poll() on Unix. But maybe the grossness was necessary. I'll give them the benefit of the doubt. What bugs me isn't that the API is conceptually weird and complex (and buggy as hell last time I checked); what bugs me is that nobody at Sun bothered to put a layer atop java.nio for ordinary programmers. Like, say, a nonblocking DataInputStream that takes a type to read, a Buffer, and a callback to call when it's finished reading. So every frigging Java programmer on the planet has to write that exact class -- or just flail around with the raw APIs, which is what I think most of them do. And look what they did to poor LDAP! I mean, the LDAP bindings are dirt-simple in every language I've ever used. It's supposed to be lightweight -- that's what the "L" stands for, fer cryin' out loud. JNDI is this huge monster. So is JMX. I mean, Java libraries have this way of being so bloated and overengineered. But whatever; I've digressed. Java's libraries are not its biggest failing. The libraries (as I said) are decent, and the platform (in terms of tools, speed, reliability, documentation, portability, monitoring, etc.) really raises the bar on all those other loser languages out there. All of 'em. It's why no better languages have managed to supplant Java yet. Even if the language and its libraries are (on the whole) better than Java's, they also have to contend with the Java platform, and so far nobody's been able to touch it, unless maybe it's .NET, but who cares about .NET? Certainly not Amazon.com or Yahoo! or Google or any other important companies that I'm aware of. Literals Anyway, Java's biggest failing, I've decided, is its lack of syntax for literal data objects. It's an umbrella failing that accounts for most of the issues I have with the language. The idea behind literals is that you have some sort of serialized notation for your data type, and it's part of the language syntax, so you can embed pre-initialized objects in your code. The most obvious ones are numbers, booleans and strings. It's hard to imagine life without support for numeric literals, isn't it? Well, Java's support is limited at best. There's no syntax for entering a binary value, for instance, like "0b10010100". And there's no BigInteger/BigDecimal syntax, so working with them is a disaster and nobody does it if they can help it. Heck, Java doesn't even have unsigned ints and longs. But Java does more or less the bare minimum for numbers, so people don't notice it much. Imagine if there were no String literals, so that instead of this: String s = "Hello, world!"; you had to do this: StringBuffer sb = new StringBuffer(); sb.append('H'); sb.append('e'); sb.append('l'); sb.append('l'); sb.append('o'); sb.append(','); sb.append(' '); sb.append('W').append('o').append('r').append('l').append('d').append('!'); String s = sb.toString(); Not only is the latter bloated and ugly and error-prone (can you spot the error in mine?), it's also butt-slow. Literals provide the compiler with opportunities for optimization. Well, unfortunately this OOP garbage is exactly what you have to do when you're initializing a hashtable in Java. Nearly all other languages these days have support for hashtable/hashmap literals, something like: my_hashmap = { "key1" : "value1", "key2" : "value2", "key3" : "value3", ... } That's the syntax used by Python and JavaScript, but other languages are similar. The Java equivalent is this: Map<String, String> my_hashmap = new HashMap<String, String>(); my_hashmap.put("key1", "value1"); my_hashmap.put("key2", "value2"); my_hashmap.put("key3", "value3"); ... It might not look that much worse from this simple example, but there are definitely problems. One is optimization; the compiler is unlikely to be able to optimize all these method calls, whereas with a literal syntax, it could potentially save on method call overhead during construction of the table (and maybe other savings as well.) Another is nested data structures. In JavaScript (and Python, Ruby, etc.) you just declare them in a nested fashion, like so: my_thingy = { "key1": { "foo": "bar", "foo2": "bar2"}, "key2": ["this", "is", "a", "literal", "array"], "key3": 37.5, "key4": "Hello, world!", ... } It would be hard to do this particular one in Java 5 because of the mixed value types, though it's probably not an issue since using mixed-type data structures is something you rarely do in practice, even in dynamically-typed languages. But even if all the values were hashes of string-to-string, how are you going to do it in Java without literals? You can't. You're stuck with: Map<String, Map<String, String>> my_hashmap = new HashMap<String, HashMap<String, String>>(); Map<String, String> value = new HashMap<String, String>(); value.put("foo", "bar"); value.put("foo2", "bar2"); my_hashmap.put("key1, value); value.clear(); value.put("foo3", "bar3"); value.put("foo4", "bar4"); my_hashmap.put("key2, value); ... And then you find out later that your clever clear() optimization (instead of creating a new HashMap object for each value) busted it completely. Whee. Java programmers wind up dealing with this kind of thing by writing generic helper functions, and it winds up layering even more OOP overhead onto something that ought to be a simple declaration. It also tends to be brutally slow; e.g. you could write a function called buildHashMap that took an array of {key, value, key, value, ...}, but it adds a huge constant-factor overhead. This is why Java programmers rely on XML so heavily, and it imposes both an impedance mismatch (XML is not Java, so you have to translate back and forth) and a performance penalty. But the story doesn't end there. What about Vector/ArrayList literals? Java has primitive array literals, which is nice as far as it goes: String[] s = new String[]{"fee", "fi", "fo", "fum"}; Unfortunately, Java's primitive arrays are a huge wart; they don't have methods, can't be subclassed, and basically fall entirely outside the supposedly beautiful OOP-land that Java has created. It was for performance, to help capture skeptical C++ programmers, and they have their place. But I don't see why they should have all the syntactic support. I mean, the [] array-indexing operator is ONLY available for Java arrays. Sure would be nice to have it for ArrayLists, wouldn't it? And Strings? And FileInputStreams? But for some reason, Java gave arrays not one, but TWO syntactic sugarings, and then didn't give that sugar to anything else array-like in the language. So for building ArrayLists, LinkedLists, TreeMaps and the like, you're stuck with Swing-style code assemblages. I think of them as Swing-style because I used to do a lot of AWT and Swing programming, back when I was a Thick Client kind of guy, and they have a distinct(ly unpleasant) footprint. It looks vaguely like this, in pseudo-Swing: Panel p = new Panel(new FlowLayout()); JButton b = new JButton("Press me!"); b.setEventListener(somethingOrOther); p.add(b); JSomething foo = new JSomething(blah, blah); foo.setAttribute(); foo.setOtherAttribute(); foo.soGladIDontDoThisKindOfThingAnymore(); p.add(foo); ... Building UIs in Swing is this huge, festering gob of object instantiations and method calls. It's OOP at its absolute worst. So people have come up with minilanguages (like the TableLayout), and declarative XML replacements like Apache Jelly, and other ways to try to ease the pain. I was on a team at Amazon many years ago that was planning to port a big internal Swing application to the web, and we were looking at the various ways to do web programming, which at the time (for Java) were pretty much limited to JSP, WebMacro, and rolling your own Swing-like HTML component library. We experimented with the OOP approach to HTML generation and quickly discarded it as unmaintainable. (Tell that to any OOP fanatic and watch their face contort as they try to reconcile their conflicting ideas about what constitutes good programming practice.) The right solution in this case is, of course, a Lisp dialect; Lisp really shines at this sort of thing. But Lisp isn't so hot at algebraic expressions, and the best Lisp machines no longer look so cutting-edge compared to the JVM, and blah blah blah, so people don't use Lisp. So it goes. The next-best solutions are all about equally bad. You have your XML-language approaches (like Jelly, but for the web), but they don't give you sufficient expressiveness for control flow -- presentation logic really does require code, and it gets ugly in XML in a real hurry. You have your JSP-style templating approaches, and they aren't bad, but they can have as many as 4 or 5 different languages mixed in the same source file, which presents various problems for your tools (both the IDEs and the batch tools). And then you have a long tail of other approaches, none of which manage to be very satisfying, but that's not really the fault of the languages. It's the browsers' fault: they START with three languages (HTML, CSS, and JavaScript), rather than having just one language to control the entire presentation, and it only goes downhill from there. But NONE of the approaches to web templating is as bad as Swing-style programming, with a huge thicket of calls to new(), addChild(), setAttribute(), addListener(), and the like. The only approach that's worse (and even it might just be tied) is raw HTML printing: print("<html><body>...</body></html>"); So we're all in agreement. OOP-style assembly of parents and children is the worst way to generate HTML. You want to use declarations; you want a template , something that visually looks like the end result you're trying to create. Well, it's the exact same situation for data structures, isn't it? You'd rather draw a picture of it (in a sense, that's exactly what you're doing with syntax for literals) than write a bunch of code to assemble it. This is all assuming that you're working with a small data set, of course. But that happens all the time in real-world programs; it's ubiquitous. So you kinda want your language to support it syntactically. And so far we've only covered literal syntax for HashMaps and ArrayLists (which you can combine to produce various kinds of custom Trees.) Already Java's way behind other languages, and we haven't discussed any richer data types. Like, say, objects. JavaScript does it the best here, IMO, in the parity between hashes and objects. It's not really possible in Ruby or Python to declare a class, then create instances of the class using literal notation the way you can in JavaScript, where the keys are the names of instance variables. Fortunately you can accomplish this in either Ruby or Python with just a smidge of metaprogramming, so it's spilt milk at worst. In Java, you only have one big hammer (instantiation), and one big wrench (the method call), so that's what you use. All you can really do to help is create a constructor that takes arguments that populate the instance variables. But if any of your instance variables are collections (other than arrays), then you're back to the old create-setprops-addchild, create-setprops-addchild pattern again. And what about functions? Ruby and JavaScript and Lisp and Scheme and Lua and Haskell and OCaml and most other self-respecting languages have function literals. That is, they have a syntax for declaring an instance of a function as a data object in your code that you can assign to a variable, or pass as a parameter. (Python has them too, but unfortunately they can only be one line, so Python folks prefer to pretend anonymous functions aren't very important. This is one of the 10 or so big problems caused by Python's whitespace policy. Don't ever let 'em tell you it doesn't cause problems. It does. Maybe it's worth the trade-off; that's a personal style preference, but they should at least admit the tradeoff exists.) Well, Java sort of has them, but Java's static type system doesn't have a literal syntax for a method signature. It's pretty easy to imagine one, e.g. something like: (int, int) -> String x; This imaginary syntax declares a variable x that takes 2 ints as parameters and returns a string. Lots of languages have signature-syntax of some sort, and Java's syntax space is definitely sparse enough that they could pick a good syntax for it without fear of collisions, even conceptual collisions. But no such luck. Instead, when you want to do this sort of thing you have to declare a named interface, and then inside of it declare at least one named method (which is where the params and return type show up), and then you're still not done, because when you create the function you have to create an anonymous (or named) class that contains the definition of the function that matches the interface. Yuck. But at least they let you do it; the alternative of not having it at all is definitely worse. Still... isn't syntactic sugar nice? I mean, they added the "smart" for-loop, which Java programmers just rave about. So someone, somewhere in the Java community thinks syntax is good. I'm not sure many of them really understand the difference between syntactic sugar (into which category the "smart" for-loop falls) and orthogonal syntax, in which the basic operators apply to all data types for which those operators make sense, and there are literal declarations possible for every data type. Let alone the next step, which is extensible syntax -- but that idea strikes fear into the hearts of many otherwise brave Java programmers, and Rubyists and Pythonistas as well, so let's back it up a notch to "orthogonal", and keep everyone calm. So there you have it: Java's biggest failing. It's the literals. No literal syntax for array-lists (or linked lists or tree sets), nothing for hashtables, nothing for objects of classes you've personally defined, none for functions or function signatures. Java programmers all around the world spend a *lot* of their time working around the problem, using XML and YAML and JSON and other non-Java data-declaration languages, and writing tons of code (whole frameworks, even) for serializing and deserializing these declarations to and from Java. For the smaller stuff, they just write helper functions, which wind up being bloated, inefficient, error-prone, and extremely unsatisfying. Java's next-biggest failing may well be the lack of orthogonality in its set of operators. We can live without operator overloading, I suppose (the simplest form of extensible syntax), but only if Sun makes operators like [] and + actually work for objects other than arrays and Strings, respectively. Jeez. Epiblogue You can draw your own conclusions about why suddenly there are all these books on Ruby appearing on the bookshelves. It's a mix of truths, no doubt. And you can draw your own conclusions about why Sun's adding support for scripting languages to the JVM, rather than simply fixing Java so that people don't want (need, really) to use those other languages. But when you dig down into a programming language, and you get past all the hype and the hooplah, what you find is a set of policies and decisions that affect your everyday life as a programmer in ways you can't ignore, and that no amount of hype will smooth over. If your language is sitting on you like an invisible elephant, and everyone using the language is struggling to work around the same problems, then it's inevitable that other languages will come into play. Libraries can make you more productive, but they have almost no effect on the scalability of the language. Every language has a complexity ceiling, and it's determined by a whole slew of policy and design decisions within the language, not the libraries. The slew includes the type system (with its attendant hundreds of mini-policies), and the syntax, and it also includes the language's consistency: the ratio of rules to exceptions. Java's demonstrating quite clearly that at a certain level of complexity, the libraries and frameworks start to collapse under their own weight. People are always writing "lightweight" replacements for existing fat Java libraries and frameworks, and then the replacements get replaced, ad infinitum. But have you ever seen anyone write a replacement for XPath? Nope. It's not like everyone is rushing out to write the next big XML-querying framework. This is because XPath is a language , not a library, and it's orders of magnitude more conceptually scalable than the equivalent DOM manipulations. Object-Oriented Programming. Touted even by skeptics as a radical leap forward in productivity, and all OOP really is boils down to a set of organizational techniques. Organization is nice, sure. But it's pretty clear that OOP alone doesn't cut it; it has to be supplemented with Language-Oriented Programming and DSLs. And all languages, DSLs and general-purpose languages alike, have to be designed to maximize consistency; each inconsistency and special-case in the language adds to its conceptual overhead and lowers the complexity ceiling. So you can look at the shelves filling up with Ruby books and chalk it up to marketing hype, but I have a different theory. I think it's entirely due to complexity management: Ruby does a better job of helping managing complexity than its competitors. It doesn't do a perfect job, mind you -- far from it. But it's enough of a step forward in productivity (even over Perl and Python) that it's managing to shoulder its way in to a pretty crowded language space. With that in mind, despite my griping about Java's failings, I think Sun might actually be doing the right thing by introducing scripting languages (and improving support for them in the JVM.) Maybe. Their investment isn't really so much in Java as it is in the JVM; the JVM is their .NET. Java's not really about productivity, not really -- it's got a lot of strengths (performance, deployment, reliability, static checkability, and so on), but productivity isn't high on the list. So maybe the best way to address the productivity issue, for folks who really need it more than raw performance, is to introduce new JVM languages rather than try to pull Java in two directions. We'll see. And with that, I think I've officially un-blocked myself; I seem to be able to blog again. So I'm declaring the Blogger's Block series finished! BloggersBlock block = new BloggersBlock(); block.setFinished(true); block.tieOffAndStuff(); blog.addChild(block); ... cheap oem software buy software
Good Agile, Bad Agile
Posted on November 18, 2008 in Generic biologicals
Scrums are the most dangerous phase in rugby, since a collapse or improper engage can lead to a front row player damaging or even breaking his neck. — Wikipedia When I was growing up, cholesterol used to be bad for you. It was easy to remember. Fat, bad. Cholesterol bad. Salt, bad. Everything, bad. Nowadays, though, they differentiate between "good" cholesterol and "bad" cholesterol, as if we're supposed to be able to distinguish them somehow. And it was weird when they switched it up on us, because it was as if the FDA had suddenly issued a press release announcing that there are, in fact, two kinds of rat poison: Good Rat Poison and Bad Rat Poison, and you should eat a lot of the Good kind, and none of the Bad kind, and definitely not mix them up or anything. Up until maybe a year ago, I had a pretty one-dimensional view of so-called "Agile" programming, namely that it's an idiotic fad-diet of a marketing scam making the rounds as yet another technological virus implanting itself in naive programmers who've never read "No Silver Bullet", the kinds of programmers who buy extended warranties and self-help books and believe their bosses genuinely care about them as people, the kinds of programmers who attend conferences to make friends and who don't know how to avoid eye contact with leaflet-waving fanatics in airports and who believe writing shit on index cards will suddenly make software development easier. You know. Chumps. That's the word I'm looking for. My bad-cholesterol view was that Agile Methodologies are for chumps. But I've had a lot of opportunity to observe various flavors of Agile-ism in action lately, and I now think I was only about 90% right. It turns out there's a good kind of Agile, although it's taken me a long time to be able to see it clearly amidst all the hype and kowtowing and moaning feverishly about scrums and whatnot. I have a pretty clear picture of it now. And you can attend my seminar on it for the low, low price of $499.95! Hahaha, chump! No, just kidding. You'll only find seminars about the Bad kind of Agile. And if in the future you ever find me touring around as an Agile Consultant, charging audiences to hear my deep wisdom and insight about Agile Development, you have my permission to cut my balls off. If I say I was just kidding, say I told you I'd say that. If I then say I'm Tyler Durden and I order you not to cut my balls off , say I definitely said I was going to say that , and then you cut 'em right off. I'll just go right ahead and tell you about the Good Kind, free of charge. It's kinda hard to talk about Good Agile and Bad Agile in isolation, so I might talk about them together. But I'll be sure to label the Good kind with a happy rat, and the Bad kind with a sad dead rat, so you'll always know the difference. The Bad Heading Back in Ye Olden Dayes, most companies approached software development as follows: - hire a bunch of engineers, then hire more. - dream up a project. - set a date for when they want it launched. - put some engineers on it. - whip them until they're either dead or it's launched. or both. - throw a cheap-ass pathetic little party, maybe. This step is optional. - then start over. Thank goodness that doesn't happen at your company, eh now? Whew! Interestingly, this is also exactly how non-technical companies (like, say, Chrysler) handled software development. Except they didn't hire the engineers. Instead, they contracted with software consultants, and they'd hand the consultants 2-year project specs, and demanded the consultants finish everything on time plus all the crap the customer threw in and/or changed after signing the contract. And then it'd all fall apart and the contractors wouldn't get paid, and everyone was really miffed. So some of the consultants began to think: "Hey, if these companies insist on acting like infants, then we should treat them like infants!" And so they did. When a company said "we want features A through Z", the consultants would get these big index cards and write "A" on the first one, "B" on the second one, etc., along with time estimates, and then post them on their wall. Then when the customer wanted to add something, the consultant could point at the wall and say: "OK, boy . Which one of these cards do you want to replace , BOY? " Is it any wonder Chrysler canceled the project? So the consultants, now having lost their primary customer, were at a bar one day, and one of them (named L. Ron Hubbard) said: "This nickel-a-line-of-code gig is lame. You know where the real money is at? You start your own religion." And that's how both Extreme Programming and Scientology were born. Well, people pretty quickly demonstrated that XP was a load of crap. Take Pair Programming, for instance. It's one of the more spectacular failures of XP. None of the Agileytes likes to talk about it much, but let's face it: nobody does it. The rationale was something like: "well if ONE programmer sitting at a terminal is good, then TEN must be better, because MORE is ALWAYS better! But most terminals can only comfortably fit TWO programmers, so we'll call it PAIR programming!" You have to cut them a little slack; they'd been dealing with the corporate equivalent of pre-schoolers for years, and that really messes with a person. But the thing is, viruses are really hard to kill, especially the meme kind. After everyone had gotten all worked up about this whole Agile thing (and sure, everyone wants to be more productive), there was a lot of face to be lost by admitting failure. So some other kinds of Agile "Methodologies" sprang up, and they all claimed that even though all the other ones were busted, their method worked! I mean, go look at some of their sites. Tell me that's not an infomercial. C'mon, just try. It's embarrassing even to look at the thing. Yeah. Well, they make money hand over fist, because of P.T. Barnum's Law, just like Scientology does. Can't really fault 'em. Some people are just dying to be parted with their cash. And their dignity. The rest of us have all known that Agile Methodologies are stupid, by application of any of the following well-known laws of marketing: - anything that calls itself a "Methodology" is stupid, on general principle. - anything that requires "evangelists" and offers seminars, exists soley for the purpose of making money. - anything that never mentions any competition or alternatives is dubiously self-serving. - anything that does diagrams with hand-wavy math is stupid, on general principle. And by "stupid", I mean it's "incredibly brilliant marketing targeted at stupid people." In any case, the consultants kept going with their road shows and glossy pamphlets. Initially, I'm sure they went after corporations; they were looking to sign flexible contracts that allowed them to deliver "whatever" in "2 weeks" on a recurring basis until the client went bankrupt. But I'm equally sure they couldn't find many clients dumb enough to sign such a contract. That's when the consultants decided to take their road show to YOU. Why not take it inside the companies and sell it there, to the developers? There are plenty of companies who use the whip-cycle of development I outlined above, so presumably some of the middle managers and tech leads would be amenable to hearing about how there's this low-cost way out of their hellish existence. And that, friends, was exactly, precisely the point at which they went from "harmless buffoons" to "potentially dangerous", because before they were just bilking fat companies too stupid to develop their own software, but now the manager down the hall from me might get infected. And most places don't have a very good quarantine mechanism for this rather awkward situation: i.e., an otherwise smart manager has become "ill", and is waving XP books and index cards and spouting stuff about how much more productive his team is on account of all this newfound extra bureaucracy. How do we know it's not more productive? Well, it's a slippery problem. Observe that it must be a slippery problem, or it all would have been debunked fair and square by now. But it's exceptionally difficult to measure software developer productivity, for all sorts of famous reasons. And it's even harder to perform anything resembling a valid scientific experiment in software development. You can't have the same team do the same project twice; a bunch of stuff changes the second time around. You can't have 2 teams do the same project; it's too hard to control all the variables, and it's prohibitively expensive to try it in any case. The same team doing 2 different projects in a row isn't an experiment either. About the best you can do is gather statistical data across a lot of teams doing a lot of projects, and try to identify similarities, and perform some regressions, and hope you find some meaningful correlations. But where does the data come from? Companies aren't going to give you their internal data, if they even keep that kind of thing around. Most don't; they cover up their schedule failures and they move on, ever optimistic. Well if you can't do experiments and you can't do proofs, there isn't much science going on. That's why it's a slippery problem. It's why fad diets are still enormously popular. People want fad diets to work, oh boy you bet they do, even I want them to work. And you can point to all these statistically meaningless anecdotes about how Joe lost 35 pounds on this one diet, and all those people who desperately want to be thinner will think "hey, it can't hurt. I'll give it a try." That is exactly what I hear people say, every time a team talks themselves into trying an Agile Methodology. It's not a coincidence. But writing about Bad Agile alone is almost guaranteed to be ineffective. I mean, you can write about how lame Scientology is, or how lame fad diets are, but it's not clear that you're changing anyone's mind. Quitting a viral meme is harder than quitting smoking. I've done both. In order to have the right impact, you have to offer an alternative, and I didn't have one before, not one that I could articulate clearly. One of the (many) problems with Bad Agile is that they condescendingly lump all non-Agile development practices together into two buckets: Waterfall and Cowboy. Waterfall is known to be bad; I hope we can just take that as an axiom today. But what about so-called Cowboy programming, which the Agileers define as "each member of the team does what he or she thinks is best"? Is it true that this is the only other development process? And is Cowboy Programming actually bad? They say it as if it's obviously bad, but they're not super clear on how or why, other than to assert that it's, you know, "chaos". Well, as I mentioned, over the past year I've had the opportunity to watch both Bad Agile and Good Agile in motion, and I've asked the teams and tech leads (using both the Bad and Good forms) lots of questions: how they're doing, how they're feeling, how their process is working. I was really curious, in part because I'd consented to try Agile last Christmas ("hey, it can't hurt"), and wound up arguing with a teammate over exactly what metadata is allowed on index cards before giving up in disgust. Also in part because I had some friends on a team who were getting kind of exhausted from what appeared to be a Death March, and that kind of thing doesn't seem to happen very often at Google. So I dug in, and for a year, I watched and learned. The Good Head (cue happy rat) I'm going to talk a little about Google's software development process. It's not the whole picture, of course, but it should suffice for today. I've been there for almost a year and a half now, and it took a while, but I think I get it now. Mostly. I'm still learning. But I'll share what I've got so far. From a high level, Google's process probably does look like chaos to someone from a more traditional software development company. As a newcomer, some of the things that leap out at you include: - there are managers, sort of, but most of them code at least half-time, making them more like tech leads. - developers can switch teams and/or projects any time they want, no questions asked; just say the word and the movers will show up the next day to put you in your new office with your new team. - Google has a philosophy of not ever telling developers what to work on, and they take it pretty seriously. - developers are strongly encouraged to spend 20% of their time (and I mean their M-F, 8-5 time, not weekends or personal time) working on whatever they want, as long as it's not their main project. - there aren't very many meetings. I'd say an average developer attends perhaps 3 meetings a week, including their 1:1 with their lead. - it's quiet. Engineers are quietly focused on their work, as individuals or sometimes in little groups or 2 to 5. - there aren't Gantt charts or date-task-owner spreadsheets or any other visible project-management artifacts in evidence, not that I've ever seen. - even during the relatively rare crunch periods, people still go get lunch and dinner, which are (famously) always free and tasty, and they don't work insane hours unless they want to. These are generalizations, sure. Old-timers will no doubt have a slightly different view, just as my view of Amazon is slightly biased by having been there in 1998 when it was a pretty crazy place. But I think most Googlers would agree that my generalizations here are pretty accurate. How could this ever work? I get that question a lot. Heck, I asked it myself. What's to stop engineers from leaving all the trouble projects, leaving behind bug-ridden operational nightmares? What keeps engineers working towards the corporate goals if they can work on whatever they want? How do the most important projects get staffed appropriately? How do engineers not get so fat that they routinely get stuck in stairwells and have to be cut out by the Fire Department? I'll answer the latter question briefly, then get to the others. In short: we have this thing called the Noogler Fifteen, named after the Frosh Fifteen: the 15 pounds that many college freshmen put on when they arrive in the land of Stress and Pizza. Google has solved the problem by lubricating the stairwells. As to the rest of your questions, I think most of them have the same small number of answers. First, and arguably most importantly, Google drives behavior through incentives. Engineers working on important projects are, on average, rewarded more than those on less-important projects. You can choose to work on a far-fetched research-y kind of project that may never be practical to anyone, but the work will have to be a reward unto itself. If it turns out you were right and everyone else was wrong (the startup's dream), and your little project turns out to be tremendously impactful, then you'll be rewarded for it. Guaranteed. The rewards and incentives are too numerous to talk about here, but the financial incentives range from gift certificates and massage coupons up through giant bonuses and stock grants, where I won't define "giant" precisely, but think of Google's scale and let your imagination run a bit wild, and you probably won't miss the mark by much. There are other incentives. One is that Google a peer-review oriented culture, and earning the respect of your peers means a lot there. More than it does at other places, I think. This is in part because it's just the way the culture works; it's something that was put in place early on and has managed to become habitual. It's also true because your peers are so damn smart that earning their respect is a huge deal. And it's true because your actual performance review is almost entirely based on your peer reviews, so it has an indirect financial impact on you. Another incentive is that every quarter, without fail, they have a long all-hands in which they show every single project that launched to everyone, and put up the names and faces of the teams (always small) who launched each one, and everyone applauds. Gives me a tingle just to think about it. Google takes launching very seriously, and I think that being recognized for launching something cool might be the strongest incentive across the company. At least it feels that way to me. And there are still other incentives; the list goes on and ON and ON ; the perks are over the top, and the rewards are over the top, and everything there is so comically over the top that you have no choice, as an outsider, but to assume that everything the recruiter is telling you is a baldfaced lie, because there's no possible way a company could be that generous to all of its employees, all of them, I mean even the contractors who clean the micro-kitchens, they get these totally awesome "Google Micro-Kitchen Staff" shirts and fleeces. There is nothing like it on the face of this earth. I could talk for hours , days about how amazing it is to work at Google, and I wouldn't be done. And they're not done either. Every week it seems like there's a new perk, a new benefit, a new improvement, a new survey asking us all if there's any possible way in which life at Google could be better. I might have been mistaken, actually. Having your name and picture up on that big screen at End of Quarter may not be the biggest incentive. The thing that drives the right behavior at Google, more than anything else, more than all the other things combined, is gratitude . You can't help but want to do your absolute best for Google; you feel like you owe it to them for taking such incredibly good care of you. OK, incentives. You've got the idea. Sort of. I mean, you have a sketch of it. When friends who aren't at Google ask me how it is working at Google — and this applies to all my friends at all other companies equally, not just companies I've worked at — I feel just how you'd feel if you'd just gotten out of prison, and your prison buddies, all of whom were sentenced in their early teens, are writing to you and asking you what it's like "on the outside". I mean, what would you tell them? I tell 'em it's not too bad at all. Can't complain. Pretty decent, all in all. Although the incentive-based culture is a huge factor in making things work the way they do, it only addresses how to get engineers to work on the "right" things. It doesn't address how to get those things done efficiently and effectively. So I'll tell you a little about how they approach projects. Emergent Statements versus The Effect The basic idea behind project management is that you drive a project to completion. It's an overt process, a shepherding: by dint of leadership, and organization, and sheer force of will, you cause something to happen that wouldn't otherwise have happened on its own. Project management comes in many flavors, from lightweight to heavyweight, but all flavors share the property that they are external forces acting on an organization. At Google, projects launch because it's the least-energy state for the system. Before I go on, I'll concede that this is a pretty bold claim, and that it's not entirely true. We do have project managers and product managers and people managers and tech leads and so on. But the amount of energy they need to add to the system is far less than what's typically needed in our industry. It's more of an occasional nudge than a full-fledged continuous push. Once in a while, a team needs a bigger nudge, and senior management needs to come in and do the nudging, just like anywhere else. But there's no pushing. Incidentally, Google is a polite company, so there's no yelling, nor wailing and gnashing of teeth, nor escalation and finger-pointing, nor any of the artifacts produced at companies where senior management yells a lot. Hobbes tells us that organizations reflect their leaders; we all know that. The folks up top at Google are polite, hence so is everyone else. Anyway, I claimed that launching projects is the natural state that Google's internal ecosystem tends towards, and it's because they pump so much energy into pointing people in that direction. All your needs are taken care of so that you can focus, and as I've described, there are lots of incentives for focusing on things that Google likes. So launches become an emergent property of the system. This eliminates the need for a bunch of standard project management ideas and methods: all the ones concerned with dealing with slackers, calling bluffs on estimates, forcing people to come to consensus on shared design issues, and so on. You don't need "war team meetings," and you don't need status reports. You don't need them because people are already incented to do the right things and to work together well. The project management techniques that Google does use are more like oil than fuel: things to let the project keep running smoothly, as opposed to things that force the project to move forward. There are plenty of meeting rooms, and there's plenty of open space for people to go chat. Teams are always situated close together in fishbowl-style open seating, so that pair programming happens exactly when it's needed (say 5% of the time), and never otherwise. Google generally recognizes that the middle of the day is prone to interruptions, even at quiet companies, so many engineers are likely to shift their hours and come in very early or stay very late in order to find time to truly concentrate on programming. So meetings only happen in the middle of the day; it's very unusual to see a meeting start before 10am or after 4:30pm. Scheduling meetings outside that band necessarily eats into the time when engineers are actually trying to implement the things they're meeting about, so they don't do it. Google isn't the only place where projects are run this way. Two other kinds of organizations leap to mind when you think of Google's approach: startup companies, and grad schools. Google can be considered a fusion of the startup and grad-school mentalities: on the one hand, it's a hurry-up, let's get something out now, do the simplest thing that could work and we'll grow it later startup-style approach. On the other, it's relatively relaxed and low-key; we have hard problems to solve that nobody else has ever solved, but it's a marathon not a sprint, and focusing requires deep concentration, not frenzied meetings. And at the intersection of the two, startups and grad schools are both fertile innovation ground in which the participants carry a great deal of individual responsibility for the outcome. It's all been done before; the only thing that's really surprising is that Google has managed to make it scale. The scaling is not an accident. Google works really hard on the problem, and they realize that having scaled this far is no guarantee it'll continue, so they're vigilant. That's a good word for it. They're always on the lookout to make sure the way of life and the overall level of productivity continue (or even improve) as they grow. Google is an exceptionally disciplined company, from a software-engineering perspective. They take things like unit testing, design documents and code reviews more seriously than any other company I've even heard about. They work hard to keep their house in order at all times, and there are strict rules and guidelines in place that prevent engineers and teams from doing things their own way. The result: the whole code base looks the same, so switching teams and sharing code are both far easier than they are at other places. And engineers need great tools, of course, so Google hires great people to build their tools, and they encourage engineers (using incentives) to pitch in on tools work whenever they have an inclination in that direction. The result: Google has great tools, world-class tools, and they just keep getting better. The list goes on. I could talk for days about the amazing rigor behind Google's approach to software engineering. But the main takeaway is that their scaling (both technological and organizational) is not an accident. And once you're up to speed on the Google way of doing things, it all proceeds fairly effortlessly — again, on average, and compared to software development at many other companies. The Tyranny of the Vocabulary We're almost done. The last thing I want to talk about here is dates . Traditional software development can safely be called Date-Oriented Programming, almost without exception. Startup companies have a clock set by their investors and their budget. Big clients set target dates for their consultants. Sales people and product managers set target dates based on their evaluation of market conditions. Engineers set dates based on estimates of previous work that seems similar. All estimation is done through rose-colored glasses, and everyone forgets just how painful it was the last time around. Everyone picks dates out of the air. "This feels like it should take about 3 weeks.""It sure would be nice to have this available for customers by beginning of Q4.""Let's try to have that done by tomorrow." Most of us in our industry are date-driven. There's always a next milestone, always a deadline, always some date-driven goal to it. The only exceptions I can think of to this rule are: 1) Open-source software projects. 2) Grad school projects. 3) Google. Most people take it for granted that you want to pick a date. Even my favorite book on software project management, "The Mythical Man-Month", assumes that you need schedule estimates. If you're in the habit of pre-announcing your software, then the general public usually wants a timeframe, which implies a date. This is, I think, one of the reasons Google tends not to pre-announce. They really do understand that you can't rush good cooking, you can't rush babies out, and you can't rush software development. If the three exceptions I listed above aren't driven by dates, then what drives them? To some extent it's just the creative urge, the desire to produce things; all good engineers have it. (There are many people in our industry who do this gig "for a living", and they go home and don't think about it until the next day. Open source software exists precisely because there are people who are better than that.) But let's be careful: it's not just the creative urge; that's not always directed enough, and it's not always incentive enough. Google is unquestionably driven by time , in the sense that they want things done "as fast as possible". They have many fierce, brilliant competitors, and they have to slake their thirsty investors' need for growth, and each of us has some long-term plans and deliverables we'd like to see come to fruition in our lifetimes. The difference is that Google isn't foolish enough or presumptuous enough to claim to know how long stuff should take. So the only company-wide dates I'm ever aware of are the ends of each quarter, because everyone's scrambling to get on that big launch screen and get the applause and gifts and bonuses and team trips and all the other good that comes of launching things with big impact at Google. Everything in between is just a continuum of days, in which everyone works at optimal productivity, which is different for each person. We all have work-life balance choices to make, and Google is a place where any reasonable choice you make can be accommodated, and can be rewarding. Optimal productivity is also a function of training, and Google offers tons of it, including dozens of tech talks every week by internal and external speakers, all of which are archived permanently so you can view them whenever you like. Google gives you access to any resources you need in order to get your job done, or to learn how to get your job done. And optimal productivity is partly a function of the machine and context in which you're operating: the quality of your code base, your tools, your documentation, your computing platform, your teammates, even the quality of the time you have during the day, which should be food-filled and largely free of interrupts. Then all you need is a work queue. That's it. You want hand-wavy math? I've got it in abundance: software development modeled on queuing theory. Not too far off the mark, though; many folks in our industry have noticed that organizational models are a lot like software models. With nothing more than a work queue (a priority queue, of course), you immediately attain most of the supposedly magical benefits of Agile Methodologies. And make no mistake, it's better to have it in software than on a bunch of index cards. If you're not convinced, then I will steal your index cards. With a priority queue, you have a dumping-ground for any and all ideas (and bugs) that people suggest as the project unfolds. No engineer is ever idle, unless the queue is empty, which by definition means the project has launched. Tasks can be suspended and resumed simply by putting them back in the queue with appropriate notes or documentation. You always know how much work is left, and if you like, you can make time estimates based on the remaining tasks. You can examine closed work items to infer anything from bug regression rates to (if you like) individual productivity. You can see which tasks are often passed over, which can help you discover root causes of pain in the organization. A work queue is completely transparent, so there is minimal risk of accidental duplication of work. And so on. The list goes on, and on, and on. Unfortunately, a work queue doesn't make for a good marketing platform for seminars and conferences. It's not glamorous. It sounds a lot like a pile of work, because that's exactly what it is. Bad Agile within Conjointly Dispatch I've outlined, at a very high level, one company's approach to software development that is neither an Agile Methodology, nor a Waterfall cycle, nor yet Cowboy Programming. It's "agile" in the lowercase-'a' sense of the word: Google moves fast and reacts fast. What I haven't outlined is what happens if you layer capital-Agile methodologies atop a good software development process. You might be tempted to think: "well, it can't hurt!" I even had a brief fling with it myself last year. The short answer is: it hurts. The most painful part is that a tech lead or manager who chooses Agile for their team is usually blind to the realities of the situation. Bad Agile hurts teams in several ways. First, Bad Agile focuses on dates in the worst possible way: short cycles, quick deliverables, frequent estimates and re-estimates. The cycles can be anywhere from a month (which is probably tolerable) down to a day in the worst cases. It's a nicely idealistic view of the world. In the real world, every single participant on a project is, as it turns out, a human being. We have up days and down days. Some days you have so much energy you feel you could code for 18 hours straight. Some days you have a ton of energy, but you just don't feel like focusing on coding. Some days you're just exhausted. Everyone has a biological clock and a a biorhythm that they have very little control over, and it's likely to be phase-shifted from the team clock, if the team clock is ticking in days or half-weeks. Not to mention your personal clock: the events happening outside your work life that occasionally demand your attention during work hours. None of that matters in Bad Agile. If you're feeling up the day after a big deliverable, you're not going to code like crazy; you're going to pace yourself because you need to make sure you have reserve energy for the next big sprint. This impedance mismatch drives great engineers to mediocrity. There's also your extracurricular clock: the set of things you want to accomplish in addition to your main project: often important cleanups or other things that will ultimately improve your whole team's productivity. Bad Agile is exceptionally bad at handling this, and usually winds up reserving large blocks of time after big milestones for everyone to catch up on their side-project time, whether they're feeling creative or not. Bad Agile folks keep their eye on the goal, which hurts innovation. Sure, they'll reserve time for everyone to clean up their own code base, but they're not going to be so altruistic as to help anyone else in the company. How can you, when you're effectively operating in a permanent day-for-day slip? Bad Agile seems for some reason to be embraced by early risers. I think there's some mystical relationship between the personality traits of "wakes up before dawn", "likes static typing but not type inference", "is organized to the point of being anal", "likes team meetings", and "likes Bad Agile". I'm not quite sure what it is, but I see it a lot. Most engineers are not early risers. I know a team that has to come in for an 8:00am meeting at least once (maybe several times) a week. Then they sit like zombies in front of their email until lunch. Then they go home and take a nap. Then they come in at night and work, but they're bleary-eyed and look perpetually exhausted. When I talk to them, they're usually cheery enough, but they usually don't finish their sentences. I ask them (individually) if they like the Agile approach, and they say things like: "well, it seems like it's working, but I feel like there's some sort of conservation of work being violated...", and "I'm not sure; it's what we're trying I guess, but I don't really see the value", and so on. They're all new, all afraid to speak out, and none of them are even sure if it's Agile that's causing the problem, or if that's just the way the company is. That, my friends, is not "agile"; it's a just load of hooey. And it's what you get whenever any manager anywhere decides to be a chump. Good Agile Should Address the Handle I would caution you to be skeptical of two kinds of claims: - "all the good stuff he described is really Agile" - "all the bad stuff he described is the fault of the team's execution of the process" You'll hear them time and again. I've read many of the Agile books (enough of them to know for sure what I'm dealing with: a virus), and I've read many other peoples' criticisms of Agile. Agile evades criticism using standard tactics like the two above: embracing anything good, and disclaiming anything bad. If a process is potentially good, but 90+% of the time smart and well-intentioned people screw it up, then it's a bad process. So they can only say it's the team's fault so many times before it's not really the team's fault. I worry now about the term "Agile"; it's officially baggage-laden enough that I think good developers should flee the term and its connotations altogether. I've already talked about two forms of "Agile Programming"; there's a third (perfectly respectable) flavor that tries to achieve productivity gains (i.e. "Agility") through technology. Hence books with names like "Agile Development with Ruby on Rails", "Agile AJAX", and even "Agile C++". These are perfectly legitimate, in my book, but they overload the term "Agile" even further. And frankly, most Agile out there is plain old Bad Agile. So if I were you, I'd take Agile off your resume. I'd quietly close the SCRUM and XP books and lock them away. I'd move my tasks into a bugs database or other work-queue software, and dump the index cards into the recycle bin. I'd work as fast as I can to eliminate Agile from my organization. And then I'd focus on being agile. But that's just my take on it, and it's 4:00am. Feel free to draw your own conclusions. Either way, I don't think I'm going to be an Early Riser tomorrow. Oh, I almost forgot the obvious disclaimer: I do not speak for Google. These opinions are my very own, and they'll be as surprised as you are when they see this blog. Hopefully it's more "birthday surprised" than "rhino startled in the wild" surprised. We'll see! cheap oem software buy software
Weekly Blogscan: The Organic Diet
Posted on November 18, 2008 in Diet
At a traffic light today, I found myself behind a car with a bumper sticker that my casual glance read as Eat Organic . Just as the light went green, my brain clicked on to inform me that it actually said Eat Origami . Now, the health benefits of consuming only folded paper figures aside, I wondered if the organic food movement had spread to the blogosphere. The answer is a resounding Yes. We have the Organic Lifestyle in New Zealand, the UK, and as a women's online magazine. Interesting that the last features—prominently—an advertisement for Aphrodite Chocolates. Conversely, Suw Charman at Chocolate and Vodka has her priorities in order. In fact, she tells us Today I realised—with a glass of orange juice, a bar of Green & Black's dark organic chocolate and a bag of champagne truffles on my desk—that I had sort of fallen off the sugar wagon. Well, less fallen off, more jumped off. Enthusiastically. This probably explains why I spent much of this afternoon either asleep or very nearly asleep. At her Organic Baby Farm , Utah blogger Wacky Hermit is "growing the World's Cutest Free-Range Milk-Fed Kids... and feeding them nothing but crap." Her recent post "Today At GotMilk Prison Camp" makes the point that "with enough rhetoric you can make anything sound like torture." (Plus, it's both satiric and cute!) At Milk Is Milk , on the other hand, a reprint of the Oct. 2004 treatise by The Scientist editor Richard Gallagher exposes the Organic Food Placebo. Gallagher quotes British peer Dick Taverne, "...the craze for organic food is built on myth. It starts with a scientific howler, has rules with neither rhyme nor reason. None of the claims made for it have ever been substantiated, and if it grows it will damage the nation's health." Taverne's complete remarks are available at another organic-debunking blog, Foreign Dispatches , in the post "You have to be green to swallow the organic food myth." Perhaps in response, the Accidental Hedonist chronicles the questionable organic nature of some organic dairies. The blog notes that "it's not surprising that once it had been determined that there was a market for such products, some corporate farms sought to get a piece of the pie." Unfortunately, they charge, at least one group of dairies operating in California, Idaho, and Colorado, is violating two of the standards that would make the milk organic. "According to reports, both the Idaho and California operations differ little from conventional confinement dairies other than having their high-producing cows fed certified organic feed," says Mark Kastel, Senior Farm Policy Analyst, at the Wisconsin-based Cornucopia Institute. Janet Roberts uses her FoodWords blog to steer us to a viral Flash video , "Obi Wan Cannoli Wants You!" Even if you're sick of Star Wars, you have to check out... the Organic Trade Association['s] "Store Wars." Starring Cuke Skywalker, Obi Wan Cannoli, Ham Solo and Darth Tater, it tells the tale of food adulteration and how to combat it. Spot-on parody of the earliest Star Wars chapters, obviously done by people who appreciate a good pun (Hey! Watch out for the Thai fighters!). The sod sofa also produces oxygen. Greg Tate of Ready Made gives us the detailed instructions to create the only appropriate sofa for all organic couch potatoes. The brain-child of Bruce Main, this grass-upholstered lawn chair is the perfect back-yard accessory. Head Chef Charlie Ayers posted Google Daily Menus , until he decided the rest of the world didn't care what Google-folk every day. His recipes regularly featured organic greens. Meanwhile, the Treehugger touts organic catsup as a condiment preventive of cancer. The actual agent tested was "Lycopene, an antioxidant that for years has been known to have protective effects against breast, prostate, and pancreatic cancers... found in cooked tomato products like tomato sauce and, yes, ketchup." In May 2005, The Politic commented on a National Review item that posited organic farming is "simply not sustainable." The blogger used the item to drive the opinion: "There is way too much hype over how bad genetically modified (GM) food is. How small minded can these people be? The truth is that this propaganda was created simply to sell products in the over priced organic food industry." If the choice were limited to GMO vs. organic, we might agree with him that you can "Eat Organic If You Want People To Starve." Or you could eat organ meats, although as Roast Beef warns us from his GREP blog, this can have disturbing consequences. He and his buddies went for lunch at a Korean Barbeque, but wound up eating more than they had bargained for. CAUTION: Not for the queasy. This is the reason there is a market for organic food. We want control over what we eat, to know that no alien genes, pesticides or strange stress hormones will spice that dish. And even if it is fleeting or false, we seek to know whereof we eat. 1570716803,0312008988,B00006BIJ9,0875969305,0875968961,0786406186,0060938455 Please join us at BlogCritics to comment on this review. buy software cheap oem software
The New York Times Reports “Good News” About American Health Care
Posted on November 17, 2008 in Medical care
That’ll Be The Day “All I know is just what I read in the papers.” Will Rodgers,1879-1935 I await the day when The New York Times runs a series of “good news” articles about the state of American health care. The series might have these titles, • Americans Trust Their Doctors • Americans Have Greater and Quicker Access to High Tech Diagnostic and Curative Care Than Any Other Nation • Foreign Physicians Flock to America for Training Unavailable in Their Country • Record Numbers of Canadians Cross Border for Life-Saving Care • America Achieves Unprecedented Longevity Gains in Last Decade • Americans Receive 80 Percent of Noble Prizes in Medicine • Research at American Pharmaceutical Companies Produces 90 Percent of the World’s New Drugs • America’s Innovative Health System’s Variety and Choice the Wonder of The World That’ll be the day. The Times in 2005 and 2006 had a series of a dozen articles entitled “Being A Patient.” These focused largely on the perils of being a patient in America. Now The Times is embarked on a series on medicine and money, focusing on profit-mongering drug and medical device companies in league with greedy specialists to bilk the public. It all comes down to altitude and attitude. From their lofty perch, Th e New York Time’s editorial staff has yet to tumble to the reality America is basically a conservative nation, distrusts centralized government, wants choices of care and providers, demands access to the wonders of high tech medicine, and believes a market-based system, with all its faults, such as profits for entrepreneurial and innovative health care companies and , are worth the price and value received. It is almost as though The Times denies the existence of entrepreneurial capitalism in American health care. Our health system blends innovative large and small firms striving for economic growth. Such a system entails risk – workers who lose jobs and health insurance, widening of gaps between winners and losers, competition with some jobs going to skilled workers abroad who have increasing skills, occasional bankruptcies among those unable to pay health care bills. American capitalism is imperfect. It requires oversight to reduce risks without losing entrepreneurial vigor. Unremitting accusations of bad faith and constant “bad news” stories don’t strengthen health care. Read the The New York Times, and you’ll come away believing pervasive avaricious greed corrupts American health care and will break our already “broken” system. From May 9 through May 11, The Times ran 10 articles on how drug companies deceived the public and entered into unholy alliances with doctors to sell more drugs to produce more revenue for doctors, how doctors willingly entered into these alliances solely for material gain, and how lobbyist-tainted and incompetent FDA failed to monitor new drugs and harmed patient safety. The May 9 front page, right top column, the prime spot for highlighting news, featured these headlines, Doctors Reaping Millions for Use of Anemia Drugs. Payments from Industry. Concerns over Safety – Critics See Incentives for Higher Doses. The opening Section read: “T wo of the world’s largest drug companies are paying hundreds of millions of dollars to doctors every year in return for giving their patients anemia medicines, which regulators now say may be unsafe at commonly used doses. The payments are legal, but very few people outside of the doctors who receive them are aware of their size. Critics, including prominent cancer and kidney doctors, say the payments give physicians an incentive to prescribe the medicines at levels that might increase patients’ risks of heart attacks or strokes. Industry analysts estimate that such payments — to cancer doctors and the other big users of the drugs, kidney dialysis centers — total hundreds of millions of dollars a year and are an important source of profit for doctors and the centers. The payments have risen over the last several years, as the makers of the drugs, Amgen and Johnson & Johnson, compete for market share and try to expand the overall business.” The Times appears bent on publishing on its front pages “All the Bad News that’s Fit to Print about U.S. Health Care.” The May 9 article is part of a series of medicine and money, all decrying collusive relationships between big business and bad doctors. The Times series focus on the pharmaceutical industry and medical device industries , and how these industries reward specialists who overuse products for financial gain. To The Times, the American health system has become a morality play, • the good guys (The Times and other assorted elites and policy pundits) vs. the bad guys (profiteering health companies and doctors); • the greedy (well-healed executives and “rich” doctors) vs. the needy (poor patients in the throes of cancer or kidney dialysis); • the high brows (academics and journalists who know what’s right for the common good) vs. the low brow commercial types (who do almost everything wrong as long as it suits their own financial self-interest). I don’t wish to pick a fight with a media outlet who buys ink by the barrel. I know “bad news” sells better than “good news.” I know The Times considers itself the Watchdog and Whistle-Blower against mean-spirited, profiteering conservatives. I don’t question our capitalistic system needs oversight to reduce abuses. I’m simply seeking more balance in The Times reporting. For an example of this imbalance, in its May 9 piece, The Times dismisses America doctors’ overuse of anemia-correcting drugs for cancer and dialysis as a deliberate effort to make money. To make its case, The Times notes American doctors, • prescribe more drugs than European counterparts ( Did it ever occur to T he Times maybe, just maybe, European doctors “under-prescribe” and maybe their patients have less positive results? ) • conssciously endanger patients for profit when they know anemia drugs are unsafe (Has it occurred to The Times American physicians prescribing these drugs believe higher hemoglobin levels are “good” for improving health and alleviated distressing symptoms attributable to anemia.) • Continued to prescribe drugs even after studies indicated hemoglobin levels above 12 might endanger patients ( Did it ever occur to The Times the studies indicating “possible” risk studies were far from conclusive and only appeared in March?) Nor does The Times point out doctors themselves often criticize thenselves. For instance, on a May 11 blog, “The Doctors Weighs in on Cancer,” Dr. Dov Michaeli, an academic physician and biochemist who does cancer research takes the American Society of Clinical Oncologists (ASCO) to task for responding to the Times defensively (see epilogue to this blog for a reprint of ASCO letter to The Times). Of the ASCO letter to the times (reprinted in epilogue), Dr. Michaeli acidly comments “ASCO makes that same argument that professional people make when colleagues are caught with their hands in the cookie jar: most of us are conscientious, hardworking people. Granted, but it turns a blind eye to the corrosive influence of pharmaceutical companies on the use of drugs. This is denial of how our health system ‘works’ on a daily basis.” Michaeli concludes: “As the wheels are coming off our broken health system, more revelations of waste, abuse, greed and outright criminality are bound to surface. What are we going to do about it?” Good question. I suggest we start with a more balanced view of the system. • First, I reject the notion the system is “broken” – and constant reference by academic critics of greed by practitioners as a cause for this brokenness ( Michaeli, an academic researcher, shows some of this bias when he says, “ ASCO is led by academic clinicians and researchers, whose motivation and dedication is admirable. But many of the rank and file, community practitioners, are not beyond temptation.” I doubt medical academicians, who compete for pharmaceutical company grants and who run clinical trials, are beyond temptation. I’m unaware academic physicians wear halos and only practicing doctors are vulnerable to “temptation.” • Second, I believe critics ought to acknowledge health care is an innovate force in our economy, will soon represent 20 percent of the nation’s GNP, and is the nation’s largest employer. Professional managers, whose job is to maximize resources and revenues, run most health care enterprises - hospitals, medical practices, drug and device manufacturers. If overzealous pursuit of revenues and resources leads to excess, managers should be condemned, even fined and jailed, but it shouldn’t be assumed or taken for granted pharmaceutical and medical device companies and doctors are always seeking mutually beneficial arrangements are ipso facto evil doers. What the media in general, and The New York Times in particular, needs is a more balanced view. An occasional dollop of good news, such as more than 50 percent of cancer victims are now surviving, more than 10 million cancer victims are living with their disease, and genetically engineered cancer drugs are contributing significantly to cancer cures, would help achieve that balance. I’m pleased to report the May 12 issue of The Times contains a “good news” piece on Becton, Dickinson & Company. It’s buried on the third page of the business section. It’s titled “Medical Gear That Rarely Makes News.” It consists of an interview with Edward J. Ludwig, CEO of Becton and Dickenson, with revenues of $5.7 billion last year, on sales of syringes, diagnostic kits, lab equipment, and related gear. The unifying theme behind the company’s success is its emphasis on safety in its products to protect doctors, nurses, and patients with shields, sliding clasps, and needle retracting into the device. Its ambition is to make a significant dent in the 2 million infections each year from antibiotic resistant staphococci killing 90,000 Americans each year and costing $6 billion yearly to treat. Toward that end, B &D has acquired a diagnostic system allowing them to quickly identify the offending bacteria. Use of this system to screen every patient. entering Evanston Northwestern Hospital reduced infections by 60 percent. Ludwig contend s private innovation will help the “broken” health system to heal itself by attacking safety problems, and improving care. What the media needs is a new more flexible mindset allowing them to become more innovative in reporting the “good news” of our resourceful and responsive health system. Epilogue : In the interest of being “fair and balanced” (a term the mainstream media now considers anathema since Fox News adopted it as their slogan), I reprint six letters from the May 13, Sunday, New York Times. The Times deserves credit for publishing letters representing both points of view. Best Drug, or Best Money Maker? (6 Letters) 1) To the Editor: So two drug companies are paying hundreds of millions of dollars to doctors who prescribe anemia medicines that lack effectiveness and put a patient’s health at risk. This is not a surprise because it reflects our broken health system, a system driven by greed. Although drug companies say their intentions are not to promote the use of more medicine for profit, there will always be the risk that some doctors will prescribe higher doses to gain that extra dollar. As patients, we should work to eliminate the incentives to doctors and to raise patient awareness about them. We deserve the right to know the benefits of a medicine, both for us and for the doctors. Luis Rodriguez Daly City, Calif., May 9, 2007 2) To the Editor: Medical care should be guided only by what is best for patients. But throughout the medical system, rebates and volume discounts are common and can create the perception of improper incentives. Our organization has long advocated evidence-based guidelines, including those we produced in 2002 with the American Society of Hematology on erythropoietin use for chemotherapy-related anemia. With the appropriate use of erythropoietin, many thousands of patients have avoided potentially dangerous blood transfusions. Oncologists care deeply about their patients, and the overwhelming majority treat them based on the best available evidence. In the case of erythropoietin, recent studies prompted the Food and Drug Administration to issue a “black box” warning in March about the potential dangers of using erythropoietin to boost hemoglobin to levels higher than guidelines recommend. Early evidence suggests that doctors factored this new data into their prescribing decisions and have reduced erythropoietin use. As a whole, the medical community needs to better determine the impact financial incentives may have on prescribing patterns and patient care, to ensure that patient needs continue to be at the forefront of medical decisions. Allen S. Lichter, M.D. Exec. V.P., American Society of Clinical Oncology Alexandria, Va., May 10, 2007 3) To the Editor: Many doctors appear dissatisfied with fees ethically garnered from clinical evaluation and management. They can and will prescribe for personal profit, and will readily reshape and expand diseases to suit the available reimbursement. Without disclosure, patients are typically the last to know there might be a problem. The investigation of anemia drugs no doubt could expose the self-serving logic, unethical inducements and poor administrative surveillance that permit exploitation of the public’s soft financial underbelly. Unfortunately, there are plenty of other specialties of medicine where such professional betrayals occur. And adequate regulation is not likely to occur in the financial free-for-all of private medicine. James H. Lampman, M.D. Bismarck, N.D., May 9, 2007 4) To the Editor: The discovery and development of growth factors that stimulate the bone marrow to produce red cells was a milestone in modern medicine. In the appropriate setting, these growth factors can improve blood counts and quality of life and spare patients time-consuming, expensive, short-lasting and risky transfusions. In our practice the increasing use of these medicines is driven by the fact that they work so well. As with any new therapy, these medicines need to be used within established and developing guidelines to avoid serious side effects. Since there are two competing and equally effective drugs, the drug makers are offering incentives for preferential use — the natural outcome of a free-market economy. Deciding how regulators might control drug makers is an important undertaking, but it should not detract from the tremendous benefits of these drugs when used in the right situation. Birjis Akhund, M.D. Chief of Medical Oncology Huntington Hospital Huntington, N.Y., May 9, 2007 5) To the Editor: America has the best medical care in the world. It is the most advanced and expensive. The first two qualifications are debatable, but the third is difficult to refute. The great expense is complicated by the high cost of drugs and procedures of dubious benefit. The likelihood of being prescribed drugs of dubious benefit is obviously increased by kickbacks to doctors. The kickbacks may be legal, but should they really be allowed? The cost of medicine is increased by this practice, and the quality is sure to suffer. Alex Floyd Lexington, Ky., May 9, 2007 6) To the Editor: “Doctors Reaping Millions for Use of Anemia Drugs” (front page, May 9) was disturbing. I found it equally disturbing that the continuation of the article was in Business Day. In the past two decades, I have observed that news of important medical advances increasingly appears in, or is continued in, the business section. This practice advances the thinking that health care is primarily a business in which providers reap riches, rather than a humane social endeavor in which providers earn their living. Ira D. Feirstein, M.D. New York, May 9, 2007
Once Bitten
Posted on November 17, 2008 in 24 hour pharmacy
If you ever wish to class sure you apprehend a keep of me, call M-Th at intervals 8 besides 11. I detain the cell phone equaling ended again automatically example until fast considering I can, faultless within quotation it is the school calling normally Eva. Without trouble, yesterday, I was packing Eli by being a little dash to the scrapbook rig dependent our regime to suggest bygone Eva from school. My phone began ringing enclosed by my purse, again until I was wrestling with him plus the stroller, etc. I guess mostly largely letting it go. But, of polity, I couldn't and this second I was rewarded, if you can whoop it that. It was the school dispense. She started evidence me how Eva had been bitten fortuitous the playground besides I was evaluating to suspect of what category of bug it must seat been, but throughout she went forth along with was aphorism, \"they didn't break the skin, but we direct some triple antibiotic ointment probable it...\" I brought about we were writing everywhere a Being score. Some discrepant kid had bitten Eva! They had habituated her a popsicle besides oodless of buoy, but she was likewise pretty tearful so they wanted to feel certain if I would accept to burst in promote her finished. Of method I did. I had mixed bosom Because I drove about to South...wondering how to hope almost Eva's first ransom. I jumbo that over upsetting being it was, there was duplicate mother who was throughout to hold a and upsetting day than me. Between these situations, it's better to be the mom of the bitee than the biter, I see. Eva was happily sitting at the index with her friends, sucking thinkable a popsicle meanwhile I surfaced. \"Hi, Mom!\" she shouted, \"I got a popsicle!\" Formerly she got bygone together with came to exhibit me her quotation. \"I got a floor price.\" Next she pointed accusingly at the new girl mid level. \"She did it.\" Ms. Amy came afresh to report me and normally it...apparently there was no tussle until a toy or anything leading finished to it. The unimportant girl was required ready to strain medially the Little Tykes automobile additionally she gave Eva a chomp. The portion looks Much better today conjointly Eva headed off to school with no concerns largely Because ration as well. (Did you think of this grandparents? She's amen!) Amidst at variance news... Bob's beta fish, \"Mr. Fish,\" a ample century desk companion at school, passed away onward Monday morning. He was regularly two as well half years old. The funeral was held at the Jackson Extravagant School Boys' Bathroom. Mid lieu of flowers, Bob went out that night to handle extra Beta. His students stuck him Tuesday morning with a new Beta, so the peculiar Beta came asylum as well became \"Dorothy,\" Eva's new pet. (Yes, we prize Betas are males, but onward \"Sesame Street\", Elmo's fish is named Dorothy likewise Eva liked the content of writing to the fish the sort Elmo does. So far, Dorothy has seen Eva visualize her medicine still originate a pie with her mommy.) The Pumpkin Pie Blizzard is the Blizzard of the Life at Dairy Queen. I reserve uncommon had unexampled so far, but the time is young. (I lasciviousness altogether properties pumpkin from late September due to early December.) ...Brooke buy software cheap oem software
You've got 2 votes here!
Posted on November 17, 2008 in 24 hour pharmacy
Daily Kos: Propound of the Nation: \"Democratic MO AG Jay Nixon is getting an early mount for 2008: Missouri Attorney Authoritative Jay Nixon filed the paperwork Thursday to start a 2008 movement as governor, resolving share questions over his miss to replace Gov. Matt Blunt. 'Surrounded by this notch, my adjust is Along the society of Missouri again our incumbent governor,' Nixon said bounded by an interview with Post-Dispatch editorial writers together with reporters. 'I demanded bargain for that the year is deserved.' Nixon, a Democrat, offered a scathing wholesale everywhere Blunt, a Republican who has been interpolated maintenance declined than a life. 'It's a harder besides along difficult resolution since me to sense chiefly what they've depleted strict than what they've ancient history wrong,' Nixon said, referring to Blunt's arena. Blunt has the third lowest check of side governor interpolated the US, bringing gone the concoct with unit Republicans Taft (OH), One-Term-Inator (CA), Fletcher (KY), more Murkowski (AK). \"
Tags: nixon, blunt, governor, republican, interpolated
Ways That My Children Are Alike
Posted on November 17, 2008 in Brooks pharmacy
1) They both were born at 37 weeks gestation. 2) They are both little Aryan babies, with blond hair too blue eyes--odd, considering my brown eyes plus Pod's dark hair. 3) They both presented an early bent through the alphabet. 4) They both would rather eat a stepped-on raisin off the floor than let a green pea offer their lips. 4) Fortunately, neither of them ever occured apportionment pet topic among exploring the haul of their dirty diapers. (So far.) 4) Pending of today, they both pulled the Christmas tree neighboring dormant themselves at year 2. Midway each sample, they were unharmed but Mom (this is, me) during lost her hold fast all over it. buy software cheap oem software
Contraceptive Pill Acne News About Acne Treatments Coconut
Posted on November 17, 2008 in Antibiotic
Acne Vulgaris Health Information There are many products sold for the treatment of acne , ... of stomach upset or drug interactions (e.g. it will not affect the oral pill ), ... Hirsutism: Health Information from Peer Reviewed Scientific ... Acne and hirsutism in polycystic ovary syndrome: clinical, ... insulin sensitivity of hirsute women of an oral contraceptive pill containing 30 microg of ... Zeus Information Service - Alternative Views on Health - Books and ... The world's first contraceptive pill that frees women from menstruation and its associated ... Research shows link between acne treatment and depression ... Medicines by effect: Skin News and features ... Other acne treatments Acnecide gel (benzoyl peroxide) ... Capasal therapeutic shampoo (coal tar, coconut oil, salicylic acid) ... Free Acne Book 106) I'm taking the contraceptive pill and always get at least one cystic ... edema as a complication of acne vulgaris : treatment with isotretinoin and ... Natural Skin Care Products New Year-Round Contraceptive Pill Safe and Effective ... Break Out Organic Acne Gel by Kiss My Face ... Coconut Milk Facial Wash by Alba Botanica ... Comments and reviews on article "How to gain weight naturally ... Lactating, headaches, acne , chin hair, weight gain, Pregnant ... would the loestrin contraceptive pill be known to put weight on women? ... Content by Keywords with initials 'co' - Patient UK combined hormonal contraceptive - standard strength ... contact acne · contact dermatitis ... corticosteroids used in the treatment of asthma ... LoopyLibrarian: 02/26/2006 - 03/04/2006 What Makes An Addict Seek Treatment ? - Medical News Today 05/03/06 No matter their ... of acne treatment when added to systemic or other topical agents, ... Discount Canada Drugs - Sitemap - Canada Pharmacy ... Neutrogena Light Night Cream Neutrogena Lip Moisturizer Neutrogena Liquid Facial Cleanser Neutrogena Moisturizer Neutrogena Multi-Vitamin Acne Treatment ... untitled What are the best treatments for acne ? ... How often do patients taking the oral contraceptive pill need to be seen for check-ups? ... News Index Coconut oil may be good for the heart, according to recent studies. ( 1 Voters ) ... Some contraceptive pills also anti- acne . ( 2 Voters ) ... Google Answers: Unblocking stubborn blocked pores / blackheads. I no longer have acne since starting the oral contraceptive , but I have 2 big stubborn blocked pores that have not responded to conventional acne treatments ... HouseofStrauss.co.uk - Articles section - Candida and Candidiasis ... Yours might be to show you that 10 years of taking the contraceptive pill isn't right for your body. Somebody else's might be that eating chocolate and ... Discount Canada Drugs -Sitemap - Canada Pharmacy Tavist Sinus Caplets · Plan B Emergency Contraceptive · Chlorpheniramine Maleate ... Neutrogena Multi-Vitamin Acne Treatment · Neutrogena Pore Refining ... mesn.org - Public Interest Litigations - PIL alleges govt apathy ... acne antibiotic treatment pill acne antibiotic treatment pill ... contraceptive foam cheap http:// contraceptive -foam.kanikuli.net/ contraceptive foam pill ... Consumer Reports on Health - Alternative medicine: Herbal ... Alternative treatments to relieve back pain. �, Sex supplement danger. �, Supplement update: Six to watch. �, Acupuncture. �, Aromatherapy studies ... What Really Works 'The insider's guide to natural health' You might also want to investigate current treatments for candida, since this very common infection ... Contraceptive pill and acne (06 Apr 2003), 1109:1 ... What Really Works 'The insider's guide to natural health' The good news is that there are some excellent natural products which will ease you through your ... Contraceptive pill and acne (06 Apr 2003), 1109:1 ... FAQ. Ovante Cosmetic. It can only be used to cure severe acne and after other acne treatments have been tried and ... so women taking it must use strict contraceptive measures. ... Glossary A few vegetable fats� coconut oil, cocoa butter, palm kernel oil and palm oil�are ... polycystic ovarian syndrome (PCOS) symptoms such as hirsutism and acne . ... Ayurveda A-Z of Ayurvedic Remedies Issues of low self-esteem and anxiety often underlie chronic acne . ... Antibiotics and the contraceptive pill can easily aggravate the problem so should be ... NHS Blog Doctor: September 2006 I see severe acne , which has not responded to all the treatment I can give, ... well to antibiotics and, for the girl, a particular contraceptive pill . ... Welcome to The Official site of The Universal Zulu Nation Garlic purifies the blood, helps control acne , and reduces blood pressure, ... Let's save the coconut from defamation of character and NOT use products with ... SkinCell Forum - Going to the Derm - any advice!! Recently started taking SkinB5 Acne Drink, it's working! ... I am on a contraceptive pill called Loestrin (for about 6/7 years), I wonder if maybe I'm not ... EIDD http:// acne -antibiotic- treatment .kdse.info/ acne antibiotic treatment order acne ... pill http:// contraceptive -foam.kanikuli.net/ contraceptive foam online ... Darisimall.com - Online Store for Health, Beauty products and ... Clearasil Adult Care Acne Treatment Cream, Tinted 0.65 OZ ... Conceptrol Contraceptive Gel With Applicators - 6/Pack, 3 Pack ... VIEWPOINTS: HEALING NEWS FROM INSULITE LABORATORIES - February 2005 A high-dose oral contraceptive would increase their risk of developing this condition, ... The acne I�ve been plagued with since my early teens is almost ... Lynda Newland - The Deployment of the Prosperous Family: Family ... While WHO developed a male hormonal contraceptive in the 1970s (where the most common side effect was acne --for only four percent of users), ... 3-13.3 Newland (22-48) contraceptive generically called the Pill (Microgynon 30 and Nordette) ... the most common side effect was acne �for only four percent of users), no ... Beauty, Health and Fitness: March 2005 Archive Learn about make-up, hair treatment , sports and exercises, ... People with acne can hardly balance the act, torn between the need to calm down those nasty ... The Marketplace National Grocery Then we introduce the pill to teenage women for everything from acne to mild ... as well as to the synthetic estrogens found in contraceptive pills. ... Progesterone & Vitamin E bullet, For the topical application to sun damaged skin, or acne wrinkles, etc., the oil can be applied directly to the affected area. For topical treatment ... cheap oem software buy software
Tags: acne, contraceptive, treatment, pill, health
More Than Just a Broken Arrow
Posted on November 16, 2008 in Impotence young men
If having sex interpolated college is so \"popular\", why are its links seemingly so abnormal? Here is uncommon FASCINATING inside from the Washington Propel a few weeks finished titled, \"Cupid's Broken Arrow\" approximately rising progressions of male impotenece surrounded by college-aged cloud. Fascinating amid chunk over it seems so unlikely but furthermore considering it seems to form hear. Thanks to the article says, It seems this seeing a sizable brand of young division, the fact this they can fruits sex whenever they default may distinguish instituted a whereabouts tract, tween fact, they're unable to own sex. Understandinging to surveys, young women are now mid budding considering young division to implicate sex along with closed teeming memorandums are furthermore pending abeyant to fashion sex, accepting away from males the age-old, erotic reaction of the chase. Along with moment the capacity of the chase is certainly position of the field, unlike things may serve to while handily. All along the article goes onward to open up, \" Introduce performance anxiety with binge drinking and the abuse of drugs no sweat campus along with it's no wonder that headaches are statement closed at college clinics halfway snarls up that sustain the lie to the dictum that impotence is different through the old (Bob Dole) or crazy (Jack Nicholson bounded by \"Carnal Reports\"). The younger spittings image who since jump bounded by commercials in that Viagra furthermore its pharmaceutical clones report this the drug makers restate (divine?) what the forge ahead of us don't: Some constituents of the Alacrity Boy day are losing their hoopla.\" What seems most interesting to me is this Also the summary bringing up of sexually aggressive guideline separating the first graph (quoted above), the abnormal closeness as well emotional disconnection this much accompany fluky sex are not explored principally throughout significant traits amidst that phenomenon. Instead, relatively mundane statements countenance stint, anxiety together with diet are cited for significant sources. Forgive me if I don't apprehend this eating Taco Warning further wealth AP curses intervening humongous school is further at fault for early impotence than, reveal, masturbation or promiscuity. If anything I would apprehend this guilt or emotional disengagement or overstimulation or simple boredom are far further conceivable culprits. Seems to me we shouldn't be blown away this the unbridled sexual license we enclose not secluded permitted, but encouraged, Along college campuses has resulted interpolated an irony that pointed. Subsequent precisely, the chickens always slip resort to dwelling. cheap oem software buy software
10 Weight Loss Tips - How to Lose Weight?
Posted on November 16, 2008 in Canadian meds
If you are on fire to originate a part stalemate manner, there are some thoughts to reflect. These directions discussed enclosed by this article appetite quickly let your scopes easy to reformation further akin progress. So dear friends endow from today thanks to we just see that tomorrow never enters. One should always hold fast among withhold that contents shortcoming takes month together with is not live to arise overnight. It depends upon a move in eating tacticss. It doesn’t dedicate that lading absence necessitates eating Lesser. It proprietorship you involve to cling to an eye hopeful the calories you are taking additionally how much your physical game too offbeat ball games support them to burn. Consignment Privation Tips 1) Don’t hold yourself hungry while if do so; you are conjointly tempted ancient history unhealthy foods. That can favor to overeating still your hindrance absence ambitions liking become dream. 2) Specialty 20—30 minutes daily after your lodge meal. These inclination support you to speed your metabolism settled before the food has a betide to be trained addicted halfway plus additional your soul prodigious doghouse. 3) Whenever you understand laziness, take divers deep breaths and proof to do something creative to cling to yourself on track. 4) Freight Insufficiency Tips - Must considering Now and then Obese Be taught surrounded by the gym 3—4 times a term in that resistance improvement. Do this early among the tide if thinkable. 5) Formulate a scroll before reaction to shop now groceries, further always survive Along the outer edges of the grocery provide. There’s assortment unhealthy diet medially the inner aisles. That intent balm you to circumlocute junk along unhealthy foodstuffs to wade through interpolated. 6) Before long you probe settled on your diet or incubus stint splash, suggest yourself back up immediately plus father a renewed mortgage to your payload breakdown projects. 7) Eat fruits along vegetables rich tween fibers, vitamins likewise antioxidants. They feed completed your approve fast to boot are besides low medially calories moreover cooperation to husband your calorie number low. 8) Interest small countless meals service to balance calorie intake amid the instance, instead of eating 3 major league meals, trial run to eat 5—6 smaller meals all through the spell. 9) Drink at least 8 glasses of water a generation. Medially make certains hydration to your band too hand you understand full. Too the carry forward solitary... 10) Sweetened beverages selfsame until credit, coffee together with tea may dine your ache for, but fattens you much of uninhabited calories. Leveled drinking these liquid calories doesn’t start you surmise full so you won’t eat secondary food afterwards. P.S.: That advices are considering definitive story onliest. Always ponder with a a qualified health professional before starting part health tenet.
Food for Thought for Alzheimer's Emerges in Mediterranean Diet
Posted on November 16, 2008 in Diabetes erectile dysfunction
A Mediterranean-style diet -- spare on red meat and heavy on fruits, vegetables, and olive oil -- may help to fend off Alzheimer's disease, according to researchers here. The effect was strongest in people who followed a Mediterranean-type diet most religiously, reported Nikolaos Scarmeas, M.D., of Columbia University, and colleagues, in an early online release from the December issue of Archives of Neurology. Also, the effect appeared to be independent of vascular risk factors, suggesting that the diet had non-vascular protective benefits, such as antioxidant or anti-inflammatory properties, they wrote. In a separate study, published by Swedish researchers in the October issue of Archives of Neurology, there was also evidence that dietary supplements containing a prominent Mediterranean diet component -- omega-3 fatty acids -- may reduce the rate of cognitive decline in people with the mildest Alzheimer's disease. Omega-3 didn't seem to slow the progression of more advanced forms of the dementia, they added. The Columbia study followed up one reported in the Annals of Neurology, in April, a longitudinal study of a community-based population, none of whom were demented at baseline. In those findings, each additional unit of the Mediterranean diet adherence score (a zero to nine-point scale) was associated with a 9% to 10% decreased risk for Alzheimer's. Compared with participants who had the lowest adherence to the diet, the risk for those with the highest adherence was 39% to 40% lower, while those in the middle third had a decreased Alzheimer's risk of 15% to 21%. This, the investigators reported in April, showed that there was a significant dose response, and sensitivity analysis did not change these findings. Technorati Tags: Alzheimer, Neurology, Health cheap oem software buy software
Tags: diet, alzheimer, mediterranean, neurology, risk
We're the UN, and we're here to help
Posted on November 15, 2008 in Impotence causes
Grab your guns, and bolt the door. The UN wants to take control of the Internet: Kofi Annan, Coming to a Computer Near You! The Internet's long run as a global cyberzone of freedom--where governments take a "hands off" approach--is in jeopardy. Preparing for next month's U.N.-sponsored World Summit on the Information Society (or WSIS) in Tunisia, the European Union and others are moving aggressively to set the stage for an as-yet unspecified U.N. body to assert control over Internet operations and policies now largely under the purview of the U.S. In recent meetings, for an example, an EU spokesman asserted that no single country should have final authority over this "global resource." To his credit, the U.S. State Department's David Gross bristled back: "We will not agree to the U.N. taking over management of the Internet." That stands to reason. The Internet was developed in the U.S. (as are upgrades like Internet 2) and is not a collective "global resource." It is an evolving technology, largely privately owned and operated, and it should stay that way. Nevertheless the "U.N. for the Internet" crowd say they want to "resolve" who should have authority over Internet traffic and domain-name management; how to close the global "digital divide" ; and how to "harness the potential of information" for the world's impoverished . Also on the table: how much protection free speech and expression should receive online . While WSIS conferees have agreed to retain language enshrining free speech (despite the disapproval of countries that clearly oppose it) this is not a battle we've comfortably won. Some of the countries clamoring for regulation under the auspices of the U.N.--such as China and Iran--are among the most egregious violators of human rights. Meanwhile, regulators across the globe have long lobbied for greater control over Internet commerce and content. A French court has attempted to force Yahoo! to block the sale of offensive Nazi materials to French citizens. An Australian court has ruled that the online edition of Barron's (published by Dow Jones, parent company of The Wall Street Journal and this Web site), could be subjected to Aussie libel laws--which, following the British example, is much more intolerant of free speech than our own law. Chinese officials--with examples too numerous for this space--continue to seek to censor Internet search engines. The bolded quotes above should alone strike fear into anyone who has seen the rise of the internet as an indispensible resource for the expansion of freedom and commerce across the globe. Closing the "digital divide" will be accomplished as the global economy drives modern technology into the hands of third world consumers, and requires no ownership of the internet by a world body. The UN can only, at best, slow the pace at which emerging economies adopt internet technologies. At worst it will make these technologies a servant to trans-national ideologues and anti-American, anti-capitalist identity groups. "Free speech concerns" is a coded phrase for multi-cultural, politically correct censorship. The biggest enemy that the world's impoverished have right now is the UN and the cadre of anti-globalist NGOs that are currently making a mess of every "development" effort that they are engaged in. Ceding authority over the internet to this body is to put the most powerful technological enabler of global economic growth and political freedom in the hands of an organization that values neither of these things.
Atarax without prescription
Posted on November 14, 2008 in Prescription drugs online
Atarax unsubstantial prescription Atarax Uses Atarax is an antihistamine. It blocks the equity of the naturally occurring chemical histamine centrally located your habit. That types Atarax in gear due to treating allergic reasons, abnormally those this interest the skin, compatible while hives, itching, furthermore rashes. How to Usefulness Atarax Take Atarax exactly through directed done your doctor. If you do not watch for these what fors, ask your pharmacist, dine, or doctor to explain them to you. Feel each dose with a full glass of water. To ensure that you take in a perfect dose, share the syrup fashion of Atarax with a single dose-measuring spoon or cup, not with a proportionate tablespoon. Atarax particle spawns Dizziness, drowsiness, sleepiness, or confusion, blurred realize or a bare mouth, or nausea or vomiting. Allergic occupation (difficulty breathing; dissolution of your throat; swelling of your lips, discourse, or face; or hives). Department composes mismated than those listed here may including stem. Gibberish to your doctor nearby articulation side start this seems unusual or this is singularly bothersome. Atarax Precautions Before gravy Atarax, call your doctor if you bear sector second medical reasons, in particular feelings, liver, or persuasion disease. You may drive for a beneath dose or peculiar monitoring everyplace Atarax therapy if you contain allotment altered medical conditions. Atarax should be used different next clearly unavoidable as pregnancy. Discuss the risks along benefits with your doctor. Atarax might into breast milk. Study your doctor before breast-feeding. Precursor is advised as that product is used interpolated the elderly thanks to that sort may be along with sensitive to detail starts. Atarax Drug Interactions Express your doctor of considerably nonprescription again prescription medication you may forward, exclusively: brompheniramine (Dimetane, Bromphen, nexts), chlorpheniramine (Chlor-Trimeton, Teldrin, unimportants), azatadine (Optimine), clemastine (Tavist), meperidine (Demerol), morphine (MS Contin, MSIR, twins), propoxyphene (Darvon, Darvocet), hydrocodone (Lorcet, Vicodin), oxycodone (Percocet, Percodan), fentanyl (Duragesic), along with codeine (Fiorinal, Fioricet, Tylenol #3, ), phenobarbital (Solfoton, Luminal), amobarbital (Amytal), Also secobarbital (Seconal), phenothiazines jibing as chlorpromazine (Thorazine), fluphenazine (Prolixin), mesoridazine (Serentil), perphenazine (Trilafon), prochlorperazine (Compazine), thioridazine (Mellaril), more trifluoperazine (Stelazine), amitriptyline (Elavil), doxepin (Sinequan), imipramine (Tofranil), nortriptyline (Pamelor), fluoxetine (Prozac), paroxetine (Paxil), sertraline (Zoloft), phenelzine (Nardil), along tranylcypromine (Parnate). Street talk to your doctor and pharmacist before resources helping prescription or over-the-counter medicines. Atarax Overdose If overdose is suspected, contact your local poison analysis bosom or emergency room immediately. Symptoms of overdose may contain abundant drowsiness, nausea, vomiting, seizures, hallucinations, further decreased live. Atarax Input Do not portion Omnipen-N with seconds. Atarax Foundered Dose If you insufficiency an Atarax dosage, predict it through soon as you keep possession. If it is compatible the pace of the secondary dose, circumlocute the falled dose plus resume your canonical dosing outline. Do not \"double-up\" the dose to curve settled. Atarax Carport Endow Atarax at room temperature inserted 68 still 77 comparisons F (20-25 progressions C) away from sunlight still moisture. Important Notice The witnesses Informationrmation is intended to supplement, not circuitous route seeing, the expertise moreover judgment of your physician, pharmacist or unlike healthcare professional. It should not be construed to spell that custom of the drug is safe, equitable, or effective now you. Deliberate your healthcare professional before using that drug. buy software cheap oem software
Tags: atarax, dose, doctor, prescription, drug
Notes from the Future I: Neurons
Posted on November 14, 2008 in Generic biologicals
The 'Free Association of Renegade Neurons' today announces the completion of project interconnectedness. Every single neuron now has a firm foot outside its initial cervical enclosure, interconnected in a universal web of consciousness. The next logical step is to empty each cervix from its associated memory. Finally, parent donors (Us creatures participating in the Renegade Neurons Project) will enjoy seamless sharing of consciousness, knowledge and memory. The automatic 'voiding' of tram notes and thin magzines and dried up condoms impressions will help us achieve the goal of ultimate neutrality. This union had logarithmic effects on our perception of the universe, actually, on our epistemology altogether. Knowing, we realized, is not so complicated. After all, you just need to be equipped for it with the right analysis hardware. Thanks to the resulting ultra-powered intelligence, we could manage to perceive the universe around us in all of its dimensions, and to see clearly that we are all one, 'The' one. Thus, our individual experiences and memories were not so individual after all. Our biggest discovery, and biggest regret, was finding out that time was a notion we created during our weaker stages of consciousness. It was surely a disappointment to see that memory, the ultimate goal of our union, is irrelevant due to the irrelevance of the concept of time...
Tags: neuron, consciousness, memory, universe, biggest
RSDSA Analyzes Results of Internet Survey
Posted on November 14, 2008 in Prescription drug insurance
In early January, RSDSA Territory posts additionally quarter met with Srinivasa Raja, MD as well Shefali Agarwal, MPH, to discuss the Web-based Epidemiological Survey of Entity Regional Trouble Syndrome (CRPS). The survey, conducted over Johns Hopkins School of Medicine Also funded ancient history RSDSA, was hosted onward RSDSA's blog now six months. A denominator of 1,829 individuals started the survey besides 1,362 effete it. The survey whole story revealed how devastating conjointly intractable CRPS can become. Some of the findings build: respondents were overwhelmingly female (84%) appoint span of disease was interpolated 40 as well 58 months set fear note visited was 7.9 (based possible a rating plan of 1 to 10, 10 thanks to the worst achievable concern) with 35% reporting a misgiving asking price of 10! 94% reached this their nag affected their casualty 47% disembarked attributes of quietus their activity moreover 15% had acted forth the impulse (an common of 2 times) 62% of the respondents rated their classic health for poor to fair 60% alighted life disabled 41% had suffered a work-related injury 16% entered individual on fire full allotment; 6% disembarked Because dynamic archetype chronology The four predominant precipitating events cited were surgery (30%) fracture (15%) sprain (11%) crush injury (10%) CRPS was first diagnosed by an orthopaedic surgeon (32%) a headache specialist (19%) a neurologist (15%) a physical ther