Saturday, July 21, 2012

New Programming Jargon

New Programming Jargon:
Stack Overflow – like most online communities I've studied – naturally trends toward increased strictness over time. It's primarily a defense mechanism, an immune system of the sort a child develops after first entering school or daycare and being exposed to the wide, wide world of everyday sneezes and coughs with the occasional meningitis outbreak. It isn't always a pleasant process, but it is, unfortunately, a necessary one if you want to survive.

Consider this question from two years ago:

New programming jargon you coined?

What programming terms have you coined that have taken off in your own circles (i.e. have heard others repeat it)? It might be within your own team, workplace or garnered greater popularity on the Internet.

Write your programming term, word or phrase in bold text followed by an explanation, citation and/or usage example so we can use it in appropriate context.

Don't repeat common jargon already ingrained in the programming culture like: kludge, automagically, cruft, etc. (unless you coined it).

This question serves in the spirit of communication among programmers through sharing of terminology with each other, to benefit us by its propagation within our own teams and environments.
Is this even a question, really? How many answers does it have?

Three hundred and eighty six!

A question that invites 386 different "answers" isn't a question at all. It's an opinion survey, a poll, a List of X. I suppose you could argue that reading through all those responses would teach you something about programming, but it was pretty clear that the bulk of the responses were far more about laughs and GTKY (Getting to Know You) than learning. That's why it was eventually deleted by experienced Stack Overflow community members. Although it is somewhat borderline in terms of learning, and I didn't personally vote to delete it, I tend to agree that it was correctly deleted. Though opinions vary.

I won't bore you with the entire history, our so-called "war on fun", and the trouble with popularity. Ultimately, Stack Overflow is a college, not a frat house. All the content on the site must exist to serve the mission of learning over entertainment – even if that means making difficult calls about removing some questions and answers that fail to meet those goals, plus or minus 10 percent.

In terms of programmer culture, though, there is precedent in the form of The Jargon File. Unfortunately, we don't have a good designated place for deleted "too fun" questions to live, but all Stack Exchange content is licensed under Creative Commons in perpetuity. Which means, with proper attribution, we can give it a permanent home on our own blogs. So I did. I've collected the top 30 Stack Overflow New Programming Jargon entries below, as judged by the Stack Overflow community. Enjoy.*

1. Yoda Conditions

Yoda-conditions

Using if(constant == variable) instead of if(variable == constant), like if(4 == foo). Because it's like saying "if blue is the sky" or "if tall is the man".



2. Pokémon Exception Handling

Pokemon

For when you just Gotta Catch 'Em All.

try {
}
catch (Exception ex) {
   // Gotcha!
}


3. Egyptian Brackets

Egyptian

You know the style of brackets where the opening brace goes on the end of the current line, e.g. this?

if (a == b) {
    printf("hello");
}
We used to refer to this style of brackets as "Egyptian brackets". Why? Compare the position of the brackets with the hands in the picture. (This style of brackets is used in Kernighan and Ritchie's book The C Programming Language, so it's known by many as K&R style.)



4. Smug Report

Pathreport-med

A bug 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.

Also related to Drug Report (a report so utterly incomprehensible that whoever submitted it must have been smoking crack.), Chug Report (where the submitter is thought to have had one too many), and Shrug Report (a bug report with no error message or repro steps and only a vague description of the problem. Usually contains the phrase "doesn't work.")



5. A Duck

Duck-wireframe

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.

I don't know if I actually invented this term or not, but I am certainly not the originator of the story that spawned it.

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."



6. Refuctoring

Bottle-smashing

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.



7. Stringly Typed

Cat-string-values

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

For example:

  • 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.


8. Heisenbug

unknown
Heisenbug

A computer bug that disappears or alters its characteristics when an attempt is made to study it. (Wikipedia)

9. Doctype Decoration

Charlie-brown-christmas-tree

When web designers add a doctype declaration but don't bother to write valid markup.

<!DOCTYPE html>
<BLINK>Now on sale!</BLINK>


10. Jimmy

Jimmy

A generalized name for the clueless/new developer.

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.



11. Higgs-Bugson

Higgs-boson-guy

