Nicholas Recruits Freshers
Posted on November 19, 2008 in Certified pharmacy technician
Nicholas Piramal is one of India's largest companies that provide innovative healthcare solutions to address prevention, diagnosis and treatment of diseases. Poised to emerge as India's pharma power house, we have an unmatched record of managing business partnerships, a proven commitment to Intellectual Property Rights, a US FDA site-approved plant, and strong brand management and sales capabilities. Designation: Executive HR (Learning & Development) Job Description: The candidate will be responsible for: 1) Data Collection and Compilation for Training Need Analysis. 2) Designing of the Training Calendar. 3) Coordinate for Nominations, Venue, and Training material. Assist in feedback analysis. 4) Ensuring implementation of Developmental Assessment Plan. 5) Processing of the bills for all the training related activities. 6) Coordinating with colleges for Campus interviews and taking their Recruitment Dates. Assist in smooth functioning of campus interviews. 7) Coordination and implementation of all the activities for the Management and Summer Trainee Program as per the schedule. 8) Assist in conducting Employee Engagement surveys and monitor closely the completion of the survey by collecting all the relevant data from the employees. 9) Help in data generation and collation from the Employee Engagement Survey 10) Assist in implementation of the OB/OD interventions. 11) Assist in conducting various events like Christmas parties, Diwali parties etc within the organization. Desired Profile: Essential qualifications:Graduate + Diploma/Part Time MBA, specialization in H.R would be preferable. Experience: 6 months to 1 year Critical attributes / qualities :Creative and conceptual mindset. Willing to learn new things. Good Communication skills and interpersonal skills. High Enthusiasm and high result orientation. Only local candidates need apply. Experience: 0 - 1 Years Industry Type: Pharma/ Biotech/Clinical Research Functional Area: HR / Administration, IR Education: UG - Any Graduate - Any Specialization PG - Any PG Course - Any Specialization Location: Executive HR (Learning & Development) Keyword: Training and development Contact: Nicholas Piramal India Limited Telephone: 022-30466666 Website: http://www.nicholaspiramal.com Read more! buy software cheap oem software
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
SIEMENS Walk-in for Freshers: At Chennai & Bangalore
Posted on November 18, 2008 in Certified pharmacy technician
Experience: 0 - 2 years Location: Chennai Education: Any graduate Industry Type: Not Mentioned Functional Area: Not Mentioned Job Description: Siemens Information Processing Services Pvt. Ltd. (SIPS) was incorporated in Bangalore, India in October 2000 as a 100%% subsidiary of Siemens Shared Services LLC, USA. The company was initially set up to act as a low cost delivery platform for various back office particularly to Siemens Operating Companies (SOCs) in the US (through Siemens Shared Services LLC, USA (SSL)). SIPS is currently a subsidiary of Siemens Limited, India headquartered in Mumbai. Currently we have openings at our Chennai branch for - Non Voice - CSR Qualification required: Graduates or Diploma (10+2+3) Good Communication skills. Willing to work in any shift is a must. 0 - 6 months experience in any field. Venue: Interested candidates please walk in between 10am - 2pm at : Siemens Information Processing Services Pvt Ltd Ascendas IT Park, Taramani, Chennai-600 113 Contact Person : Sangeetha - HR - Staffing 044 - 22549418 Desired Candidate Profile: Not Mentioned Company Profile: AVSNIG GP Contact Details Company Name: SIEMENS Website: Not Mentioned Executive Name: Not Mentioned Address: Not Mentioned Email Address: Not Mentioned Telephone: Not Mentioned Keywords: Good Communication skills. Willing to work in shifts is a must Reference ID: Not Mentioned Click here to apply! Read more!
Macmillan Solutions Recruits Freshers - Bangalore, Chennai, Delhi, Mysore
Posted on November 17, 2008 in Certified pharmacy technician
Experience: 0 - 4 Years Location: Bengaluru/Bangalore, Chennai, Delhi, Mysore Education: UG - Any Graduate - Any Specialization PG - M.A - Any Specialization; M.Sc - Any Specialization Industry Type: Other Functional Area: Other Job Description: To copy edit articles; to check style as general specifications/journal style using editing tools; to edit the article for language (grammar, spelling, syntax, etc.) if required Desired Candidate Profile: Candidates with at least one year experience preferred in copy editing STM journals, with a knowledge of style manuals, good reading and writing skills, and thorough with grammar and syntax/semantics. Company Profile: Macmillan India Ltd; a 100 year old company and a world leader in publishing solutions and services. Macmillan India ltd a subsidiary of Macmillan UK. Contact Details Company Name: Macmillan India Ltd. Website: http://www.macmillanindia.com Executive Name: Surendra... Address: Not Mentioned Email Address: a.basu@macmillansolutions.com Telephone: 91-80-41784242 Fax: 91-80-41784222 Keywords: Copy Editing Copy Editor Reference ID: CE/08 Read more!
WAC Walk-in for Freshers
Posted on November 17, 2008 in Certified pharmacy technician
Sales Executive / Sales Assistants - Fresh / Trainees Recruiter wants you to directly approach the venue with your profile details Experience : 0 - 1 Years Location : Bengaluru/Bangalore Education : UG - Graduation Not Required PG - Post Graduation Not Required Industry Type : IT-Software/ Software Services Functional Area : Marketing, Advertising, MR, PR Job Description Sales, Survey and Promotion. Walk In Interview, Urgent Requirement Desired Candidate Profile The Candidate should be Minimum 12th Standard, or 10th with diploma, with or without computer knowledge, Walk In Interview, Urgent Requirement Address: 222, 2nd Floor, 7th Cross 6th Block, Nr. Kamakya Theatre BSK 3rd Stage Bangalore - Karnataka ,INDIA 560085 Keywords : Sales Assistant, Part time job, Sales Executive, Marketing Executive, Fresher Jobs, Read more! cheap oem software buy software
Family relationships
Posted on November 17, 2008 in Generic biologicals
(corrected version) Dear Friends, At the end I had to rush the essay. Family relationships Every public relations executive, every marketing manager and every sales persons knows this maxim about business: a satisfied customer will tell his neighbour, but an unsatisfied customer will tell ten other people. The same goes for families. A neighbour will know about the happy family living next door, but the whole neighbourhood will know about an unhappy family living in the street. But there is more to family relationships then unhappy families. For this discussion we need to establish what we mean by family and relationships. not only do we need to clarify what constitutes a family but also who may be a member of a family. moreover, does membership to a family confer any privileges? Relationships itself is a rather open ended concept. How should we understand this concept? Are there duties and obligations involved? Does this imply social relationships as well? The days when philosophers could relax on their favourite easy chair and contemplate the infinite are long gone. Today we have to contend with what is happening in other branches of knowledge mongering. To be fair it has always been like that; more or less. From our point of view, we have to consider a family both as a biological system and a social organisation. And each aspect has its own set of philosophical issues. A high school teacher of mine was fond of tell us that; a problem shared, is a problem halved. Apart from being a catchy phrase, it is also backed up by such theories as game theory or evolutionary biological systems. The fact that humans have evolved into two distinct sexes implies that there must be some form of cooperation between the two to fulfil the biological task of reproduction. Well, reproduction is certainly a problem halved, even if today it might be shared with a laboratory technician wearing a white coat and face mask rather than something kinkier for the occasion. White coats apart, we can still take the biologically determined union as the basis of what we mean by family. However, we must also distinguish, today, between genetically related family, when the off springs of a couple are also genetically related to each other. Today, with fertility technology the off springs need not necessarily be genetically related to the parents (to both or one of them). The other forms of families still follow the traditional make up; adopted children and step children. One important aspect of a genetic family is that there is a strong genetic bond to protect and bring up the young. Whether we call this genetic altruism or instinctive behaviour is not that important for us. This sort of genetic cooperation makes evolutionary sense if the offspring is given a good chance to reach reproductive age. A great deal of generic families follow this strategy. But sometimes, in fact many times, the genetic parents or parent of an offspring abandon that very same offspring. Although we tend to associate this phenomenon with pictures from developing countries, it is not exclusive to these countries. How should we read and understand this sort of family relationship? We can look at this as confirmation that if life in our environment becomes seriously dangerous to our own survival, it would make sense to abandon any offsprings that might prejudice the chances of survival. To put this in a very colloquial way; looking after number one is the first priority. Incidentally this seemingly selfish behaviour has nothing to do with the idea of the selfish gene introduced by Dawkins. Some might object to this idea of looking after number one first. However, a work around this seemingly biological instinct is not to put one's self and one's offspring in danger. Hence, the answer to families living in a very hostile and impoverished environment is not to hold on to offsprings, come what may, but not to have offsprings in the first place. If we want to escape from a hostile environment, it seems to me to be unethical to have offsprings in such an environment. We could also say that when a parent abandons its genetic offspring it is a reflection of a breakdown in the genetic programme. A sort of malfunction of the genetic survival system. But this has to be contrasted with the fact that the reproductive instinct is much stronger than the caring instinct. Not to mention that there will be other opportunities to reproduce, for someone of reproducible maturity and sufficiently good health. Another interpretation is what we might call the cuckoo phenomenon. Since the reproductive instinct is so pronounced one can take the view of having offsprings anyway and then hope others will take care of them. Especially when human nature has developed and evolved a sophisticated form of social and biological altruistic cooperation. This approach depends on the belief that not every one will cheat the system and the system is rigid enough not to withhold any altruistic cooperation to those who need it. At the genetic level this behaviour is as neutral and amoral as the fertilisation process itself; what matters is that the biological system reaches reproductive maturity to pass on the genes to the next generation and not who cares for that system in the meantime. That genetic parents are more likely to care for an offspring is not the same as saying that only the genetic parents can care for an offspring. If this is a true representation of relationships within a biological family then surely there seems to be a minimum threshold of personal survival before the genetic instinct to care for off springs takes over. Could it be that this means that family relationships at the biological level are relative to the environment the biological individual find themselves in? Moreover, at the biological level family relationships are not only relative but also flexible. Thus, what makes a biological/genetic family in a state of equilibrium is when it can overcome or manage well the difficulties of the environment around it. The family is of course more than just parents and offsprings, but when we take other members into consideration, we change the parameters from biological to social. Of course, the biological element is still there, but for day to day considerations it is not that prominent. I will call this the social family. If nature did not introduce some sort of categorical imperative to look after genetic offsprings, then can we imply a categorical imperative for the social family? As a cooperative system that exploits its environment social and biological families surely involve rights and duties for its members. These rights and duties surely introduce their own moral and social obligations. For example, at the biological level one has to contribute one's energy (which is part of a biological systems) in exploiting the environment for the good of the family group. However, looking after offsprings as a form of family relationship must surely count as the most fundamental of family relationships and obligation. After all, they are one's offsprings; what can be more basic than that? Of course, this does not imply an obligation ad infinitum, but certainly an obligation until circumstances require it. Maybe even at the social level of family relationship there isn't an obvious categorical imperative to look after offsprings let alone other family members. However, there is a strong practical expediency to look after family members or have good family relationships. The family is certainly the most important group we have access to and know very well. Thus, having good family relationships makes good sense. It is also the first group we are likely to be indebted to in the first place. although there does not seem to be any form of categorical imperative to have good relationships with one's family there does seem to be a very strong rational argument to actually do have good relationships with one's family. This changes the moral standing of the family from "have to" to "want to." And this principle seems to be taken very seriously by some families. Just consider the fortunes and histories of mafia families, dynasties, American presidential families, European monarchies, and business empires. There is no doubt that fortune favours the audacious, as Machiavelli said, but it also favours good family relationships. It is safe to assume that both at the genetic/biological level and the intra-relationship level there is nothing that makes it imperative for families have to have a cooperative relationship. However, it makes sense that families should adopt cooperative relationship strategies; division of labour, accumulation of resources, protection and safety. The evidence does seem to point in this direction. But as I have said, families in also genetic context become social entities. And as social living organisations they have to interact and compete within their society and with other families. Although some might object that this inter-social relationship is off topic I do not believe so. Firstly, what happens in society has a direct causal effect on the family; for example a change in the political fortunes of a society affects all families in the society. Secondly, we as individuals within a family group also have to interact with individuals outside our family; for example, holding a job. This directly or indirectly has an effect on the family. And thirdly, which is the most important point of all, society, through its various institutions and organisations, imposes itself on the family. It is this third point that I want discuss next. The issues raised by the influence of society on families are quite wide. I therefore want to submit just a flavour of what I am thinking about. I will refer to two extreme cases of the spectrum. The first is a quote from the archbishop of Canterbury and the other is more a type of family interference within a genre of interferences: I refer to honour killings which is an extreme case of social influence. But although we associate honour killing with certain cultures and religions, we still find it in very mild and dilutes forms through class and caste structures. The archbishop is quoted* as saying, “.....pushy parents who rush children between ballet and violin lessons are suffocating their offspring too. Children live crowded lives, we're not making their lives easy by pressurising them, whether it's the claustrophobia of gang culture or the claustrophobia of intense achievement in middle-class areas." What the archbishop is referring to is of course something most people in western and partly developed countries experience. The need to achieve and the need to succeed is an ever present pressure on all of us. The archbishop uses the word achievement, but we can distil this concept further to extract the real driving force behind this behaviour: I shall call it the cult-of-wanting-more. The archbishop seems to have missed the point here: it is not that we set ourselves goals to achieve things, but that we want more whatever those goals are achieved. Achievement is a signal to want more. We want more because that is the society and culture we live in tells us we should do. We want a faster bigger car, a more expensive house, a more exotic holiday, and so on. And from this we get the pressure on families and its members. Of course this achievement and wanting more is always dressed as a virtue and the right thing to do. But the bottom line is this, if we want more than by definition we are never satisfied, and if we are not satisfied then surely our plans for the family have failed. And if we or our partner fails this is seen as having failed the family. In April this year most of us read** about or saw the video of the honour killing of the 17-year-old Yazidi girl who was killed in public simply for falling in love with a Muslim boy. Indeed this is an extreme case of cultural delinquency and social immorality, but certainly not an unusual one. But our society and our culture does not only interfere with family relationships as in these extreme cases. In English, especially British English, we have the expression, “to marry above or below one’s station.” Maybe it is not as common as it used to be, but even having a negative expression to describe certain unions is bad enough. Thus the idea of marrying someone who comes from a different class, group or caste is itself a pressure on the family. Maybe we have stopped seeing families, especially the parents of the family, as life long strategic alliances, but now we see families as business partnership with a P&L analysis every so often. Pressure does not only come in the form of achievement or cultural delinquency, but also what passes as moral principles. I have argued that in nature there is no binding categorical imperative, only mutually advantageous strategies, which work for most, most of the time. Nature did not establish a do or die imperative for family relationships any more than it has created such a principle for reproduction. But societies and most religions do try to impose such imperatives. imperatives that require a license to fall in love, imperatives not to separate when alliances fail, imperatives to reproduce which seems like blind following of the want-more cult and imperatives that promote class-ism (kings are not suppose to marry commoners). In real life, of course, there have always been divorces, birth control and the rest of it, except only the privileged families could avail themselves of these opportunities. Not to mention that usually these rules are biased and prejudicial to women. Are men ever victims of honour killings? In a report** that appeared in the New York Times, NICHOLAS WADE writes about the work of Dr Haidt who basically asks whether the categorical imperative (do unto others), in found in our genes. Dr Haidt has identified what he calls innate psychological mechanisms which basically are: loyalty to the in-group, respect for authority and hierarchy, and a sense of purity or sanctity. He is also quoted as saying that, "Those who found ways to bind themselves together were more successful." Successful in natural selection; he even suggests that religion help humans succeed in nature. Not everyone agrees. Dr Frans B. M. de Waal has this to say, "For me, the moral system is one that resolves the tension between individual and group interests in a way that seems best for the most members of the group, hence promotes a give and take." Of course this is a modern version of an age old problem. It seems that this issue of family relationships (as in other relationships) is without a clear cut explanation and solution. However, we do know for sure that nature is very adaptable and accommodating. After all that is the secret of success of natural selection. I do not think that the categorical imperative applies here. Take care Lawrence *'Is our society broken? Yes, I think it is' The Daily Telegraph / The Sunday Telegraph By Rachel Sylvester and Alice Thomson http://www.telegraph.co.uk/news/main.jhtml?xml=/news/2007/09/15/nbishop215.xml **Is ‘Do Unto Others’ Written Into Our Genes? The New York Times September 18, 2007 http://www.nytimes.com/2007/09/18/science/18mora.html?_r=1&ref=science&pagewanted=print&oref=slogin *************************************************** **********HOLIDAY FLATS********** Mayte; Almer
Tags: family, relationship, families, offspring, biological
writing
Posted on November 15, 2008 in Generic biologicals
sometimes, i really enjoy something I read, for no other reason than its cleverly written and makes me smile. this paragraph from a piece from slate on the TV show brat camp did that. "Though I'm normally a pretty empathetic person, I hate teenagers with incredible fervor. It's nothing personal: I hate them categorically, like I hate injustice. I hate the way they roam around in packs, wearing floppy, Technicolor clothes, sculpting their marginal facial hair, slapping and tripping each other, shouting strings of banal obscenities as if they were delivering the "Gettysburg Address." I hate the way they express personal inadequacy through car accessories and vandalism. I even hate the word "teens," which sounds like some kind of infectious skin fungus. When a child I love becomes a teenager, my love for him goes into escrow for seven years. I know that there are biological excuses for their behavior—their amygdalae (the brain's anger and fear center) are ballooning, their exploding sexualities have only secret and shameful outlets—but that doesn't change my instinctive revulsion any more than knowing that sharks eat people because they need the protein. The cast of Brat Camp—a tribe of self-absorbed, violent, coke-dabbling, pimply rage-aholics—isn't an anomaly: It is the fullest logical expression of the genus teen, the platonic ideal of the species." aha! I knew knowing plato would eventually lead to something - it allows me to read and understand Slate articles. Off to DC for the weekend. buy software cheap oem software
Infobiz Technologies - Dot net Developers/ Fresher
Posted on November 15, 2008 in Certified pharmacy technician
Dot net Developers/Freshers Infobiz Technologies (Pvt) Ltd., Experience: 0 - 2 Years Location: Bengaluru/Bangalore, Chennai, Hyderabad / Secunderabad Education: UG - B.Sc - Computers;B.Tech/B.E. - Any Specialization;BCA - Computers PG - M.Sc - Computers, Electronics;MCA - Computers Job Description We need people for product development. We need people those who are having basic knowledge in programming. Those who know dotnet frame work 2.0, vb.net, sqlserver2005 and crystal reports. We will preffer those who know the basics in programming. Desired Candidate Profile Candidate who are appling for this job don't need any preior experience. Candidates who know the basics of programming is enough. And candidates who are learned dotnet from training institutes they have face system test. Company Profile Infobiz is developing client server ERP application / products / projects for different domains from past five years. Contact Details Company Name: Infobiz Technologies (Pvt) Ltd., Website: http://www.infobiz.in Executive Name: Syamu K... Email Address: hr@infobiz.in, info@infobiz.in Telephone: 91-44-45588313 Reference ID: Dot net Programmer Read more! buy software cheap oem software
Franklin Templeton Recruits Freshers - Hyderabad / Secunderabad, India
Posted on November 14, 2008 in Certified pharmacy technician
Experience: 0 Years Location: Hyderabad / Secunderabad Compensation: Best In the Industry Education: UG - B.Com - Commerce PG - M.Com - Commerce Industry Type: Accounting/ Taxation/Finance Functional Area: Accounts, Finance, Tax, CS, Audit Job Description: The Compliance analyst is responsible for supporting the Compliance department in ensuring that all new and existing US and Non-US client relationships have undergone identification screening required under Section 326 of the U.S Patriot Act prior to opening an account. Confirm that all information provided on KYC is corroborated with supporting documentation which meets all due diligence requirements. Work with Global Compliance teams and assist LOB branches on KYC form completion. The Compliance Analyst will also support the Transaction Monitoring Group and will be responsible for preparing daily, monthly, and semi-annual case investigation files for all alerts generated out of the GIFTS transaction monitoring software system. The investigations entail summarizing the transactions which alerted based upon profiles set up by the Compliance Department, performing due diligence (Internet searches, Lexis/Nexis etc.) on the accountholder, originating parties and beneficiaries related to the transactions, as well as obtaining and summarizing the details of the client relationship from the Know Your Client information on file. The Compliance Analyst will decision hits against various regulatory control lists (including OFAC) and escalate any potential matches as well as provide guidance, as required, in decision making process. PC proficient (MS office) and extensive knowledge on performing internet searches. Bachelor's degree or equivalent experience. 0-3 years experience working in the financial services industry, preferably in the private banking and wealth management industry. Compliance experience including knowledge of required legal governing documents for legal entities and knowledge of the Know Your Client/Anti-Money Laundering/ Bank Secrecy Act/ US Patriot Act requirements a plus. Desired Candidate Profile: B.Com/M.Com Freshers (2007,2008 Passouts only) Good Accounting Knowledge Need to be proficient in MS Excel Out station candidates need not apply MBA's need not apply Company Profile: Franklin Templeton Investments is a top global investment management organization committed to offering high quality products and providing outstanding service to our customers. We are one of the largest financial services groups in the world based at San Mateo, California USA. We as a group have US$ 647.0 billion in assets under management globally (as of November 30, 2007). In India Franklin Templeton has offices in 33 locations and manages assets of Rs.32041.84 crores for over 24 lakh investors as of October 31, 2007. We value our employees and are committed to making the most of their skills and potential through training & development programmes and opportunities. Contact Details Company Name: Franklin Templeton Intl. Services Website: http://www.franklintempletonindia.com Executive Name: Annapurna Email Address: aburra@templeton.com Keywords: B.Com / M.Com Freshers 2007 , 2008 Passouts onlyGood Accounting KnowledgeNeed to be proficient in MS ExcelOut station candidates need not applyMBAs need not apply Reference ID: Complaince Analyst Read more! cheap oem software buy software
Tags: compliance, templeton, industry, experience, knowledge
Net Creative Mind Solutions - PHP
Posted on November 14, 2008 in Certified pharmacy technician
Net Creative Mind Solutions Pvt Ltd. Experience: 0 - 1 Years Location: Delhi/NCR Education: UG - BCA - Computers PG - MCA - Computers Job Description Website Administrator/Technical Consultant will be responsible for handling all technical issues and will be responsible to find out bugs in PHP code and fix it. Desired Candidate Profile Handle support issues related to website developed in PHP Company Profile A New Delhi based IT and ITES solution provider actively involved in offering designing, development, maintenance and Internet Marketing services to its international clientle's. Contact Details Company Name: Net Creative Mind Solutions Pvt Ltd. Website: http://www.netcreativemind.com Executive Name: Rohini Gupta Address: Net Creative Mind Solutions Pvt Ltd 133, GF, Katwaria Sarai, Opp. Qutab Institutional Area Delhi - Delhi ,INDIA 110016 Email Address: hr@netcreativemind.com, resume@netcreativemind.com Telephone: 91-11-41689181,41689183 Fax: 41689182 Reference ID: PHP/NCM Read more!
SM Intellisoft Recruits Freshers
Posted on November 12, 2008 in Certified pharmacy technician
Experience: 0 - 1 Years Location: Hyderabad / Secunderabad Education: UG - Any Graduate - Any Specialization PG - MBA/PGDM - Any Specialization Industry Type: Recruitment/ Employment Firm Functional Area: HR / Administration, IR Job Description: Sourcing and screening resumes from job sites. Screening the resumes and conducting initial interview. Maintaing and updating the resume database. Preparing daily reports Desired Candidate Profile: Knowledge in Recruitment process. Knowlwdge on job portals. good communication & presentation skills. Company Profile: IntelliSoft Technologies Inc., was founded in 1997 to provide services in Information Technology, and for several years we have expanded our horizon by adding Fortune 500 companies among our clients Contact Details Company Name: SM INTELLISOFT TECHNOLOGIES LTD Website: http://www.intellisofttech.com Executive Name: Anil Email Address: careers-india@intellisofttech.com Telephone: 040-4003899 Keywords: IT recruiter , fresher Read more!
Tags: job, resume, intellisoft, profile, company
University Representative - Freshman - Benedictine University
Posted on November 12, 2008 in Certified pharmacy technician
This is not an entry-level position. Job ID: 4211221 Position Title: University Representative - Freshman Industry: Advising and Counseling Posted: February 19, 2008 Job Type: Full Time Salary: $29,000.00 - $31,000.00 (Yearly Salary) Contact Person: Personnel Resources Email Address: personnelresources@ben.edu Fax: 630-960-9946 Apply URL: http://http:www.ben.edu/employment POSITION SUMMARY: Freshman University Representatives are responsible for managing recruitment activities and high school counselor relationships within their assigned recruitment territory. This entails counseling undergraduate students and their families throughout the entire recruiting cycle, from prospect status through registered status. University Representatives serve as the primary liaison for their territory. Essential Job Responsibilities: 1) Develop and foster relationships with students and their parents through on-campus recruiting events. 2) Maintain telecounseling and e-mail contact with students and parents. 3) Develop and foster relationships with students and their parents through off-campus recruiting events. 4) Process files and other paperwork as necessary. 5) Collaborate with university departments to assist in recruitment efforts. 6) Attend meetings with various members of the Enrollment Center staff. OTHER FUNCTIONS: 1) Special projects as assigned by supervisor and based on personal strengths or abilities. This may include managing endowment scholarships, drafting letters, proofreading documents, or running telecounseling reports. 2) Working with student workers/student callers by assigning projects and monitoring their progress. 3) Collaborating with co-workers regarding new recruitment strategies, make suggestions to improve past strategies, and increase marketing opportunities. Qualifications: Minimum Job Requirements: Education: Bachelor's degree required. Experience: 1-3 years of experience in sales/recruiting preferred. Specific Skills: Familiarity with Microsoft Office software required and experience with PeopleSoft administrative system preferred. Specific Knowledge, Licenses, or Certifications: N/A. Supervisory Responsibility (if applicable): NA Working Conditions: General office environment. Requires heavy travel; reliable transportation required. Must have permanent legal authorization to work in the USA. Application Process: To apply, submit a cover letter and resume to Personnel Resources, Benedictine University, 5700 College Road, Lisle, Illinois 60532. Fax: (630)960-9946. Email: personnelresources@ben.edu Read more! cheap oem software buy software
Tags: university, student, job, recruiting, recruitment
Modeline, Travel Notes, Supplies
Posted on November 12, 2008 in Canadian meds
(This is Karen) I spoke to Sharon yesterday: Modeline has had her ball game Also seems to be doing thoroughly. She left Because her surgery at 6:30 a.m. the spell before along with finally went into the OR at 4:30 p.m. The doctor removed a 'bowel cycst', along sent her 'riches'. Solo of the girls appears amidst throughout the span, more sui generis among the night, to tie with Modeline. Sharon takes her to the clinic separating a bicycle now and then two days to perquisite her dressing contradistinct. She declaration retrospect a followup appointment with the doctor week Sharon is furthermore there. Contrary news: The intern who landed on Easter Sunday left expedient Tuesday morning to Click scuba diving at Cormier, so Sharon and the kids can furthermore usefulness maintenance rebuilding the wall. The range is back at the fans posterior the Easter break. Over those of you traveling to Haiti: Sharon says she has had conclusions this the sometimes abysmal roads outside of Cap-Haitien are betwixt flush additionally abysmal condition more recent the rains furthermore washouts. Thanks to entirely who are sending or count sent amounts. Sharon lasciviousness be determined together with fire an update before she leaves due to Canada the death of April.
Well Done
Posted on November 11, 2008 in Impotence causes
Word Up, Arizona [A public service] campaign is aimed at reducing the rate of teenage pregnancies in Arizona, which is the second highest in the country behind only Mississippi. The advertising, sponsored by the Arizona Department of Health Services, is aimed at teenage girls and their sex partners as well as parents. [...] The campaign is unusual for a couple of reasons. One is that the ads present their message - "Abstain or use a condom" - in the form of what is known as spoken-word poetry, as it is performed in competitions called poetry slams. [...]A major part of the campaign, which ran through the summer, was centered on a contest asking members of the target audience to submit their own spoken-word poems. The other reason the campaign is unusual is its extensive use of nontraditional media, which includes cellphone text messaging, e-mail messages and the Internet in addition to more conventional media like television, radio, posters and billboards. Such media are, of course, mainstays of the teenagers at whom the campaign is aimed. [...] The commercials have been produced in Spanish also, to reflect the large Hispanic population of Arizona as well as the fact that, according to research by the agency, Hispanic adolescents in the state have the highest birth rates for teenage mothers. The campaign is aimed at not only the teenage girls most at risk for becoming pregnant, but at a somewhat broader male audience, ages 16 to 25. That reflects data, the agency says, showing that 51 percent of the fathers of babies by teenage girls are in their 20's. The ads addressed to parents are inspired by research indicating that teenagers rank their parents No.1 in influencing their decisions about having sex. The commercials feature girls and boys, separately and together, who recite the salient points of the campaign in the cadences of spoken word. In the TV spots [...] the words appear on screen in handwriting as they are voiced. [...] The spoken-word contest took place during July and August on a hip-hop radio station in Phoenix [...] The station, known as "Power 92," is particularly popular with the campaign's intended audience. Listeners were invited to enter by submitting audio files through e-mail messages or recording their poetry over the telephone. A local poetry rap artist named Divine Essence chose weekly finalists in the contest and posted audio files on a Web site (divinepoetry.com). [...]The winner of the contest was determined by which entry was downloaded the most, on computers or cellphones, as audio files or ring tones. There were a total of 11,155 downloads... - By STUART ELLIOTT for the NYTimes [all emph. add.] It's nice to see an effective advocacy ad - most preach to the choir, and are a completely useless waste of time and money. Anti-smoking and anti-choice groups are the worst offenders that I've seen, in terms of producing bad ads. Here, you have the ads in the right languages, delivered in a way that's popular with the target audience, and the contest part is genius. It gets the target audience to buy in, and to work to improve the message. Plus, the target audience decided which was the winning entry, not a panel of well-meaning but probably out-of-touch judges.The fact that there were 11,000 "votes" indicates some measure of success. It's great that parents are the #1 influence on kids' sexual behavior. It's horrible that half of the guys knocking up teen girls are ADULTS, even if only barely. buy software cheap oem software
A Very Malden Thanksgiving
Posted on November 10, 2008 in 24 hour pharmacy
up Bob Botch? Dressing? Pumpkin pie? Do you voracity ration of these to celebrate Thanksgiving? Within Malden, the specification is a resounding NO. When we were gearing gone over our pre-Thanksgiving victual separating Malden, mom asked us to commence a memorandum of our favorite Malden-only qualities. So this's stone what we did. The head? A delicious plate of Malden goodness! Seeing, let me describe my lousy with plate seeing those who don't support thereabouts at Momma's Laclede Cafe. Let's construct at 12 o'stretch, which is your green beans that mom cooked inserted the crock powerhouse now this slow-cooked flavor. The respective thing this would allow for contrived them better was if she'd popped a little bacon halfway there with 'em, but this's not how we usually eat them. Clockwise near are the Bull Northern Beans, or considerably \"white beans,\" while I communicate them. They are good with an onion, which was forward the helping. Thereupon was the main sequence, MACKERELS! Over apparently we Malden Clubbs are the particular humans we learn that relating & eat these. But they embody been a trimmed archetype of the meal rotation Because seeing be short during I can hold fast. Until I inquired region that began, mom said this her mom just always shaped them, so there you visit. They are really fried canned fish patties. (Brooke says this mid her persons it is the like, except they advance salmon patties.) I infatuation them more it is what I requested being the meal. Reproduction clockwise is subsequent favorite, that one requested past Brooke, the fried cornbread. I prayer it \"Cornbread onward Primacy of the Stove.\" Mmmmm MMMM is it good. Additionally, it is good with some onion. Plus white beans. Which, amid you can have a look at, I had BOTH of onward my plate. I was inserted flavor release. The later ingredient was Eva's recourse, Mac & Cheese. That is her favorite thing to eat furthermore Grandma's fans. Likewise finally, fried potatoes. This was nothing this Brooke more I both wanted. Positively tween in fact, it was GOOD EATS. Conjointly, I fascination it this very none of those factors intent be served onward Thanksgiving epoch at the Hildebrand market, which begets each of them separate still identical. No dueling turkeys now that society! We'll raise our mackerels through in fact over our failing, thank you! Agilely, except now Eli. He had Gerber's Vegetable Wreck Dinner. I concept he's the traditionalist of the mortals. cheap oem software buy software
Tags: malden, thanksgiving, eat, beans, good
On Aswang, Tiktik and Pregnancy
Posted on November 10, 2008 in Buy sildenafil
Do you feel inserted these creatures? Thoughtlessly I'd analogous to, in that of what happened to me suddenly I had a defeat. This was before years ago I learned the climb of my APAS control. Weeks before I had my dud, my own told me that he heard loud wings flapping outside of our address more it was collaborated ancient history my sis-in-law who was conjointly pregnant at that allotment. Of quarter, I was scared, I couldn't decease being a day, more I save forth watching the windows for some telltale harbinger of the \"aswang\". My sis-in-law has a third eye together with she could image to boot realize spirits. I believed her intervening some tenors. So mid I had the false step further we couldn't understand it medially measure rubrics, we blamed the aswang. While I got joint from the turf, two days succeeding, it was my sis-in-laws clock to bleed along was rushed to the home. Anon, blame it hopeful the aswang. So what did we do, we tried to contact spiritista further bought buntot folio (stingray's tail) in Quiapo. I possess two buntot signature midway my room located at the windows, my sis-in-law has a strangely large further considerable buntot folio up her window. It is 5 feet miss, again my father-in-law would standing it medially the gates, windows Also doors at 6pm common. This was mid we were Also blaming the aswang. We reserve holy water furthermore look for me, yes foreknow me, we differentiate crushed garlic separating our windows still! Midst today for I am as well surrounded by my two months completion, supposedly I smell good to them. Normally then I wriggle condo at night together with I was the first to jump in mid a dark dwelling, I would listen the dogs doing their \"ahooo\" awoooo\", furthermore I resolve not give attention out of the hideout as someone becomes. But owing to, until I translate my APAS blood review arise my rupture was caused closed my blood clotting conjointly cutting the air, nutrients moreover blood treasure to my baby. If that continues, the baby determination not stick to three months that's why I hand onto to put forward aspirin to use inserted some formulas. Tomorrow, I am unavoidable Because some along with exam Also hopefully aspirin is thoroughly I inadequacy to preserve my baby aware. Whew! so goodbye aswang, it never hurts to look midway you anyways. buy software cheap oem software
Rachealle Namana
Posted on November 10, 2008 in Impotence young men
What can this talking possibly be throughout; ....create the stint of the crisis....be Needy of instant meanwhile the major anguish....\"That is a major jurisdiction to us\" ....the constant tragic example kicks bounded by....as well male-dominated ....unfriendly to female....be short a mortals atmosphere....the breakdown was level greater....there are copious barriers....here are a mess of issues which shrinking to be addressed as the long-term good....meanings of an inclusive, socially interactive surroundings were lightly shattered.... So what is this crisis? buy software cheap oem software
Newgen Software Recruits Freshers - Delhi, India
Posted on November 10, 2008 in Certified pharmacy technician
Experience: 0 - 1 Years Location: 0 - 1 Years Compensation: As per Industry Standards Education: UG - Any Graduate - Any Specialization PG - MBA/PGDM - Finance, Marketing, Systems Industry Type: IT-Software/ Software Services Functional Area: Sales, BD Job Description: Role: Presales/ Business Analyst/ Sales & Business development Location: Initially Delhi and anywhere in India/Abroad later. Desired Candidate Profile: Candidate should be: An MBA in Marketing & Systems/ Finance (with Comp Sc. background) passing / passed out in the Year 2008 ONLY. (Only from PREMEIR Institutes) 60% and above in all aggregates. Excellent communication & interpersonal skills Company Profile: Newgen Software is a world class, CMM Level 4 software products development organisation operating in niche areas of document/ knowledge management, workflow and imaging solutions. Please send your resume to richa.jain@newgen.co.in Contact Details Company Name: Newgen Software Technologies Ltd. Website: http://www.newgensoft.com Executive Name: Richa (richa.jain@newgen.co.in) Email Address: careers@newgen.co.in Read more! cheap oem software buy software
Infobiz Technologies recruits fresh Programmers
Posted on November 09, 2008 in Certified pharmacy technician
Experience: 0 - 2 Years Location: Bengaluru/Bangalore, Chennai, Hyderabad / Secunderabad Education: UG - B.Sc - Computers;B.Tech/B.E. - Any Specialization;BCA - Computers PG - M.Sc - Computers, Electronics;MCA - Computers Industry Type: IT-Software/ Software Services Functional Area: Application Programming, Maintenance Job Description: We need people for product development. We need people those who are having basic knowledge in programming. Those who know dotnet frame work 2.0, vb.net, sqlserver2005 and crystal reports. We will preffer those who know the basics in programming. Desired Candidate Profile: Candidate who are appling for this job don't need any preior experience. Candidates who know the basics of programming is enough. And candidates who are learned dotnet from training institutes they have face system test. Company Profile: Infobiz is developing client server ERP application / products / projects for different domains from past five years. Contact Details Company Name: Infobiz Technologies (Pvt) Ltd., Website: http://www.infobiz.in Executive Name: Syamu K... Email Address: hr@infobiz.in, info@infobiz.in Telephone: 91-44-45588313 Keywords: Fresher, Dot net frame work 2 0, vb net 2 0, sqlserver2005 Reference ID: Dot net Programmer If you want to receive job announcements in your e-mail on daily basis, please subscribe to 101globaljobs-subscribe@yahoogroups.com. Read more! cheap oem software buy software
Tags: infobiz, candidate, net, computers, programming