Un lucru util este un lucru bun, dar nu şi un lucru bun este util!

Adineaori o situţie: Porduct Ownerul cere implementarea unei capabilităţi echipa o implementează + adaugă încă un navarot!

PO se uită şi spune super dar iată bucata X este nefinisată, la care echipa, da nu am reuşit, ZATO am făcut acest minunat NAVAROT pe lângă faptul că el este frumos el mai este şi navarocenâi!

 

Evident că clientul înţelege mai bine ca noi businessul, iată dece, fiind impresionat de frumuseţea navarotului, totuşi a spus: Da e frumos, dar total inutil din punct de vedere a businessului, poate chiar o să deruteze şi utilizatorii, iată dece faceţi Roll Back la cum era.

 

Concluzia: Înainte de a vă gândi să impresionaţi clientul, gândiţivă dacă aduve valoare businesului.

 

New Programming Jargon

by Joey deVilla on May 9, 2010

Every field comes up with its own jargon, and oftentimes subgroups within a field come up with their own specific words or phrases (those of you familiar with Microsoft Canada’s Developer and Platform Evangelism Team know that we have our own term for “broken”, named after one of our teammates who is notorious for killing all sorts of tech gear).

A question recently posted on Stack Overflow asked for people to submit programming terms that they or their team have coined and have come into regular use in their own circles. I took a number of the submissions and compiled them into the alphabetically ordered list below for your education and entertainment.

Have you come up with your own jargon? Tell us in the comments!

Banana Banana Banana

Placeholder text indicating that documentation is in progress or yet to be completed. Mostly used because FxCop complains when a public function lacks documentation.

Example:

/// <summary>
/// banana banana banana
/// </summary>
public CustomerValidationResponse Validate(CustomerValidationRequest request, bool ...

Barack Obama

A project management account to which the most aspirational tickets – stuff you’d really like to do but will pobably never get approval for – gets assigned.

Bicrement

Adding 2 to a variable.

Bloombug

A bug that accidentally generates money. [Joey’s note: I have never written one of these.]

Bugfoot

Bigfoot

A bug that isn’t reproducible and has been sighted by only one person. See Loch Ness Monster Bug.

Chunky Salsa

A single critical error or bug that renders an entire system unusable, especially in a production environment.

Based on the chunky salsa rule from TVTropes: Any situation that would reduce a character’s head to the consistency of chunky salsa dip is fatal, regardless of other rules.

Configuration Programming / Programmer

Someone that says they are a programmer but only knows how to hack at configuration files of some other pieces of software configuration to make them do what they want.

Counterbug

A defensive move useful for code reviews. If someone reviewing your code presents you with a bug that’s your fault, you counter with a counterbug: a bug caused by the reviewer.

DOCTYPE Decoration

When web designers add a proper DOCTYPE declaration at the beginning of an HTML document, but then don’t bother to write valid markup for the rest of it.

Drug Report

A bug report so utterly incomprehensible that whoever submitted it must have been smoking crack. The lesser version is a chug report, where the submitter is thought have had one too many.

Duck

Rubber "Devil Duckies" surrounding a lone rubber "Angel Duckie"

A feature added for no other reason than to draw management attention and be removed, thus avoiding unnecessary changes in other aspects of the product.

This started as a piece of Interplay corporate lore. It was well known that producers (a game industry position, roughly equivalent to PMs) had to make a change to everything that was done. The assumption was that subconsciously they felt that if they didn’t, they weren’t adding value.

The artist working on the queen animations for Battle Chess was aware of this tendency, and came up with an innovative solution. He did the animations for the queen the way that he felt would be best, with one addition: he gave the queen a pet duck. He animated this duck through all of the queen’s animations, had it flapping around the corners. He also took great care to make sure that it never overlapped the „actual” animation.

Eventually, it came time for the producer to review the animation set for the queen. The producer sat down and watched all of the animations. When they were done, he turned to the artist and said, „That looks great. Just one thing – get rid of the duck.”

Fear-Driven Development

When project management adds more pressure, such as by firing a member of the team.

Ghetto Code

Ceiling fan kludged by hanging a box fan from the ceiling

A particularly inelegant and obviously suboptimal section of code that still meets the requirements. [Joey’s note: I’ve written ghetto code before, but that’s because I’m street, yo!]

Hindenbug

A catastrophic data-destroying bug. Oh, the humanity!

Hocus Focus Problem

Unexpected behavior caused by changes in focus, or incorrect setting of focus. Could also be used to describe an app stealing your focus.

Hot Potato / Hot Potatoes

A fun way to pronounce http:// and https://.

IRQed

Annoyed by interruptions. Pronounced like and has a similar meaning to “irked”.

Jimmy

"Opie" from "Family Guy"

A generalized name for the clueless/new developer. The submitter at Stack Overflow writes:

We found as we were developing a framework component that required minimal knowledge of how it worked for the other developers. We would always phrase our questions as: „What if Jimmy forgets to update the attribute?”

This led to the term „Jimmy-proof” when referring to well designed framework code.

It’s probably best not to use this term around IronRuby developer Jimmy Schementi.

Loch Ness Monster Bug

A bug that isn’t reproducible and has been sighted by only one person. See Bugfoot.

Megamoth

MEGA MOnolithic meTHod. Usually stretches over two screens in height and often contained inside a God Object (an object that knows or does too much).

.NET Sandwich

When .NET code called native code which calls other .NET code and makes the poorly designed application crash.

n-gleton

A class that only allows a fixed number of instances of itself.

NOPping

Not napping, but simply zoning out. Comes from the assembly language instruction NOP, for No OPeration, which does nothing.

Pokemon Exception Handling

For when you just gotta catch ’em all!

Reality 101 Failure

Solar-powered flashlight

The program (or more likely feature of a program) does exactly what was asked for, but when it’s deployed it turns out that the problem was misunderstood and the program is basically useless.

Refuctoring

The process of taking a well-designed piece of code and, through a series of small, reversible changes, making it completely unmaintainable by anyone except yourself. It’s job security!

The Sheath

The isolating interface between your team’s (good) code, and the brain-dead code contributed by some other group. The sheath prevents horrible things (badly named constants, incorrect types, etc.) in their code from infecting your code.

[Joey’s note: I’ve heard the term “shim” used for this sort of construct. I’ve used the term “transmogrifier” for this sort of thing.]

Shrug Report

A bug report with no error message or “how to reproduce” steps and only a vague description of the problem. Usually contains the phrase „doesn’t work.”

Smug Report

A bug report submitted by a user who thinks he knows a lot more about the system’s design than he really does. Filled with irrelevant technical details and one or more suggestions (always wrong) about what he thinks is causing the problem and how we should fix it.

Stringly-Typed

i can has string

A riff on strongly-typed. Used to describe an implementation that needlessly relies on strings when programmer- and refactor-friendly options are available.

Examples:

  • Method parameters that take strings when other more appropriate types should be used
  • On the occasion that a string is required in a method call (e.g. network service), the string is then passed and used throughout the rest of the call graph without first converting it to a more suitable internal representation (e.g. parse it and create an enum, then you have strong typing throughout the rest of your codebase)
  • Message passing without using typed messages etc.

Excessively stringly typed code is usually a pain to understand and detonates at runtime with errors that the compiler would normally find.

Unicorny

An adjective to describe a feature that’s so early in the planning stages that it might as well be imaginary. This one comes from Rails Core Team member Yehuda Katz, who used it in his closing keynote at last year’s Windy City Rails to describe some of Rails’ upcoming features.

Yoda Conditions

Yoda: "if (5 == count)"

The act of using

if (constant == variable)

instead of

if (variable == constant)

It’s like saying “If blue is the sky”.

Article copied from: http://www.globalnerdy.com/2010/05/09/new-programming-jargon/

Guvernul a declarat ieri 25 decembrie curent zi de odihna, astfel incit credinciosii de rit nou sa poata sarbatori Craciunul. Prim-ministrul Vlad Filat a precizat ca in 2010, Executivul va propune o initiativa legislativa pentru a declara aceasta data zi de odihna.

De asemenea, Cabinetul de Ministri a declarat 4, 5 si 6 ianuarie 2010 zile de odihna. In acest mod angajatii bugetari si institutiile de invatamint si educational vor avea o vacanta intre 1-10 ianuarie. Zilele date vor fi recuperate simbata 16 ianuarie, 13 februarie si, respectiv, 13 martie 2010. Ziua de 25 decembrie va fi recuperata in una din simbetele de pina la finele anului viitor.

In nota informativa se mentioneaza ca hotarirea de Guvern nu afecteaza unitatile si personalul care activeaza in regim continuu la munca sau in regim special.

Rentabilizând moartea

Dacă trăiaţi cu iluzia că cei care au provocat colapsul actual s-au retras discret din prima linie, vă înşelaţi amarnic. Ei nu au părăsit niciodată câmpul de bătălie şi, cred că nu aş exagera dacă aş afirma că, în ultimă instanţă, noţiunea de „câmp de bătălie” în accepţiunea actuală le aparţine întrutotul. Sunt oameni discreţi, aproape obscuri, dar care au o capacitate destructivă fabuloasă. Scopul lor este acela de a face baloane nu de dragul umflatului, ci pentru perceperea comisionului.
Ceea ce vă voi prezenta în continuare este una din mostrele de inventivitate ale băncilor de investiţii, un balon în stadiu incipient, despre care este posibil să auziţi în viitorul apropiat.Schema pusă la cale este, pe cât de simplă, pe atât de genială. Poate vă este cunoscută zicala conform căreia „moartea este singura certitudine”. Pornind de la această axiomă, băieţii deştepţi ai Wall Street-ului sunt pe cale să dezvolte noua generaţie de arme de distrugere în masă.
Să ne gândim la o afacere reciproc avantajoasă. John este bolnav de o maladie incurabilă. De asemenea, John are o poliţă de asigurare de viaţă de 1 milion de dolari, bani care vor încasaţi după ce nefericitul îşi va da obştescul sfârşit. Ce are de câştigat John din această afacere? Mai nimic. Ei bine, aici intervine un binevoitor care-i propune lui John următorul târg: în schimbul dreptului de a încasa banii corespunzători asigurării,  îi oferă o fracţie înainte de a muri. Cu alte cuvinte, John devine în timpul vieţii beneficiarul  unei părţi din suma care i se cuvine ca „premiu” pentru moartea sa. Ciudată afacerea, dar destul de bănoasă,  dacă ţinem cont de faptul că un John poate emite pretenţii pentru maxim 40% din suma asigurată. Deci, pe scurt investeşti acum, aştepţi să moară John şi încasezi de 2.5 ori mai mult decât ai băgat în afacere. Dacă nefericitul moare repede, ai pus-o de un profit baban. Un business sigur, nu-i aşa?
Ei bine, băieţii de pe Wall Street nu se apucă să lucreze ca amatorii. Doar nu vă gândiţi că vreun rechin de la Goldman va sta să vâneze distruşi la colţul străzii. Adevăratul profit vine din dezvoltarea schemei după principiul statutat de activele toxice cu suport ipotecar. Aşa că schema pusă la cale prevede gruparea de drepturi în pachete mai mari pentru diversificare şi minimizarea riscului(vă sună cunoscut?). După aceasta, urmează vânzarea de pachete şi derivarea produselor până la atingerea unui nivel satisfăcător de sofisticare. Dacă în ceea ce priveşte piaţa ipotecară mizarea pe creştere s-a dovedit a fi o eroare, cred că nu este un secret pentru nimeni că moartea este ceva sigur. Deci, un argument suficient de puternic pentru a reisteriza lumea cu gunoi nobil.
Când am auzit pentru prima dată de acest „nou concept”, am crezut că e vorba de vreun experiment, iar lucrurile urmează să se dezvolte în timp. Numai că schema se pare că este pregătită de mult timp în laboratoare. Deja se vorbeşte despre un index tranzacţionabil pus la punct de Goldman Sachs (de ce nu mă miră…) care ar permite pariuri pe durata de viaţă a celor din spatele pachetelor de asigurări securizate. Marketingul acestui index va fi bazat pe faptul că produsul nu este dependent de ciclurile financiare, deci va putea oferi o siguranţă mai mare a investiţiei.
Cu toată că la prima vedere pare ceva sigur(probabil agenţiile de rating au pregătit deja triple A-ul) riscurile sunt mult mai mari decât vă puteţi imagina. Pornind de la tentaţia fraudei şi continuând cu erori de diagnosticare, descoperirea unor medicamente revoluţionare sau, pur şi simplu cu supravieţuirea inexplicabilă a unor indivizi. Toate acestea sunt posibile riscuri care invalidează încasarea poliţei.
Pe hârtie lucrurile sună tentant, iar rechinii îşi pregătesc buzunarele pentru valul de comisioane care va fi generat de noua paradigmă. Marketing-ul agresiv, lobby-ul intens, precum şi celelalte elemente ale maşinăriei infernale a finanţiştilor de pe Wall Street stau să fie scoase de la naftalină. Asta în timp ce pe la întruniri inutile gen G8, G20, etc. un grup de prostănaci dau declaraţii sforăitoare cu privire la reglementarea pieţelor.

Most of these faults were discovered the hard way by the author himself, and cataloged in order to think about them some more and hopefully purge them from his own work.

This article is also written for the manager who’s trying to help a problem employee or judge a candidate for hire, for at least a few of the listed examples have been taken from real-world interviews and code reviews.
And finally, this article is written for you so that you can render yourself smug on your next code review. Given that you’re impeccable, of course.

(mai mult…)

An American investment banker was at the pier of a small coastal Mexican village when a small boat with just one fisherman docked.  Inside the small boat were several large yellowfin tuna.  The American complimented the Mexican on the quality of his fish and asked how long it took to catch them.

The Mexican replied, „only a little while.”

The American then asked why didn’t he stay out longer and catch more fish?

The Mexican said he had enough to support his family’s immediate needs.

The American then asked, „but what do you do with the rest of your time?”

The Mexican fisherman said, „I sleep late, fish a little, play with my children, take siestas with my wife, Maria, stroll into the village each evening where I sip wine, and play guitar with my amigos.  I have a full and busy life.”

The American scoffed, „I am a Harvard MBA and could help you.  You should spend more time fishing and with the proceeds, buy a bigger boat.  With the proceeds from the bigger boat, you could buy several boats, eventually you would have a fleet of fishing boats.  Instead of selling your catch to a middleman you would sell directly to the processor, eventually opening your own cannery.  You would control the product, processing, and distribution.  You would need to leave this small coastal fishing village and move to Mexico City, then LA and eventually New York City, where you will run your expanding enterprise.”

The Mexican fisherman asked, „But, how long will this all take?”

To which the American replied, „15 – 20 years.”

„But what then?” Asked the Mexican.

The American laughed and said, „That’s the best part.  When the time is right you would announce an IPO and sell your company stock to the public and become very rich, you would make millions!”

„Millions – then what?”

The American said, „Then you would retire.  Move to a small coastal fishing village where you would sleep late, fish a little, play with your kids, take siestas with your wife, stroll to the village in the evenings where you could sip wine and play your guitar with your amigos.”

Source: http://www.protolink.com/MexicanFisherman.html

Gmail has gained so much popularity in so little time. But when it comes to access gmail from an email client like geemail-inactionoutlook or outlook express most of us frown. This is because Gmail does not work perfectly with popular e-mail clients. I have always wished for a dedicated program for accessing my e-mail. And finally ths wsh has been fulfilled through a dedicated e-mail client called Geemail. Developed by Sourcebits, Geemail is an Adobe air based program and currently in beta. Geemail has everything you need to access your gmail email account. It does not require you to configure POP3 or IMAP to access gmail. Just install the program and use your user name and password like you use to login to gmail from your browser and you are done. Moreover it has the same familiar interface of web based gmail so at moment you will feel that you are using gmail in a browser where as you are infact using it ina desktop client. In order to install Geemail you need the following: – Adobe Air Adobe AIR is a cross-platform runtime environment for building rich Internet applications using Adobe Flash, Adobe Flex, HTML, or , that can be deployed as a desktop application. – Geemail Adobe AIR serves as the platform above which the Geemail application runs.

(mai mult…)