A hypothetical bug predicted to exist based on a small number of possibly related event log entries and vague anecdotal reports from users, but it is difficult (if not impossible) to reproduce on a dev machine because you don't really know if it's there, and if it is there what is causing it. (see Higgs-Boson)



12. Nopping

Statue-napping

I'm writing a scifi novel from the POV of an AI, and their internal language has a lot of programming jargon in it. One of the more generalizable terms is "nopping", which comes from assembler NOP for no-operation. It's similar to 'nap', but doesn't imply sleep, just zoning out. "Stanislav sat watching the screensaver and nopped for a while."



13. Unicorny

Stack-overflow-unicorn

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



14. Baklava Code

Baklava

Code with too many layers.

Baklava is a delicious pastry made with many paper-thin layers of phyllo dough. While thin layers are fine for a pastry, thin software layers don’t add much value, especially when you have many such layers piled on each other. Each layer has to be pushed onto your mental stack as you dive into the code. Furthermore, the layers of phyllo dough are permeable, allowing the honey to soak through. But software abstractions are best when they don’t leak. When you pile layer on top of layer in software, the layers are bound to leak.



15. Hindenbug

Oh-the-huge-manatee

A catastrophic data destroying bug. "Oh the humanity!"

Also related to Counterbug (a bug you present when presented with a bug caused by the person presenting the bug) and Bloombug (a bug that accidentally generates money).


16. Fear Driven Development

Youre-fired

When project management adds more pressure (fires someone, moves deadlines forward, subtracts resources from the project, etc).

17. Hydra Code

800px-Hercules_slaying_the_Hydra

Code that cannot be fixed. Like the Hydra of legend, every new fix introduces two new bugs. It should be rewritten.

18. Common Law Feature

anonymous
Common-law-marriage


A bug in the application that has existed so long that it is now part of the expected functionality, and user support is required to actually fix it.


19. Loch Ness Monster Bug

Loch-ness-monster

I've started Loch Ness Monster bug for anything not reproducible / only sighted by one person. I'm hearing a lot of people in the office say it now. (Possible alternates: Bugfoot, Nessiebug.)


20. Ninja Comments

Ninja-comments

Also known as invisible comments, secret comments, or no comments.

21. Smurf Naming Convention

Brainy-smurf

When almost every class has the same prefix. IE, when a user clicks on the button, a SmurfAccountView passes a SmurfAccountDTO to the SmurfAccountController. The SmurfID is used to fetch a SmurfOrderHistory which is passed to the SmurfHistoryMatch before forwarding to either SmurfHistoryReviewView or SmurfHistoryReportingView. If a SmurfErrorEvent occurs it is logged by SmurfErrorLogger to ${app}/smurf/log/smurf/smurflog.log


22. Protoduction

Uno_motorcycle_segway

A prototype that ends up in production. Heard this from a tech at the Fermi lab. He said he didn't coin the term but had heard it used a number of times at Fermi.


23. Rubber Ducking

Sesamstrasse_ernie_bert

Sometimes, you just have to talk a problem out. I used to go to my boss and talk about something and he'd listen and then I'd just answer my own question and walk out without him saying a thing. I read about someone that put a rubber duck on their monitor so they could talk to it, so rubberducking is talking your way through a problem.



24. Banana Banana Banana

Dancing-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.

/// <summary>
/// banana banana banana
/// </summary>
public CustomerValidationResponse Validate()
Other food-related jargon: Programmer Fuel (Mountain Dew, coffee, Mate, anything which gets you well-caffeinated), Hot Potato (Http and Https respectively. Same number of syllables, but more fun to say), Cake (Marty's noob cake broke the build), Chunky Salsa (based on the chunky salsa rule, a single critical error or bug that renders an entire system unusable, especially in a production environment).


25. Bicrement

Plus-two

Adding 2 to a variable.


26. Reality 101 Failure

Feature-fail



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 it's basically useless.

27. Mad Girlfriend Bug

Mad-girlfriend-cartoon

When you see something strange happening, but the software is telling you everything is fine.


28. Megamoth


Mothra

Stands for MEGA MOnolithic meTHod. Often contained inside a God Object, and usually stretches over two screens in height. Megamoths of greater size than 2k LOC have been sighted. Beware of the MEGAMOTH!


29. Hooker Code

Muppet-pimps

Code that is problematic and causes application instability (application "goes down" often). "Did the site go down again? Yeah, Jim must still have some hooker code in there."


30. Jenga Code

Hasbro-jenga

When the whole thing collapses after you alter a block of code.


This is just the top 30, what I consider to be the most likely candidates for actual new programming jargon based on community upvotes, not just "funny thing that another programmer typed on a webpage and I felt compelled to upvote for hilarity". Because that would be Reddit. If you're itching to see even more, there are plenty more answers to read – three hundred and fifty six more to be precise. Longtime Stack Overflow user Greg Hewgill maintains an archive of old deleted Stack Overflow questions, but this one hasn't quite made it in there yet. In the meantime, try Stack Printer, or if you have the requisite 10k rep on Stack Overflow, you can view the full soft-deleted question on the site.


* But don't enjoy it too much. We will be watching you.



[advertisement] What's your next career move? Stack Overflow Careers has the best job listings from great companies, whether you're looking for opportunities at a startup or Fortune 500. You can search our job listings or create a profile and let employers find you.

Tuesday, July 17, 2012

Consortium of Colleges Takes Online Education to New Level

Consortium of Colleges Takes Online Education to New Level: Major universities are joining Stanford, Princeton and others to expand Coursera, a venture that offers free massive open online courses, or MOCCs.



Tuesday, July 10, 2012

DisplayPort 1.2 Multistream Transport Hub (MST) Eyefinity 6 (3x2) or 5x1


Below is some of the information I've found...still no word on a release date for the mst hubs. But as of ces2012 the good people at IDT demonstrated a working prototype.

----------------------------------------------------------------------------------------------------------------------------origional post: http://av.watch.impress.co.jp/docs/news/20090603_212327.html

DisplayPort chips IDT, of multi-display output support

- Can also daisy-chain multi-output


Simultaneous output of three strains in the dongle with DisplayPort output of Macbook VMM1300
Held June 3
 (IDT) is 3 days, held a briefing session of LSI "PanelPort VMM1300" to allow new multi-display of DisplayPort output eye-DT Limited Liability Company in Japan.
Features of DisplayPort
 IDT is focused on, such as receiver / transmitter chip "PanelPort" series, and semiconductor solutions for DisplayPort, VMM1300 becomes the new product. DisplayPort is, has been established as a standard of VESA, along with the replacement of the connection between the display and DVI PC, is aiming to replace LVDS technology has been used in internal digital connection of notebook PC and DVI.
 VMM1300 is compliant with DisplayPort v1.1a, HDCP v1.3 and support VESA Direct Drive Monitor, and EDIDv1.4. Voice transmission is not supported. Sample shipments of chipsets has already started, you are planning a full-scale production in August.
 At the moment are assumed to be incorporated in to the motherboard / graphics card mainly for PC and PC display. Features, with integrated receiver / transmitter for DisplayPort, DisplayPort output from a strain, that multi-display output of up to three Ru can. At the hub with a chip the same, can be output to three sets of input of one system, not only treated as a display of one of the three, such as the ability to copy the screen output 3 the same screen, display a flexible Ru can. DisplayPort output of multi-display solutions has been the world's first, called it ViewXpand in IDT.
 Multi-monitor output, in addition to use with a hub VMM1300, can be displayed, even (cascade connection) link together the display with a daisy chain. Cascade multi-monitor are not included in the standard, incorporated into VMM1300 that preceded the feature in the upcoming version 1.2 of the DisplayPort v.1.1.
Simultaneous output to the display of three strainsAlso supports three strains of the same screen outputThe demos use a hub equipped with an input three output VMM1300
Mr. Ji Park of IDT U.S.
 Mr. Ji Park general manager in charge of video and display operation of IDT U.S. Vice President, explains the benefits of multi-display with highlighting the benefits of DisplayPort. To introduce such as data by the Fraunhofer Institute IAO "in a production environment you can use the display units 3, 35.5% to improve productivity," and complained of the benefits of multi-display support VMM1300.
 In addition, there is another drawback of the graphics card will need to be added, such as power consumption increases in the traditional DVI, DisplayPort in, the system is only one output port, the benefits of such a power can be supplied from the PC side and description. In addition, when used as a USB multi-display display, that there is a degradation of image quality by bandwidth compression is inadequate, and there are drawbacks such as that do not support HDCP, that explains the advantages of DisplayPort.

Challenges of multi-display when the output of DVI and USBFeatures of PanelPort ViewXpandTarget market

(June 3, 2009)
edit section AV Watch  Shall Tsutomu Usuda ]

---------------------------------------------------------------------------------------------------------------------------- origional post: http://www.golem.de/1201/89100.html
CES 2012

DisplayPort allows in theory the use of dozens of displays via daisy chaining. It does not matter whether DisplayPort are monitors or other displays. The first daisy chain configurations could Vesa show now in operation.
DISPLAY
Daisy chaining was demonstrated at CES 2012 with a total of four monitors. A notebook display, and three behind-connected monitors are shown. One of the behind-connected monitors had a resolution of 2,560 x 1,600 pixels (WQXGA), two 1,920 x 1,080 pixels (full HD). Theoretically, according to VESA 63 monitors are possible. However, the spectrum of DisplayPort 1.2 is not enough to run as many monitors with reasonable resolution.
According to Vesa configuration examples shown next to the system with sufficient bandwidth demonstrated in front of about two WQXGA displays or four full-HD displays. Who needs more monitors, you must use correspondingly low-resolution displays. DisplayPort at CES was also demonstrated by the way with a 4K display.

The silicon is ready monitors are available in a few months

The necessary components are now ready for daisy chaining, said the Vesa. It took some time, but AMD did, for example, already at the Radeon 6000 generation to point out that the card supports multi-streaming, and so daisy chaining with six monitors. Hardware defect , we were able in our test the Radeon HD 6970 over a year ago not to try. AMD promises but can now be redeemed, as the monitor industry has followed suit.
When confronted, the Vesa pointed at CES on the compliance tests were necessary to ensure that the hardware between the manufacturers works. It is obvious now complete. Daisy chaining has been demonstrated, however, only with modified screens. Huge development boards were still hanging on to the monitors, but correspond to the functionality of the final state.
The hardware should be integrated in monitor design by mid-2012. The Vesa expected especially in the business environment so that customers that implement daisy chain monitors. So then you have an off and an input. These will be labeled accordingly in most cases. While it is possible that a display automatically detects which contact as an input or output is used, however, would mean higher costs, the Vesa. Apple, for example, does this in his Thunderbolt interface Sun It is used both as training as well as input.

Little additional cost for monitor manufacturers, hubs are expensive sometimes only

The integration of DisplayPort is expected to cost just $ 2, as the Vesa estimate carefully. It would be so for many producers, especially in the corporate environment, more investment is negligible. One-off costs for the redesign but would probably do so. For 20-inch low-cost monitors that can be in Germany at prices net of around 100 €, but these are $ 2 a lot, because dealers and manufacturer margins must be calculated in the calculation of production costs.
Due to the expected small number of items, a display port hub is not quite as cheap. It is expected that prices will be the first devices in more than 50 U.S. dollars. The functionality of a hub could also demonstrate the Vesa. An example system via display port hub with three monitors were connected.
They have the advantage of old monitors, whether can be used by the display port or an adapter, DVI or HDMI monitors. It is currently unclear how many ports are passive way. 1.5 watts is DisplayPort currently available. That should be enough to secure a 2-port hub with one input. Maybe even 3-port hub without power supply are possible. The Vesa wants with DisplayPort 1.2a, the wattage in preparation for Mobility DisplayPort but still increase .
Hubs and daisy chain monitors should appear almost simultaneously on the market.

Saturday, July 7, 2012

Japanese group transmits electricity through 4-inch concrete block, could power cars on roads

Japanese group transmits electricity through 4-inch concrete block, could power cars on roads:
Japanese group transmits electricity through 4inch concrete block, demonstrates potential for powering cars on roads
The decision to invest in an electric vehicle would be much easier to justify if the car in question offered unlimited range. That appears to be the concept behind a Toyohashi University research group's wireless power prototype, which can successfully transmit electricity through a 10 centimeter-thick concrete block. During a demonstration in Yokohama, Japan, the team sent between 50 and 60 watts of power through a pair of concrete blocks to two tires, which then juiced up a light bulb (you can see the rig just above). The project is called EVER (Electric Vehicle on Electrified Roadway), and could someday be used to keep cars moving along a highway without any need to pull over for a recharge, thanks to a constant stream of electricity coming from below the road. There are some serious obstacles to overcome before EVER can get some wheels turning -- namely, a need to pump nearly 100 times the current maximum load through concrete that's twice as thick as what they've managed today, not to mention improving undisclosed efficiency levels -- but the group reportedly said that it's up to the task, making us fairly optimistic that such a solution could one day get us from A to B without petrol. Until then, you'll probably want to plan out a pit stop or two before you leave the garage.
Permalink TechOn, The Verge  |  sourceToyohashi University of Technology  | Email this | Comments

Tuesday, June 26, 2012

Push Humanity Forward: The Future is Ours to Create [Video]

Push Humanity Forward: The Future is Ours to Create [Video]:


The Future is Ours from Michael Marantz on Vimeo.


The future excites me so much, that is why I made this video. We need to be inspired by the immense possibilities of the future and work extremely hard to achieve them. We can do it, we just have to commit.
Help inspire others by sharing this video and tagging any interesting content on twitter with #TheFutureIsOurs
[Michael Marantz]
No related posts.

When do we finally call the impact of "Social" underwhelming?

When do we finally call the impact of "Social" underwhelming?:
Many observers of the social media initiatives that have unfolded within global businesses would be forgiven for noting the similarities with the Science Fiction story, Flowers for Algernon. In this creepy story, a lab rat named Algernon has its brain manipulated and experiences rapid increases in intelligence. The experiment is then extended to a human, Charlie Gordon, and he too experiences a (temporary) spike in understanding, memory and ability. Eventually and cruelly, the experiment devolves and an Algernon-Gordon Effect is detected, and both the rat and Charlie return to their original abilities. Are most ‘Social Media’ initiatives that far away from a version of the Algernon-Gordon Effect?
How would we measure the success of ‘Social?’ Leading businesses have strong and compelling data that indicates that ‘Social’ and ‘Crowdsourcing’ are having a good impact on their businesses. The other 95% of businesses are far behind, struggling to cross over from partisan efforts locked into niches in the marketing department over to the more fertile ground of cross-department and cross-function (integrated marketing, sales and service, and logistics, for example).
The anecdotal information trickling out across many businesses is still fluff. We have seen Cable companies and airlines and retailers flare into the headlines with fantastic stories, only to fizzle out and the leaders of the initiative move on to other exciting opportunities. And the gap between IT and marketing, marketing and customer support, and the CIO and Customer Service groups remains a yawning chasm rather than a shallow eddy. Last week, inside of a large national bank in Asia, I asked the team that came to speak with me about ‘social’ what the driver of the interest in ‘social’ was. “The interest is coming from our customers,” was the answer.
Beware of IT saying, “”The interest is coming from our customers.” Though I was 75% sure I knew the answer, I posed it anyway: ” Who is your customer?” The answer?
The branch managers

The marketing executives

The contact center managers
My follow on questions were:

How often do you sit with or directly interact with bank customers to gather or observe their needs?

How integrated are your Social Media initiatives? i.e., between yourselves in IT and the CIO and CEO and the board and the lines of business?
The answers were: a) we are not in a position to interact with the customers. Those are not ‘our’ customers. and b) there is no ‘we’ at the bank. [that I can attest to, as we needed to drive to a separate location to reach the walled off 'IT-Barracks' that were devoid of any sign that a consumer or business customer had ever passed through the gates.]
Business after business after business is failing to join up the pockets of social media undertaking with an over-arching strategic vision. Though coordinated yet small efforts can lead to eventual success, disjointed efforts will continue to result in the piecemeal and ineffectual efforts that currently encapsulate ‘Social’ at the vast majority of the world’s institutions.
Spoiler alert: next time we’ll look at where successes have occurred, and it is when Marketing and the CIO are on a path together, urged on by an informed and engaged CEO. It can happen, and when it does there is music and magic. If you have examples, pass them on!

Google scientists find evidence of machine learning

Google scientists find evidence of machine learning: A neural network created by connecting 16,000 computer processors appears to support biologists' theories on how the human brain identifies objects.
[Read more]