Skip navigation
Help

Abstraction

warning: Creating default object from empty value in /var/www/vhosts/sayforward.com/subdomains/recorder/httpdocs/modules/taxonomy/taxonomy.pages.inc on line 33.

This may sound silly, but are there programming languages out there that have a non-English syntax? I was just thinking of how difficult it must be for non-English speakers to learn a programming language.

submitted by 0110001001101NaCl
[link] [3 comments]

0
Your rating: None

At Stack Exchange, we insist that people who ask questions put some effort into their question, and we're kind of jerks about it. That is, when you set out to ask a question, you should …

  • Describe what's happening in sufficient detail that we can follow along. Provide the necessary background for us to understand what's going on, even if we aren't experts in your particular area.
  • Tell us why you need to know the answer. What led you here? Is it idle curiosity or somehow blocking you on a project? We don't require your whole life story, just give us some basic context for the problem.
  • Share any research you did towards solving your problem, and what you found, if anything. And if you didn't do any research – should you even be asking?
  • Ultimately, this is about fairness: if you're going to ask us to spend our valuable time helping you, it's only fair that you put in a reasonable amount of your valuable time into crafting a decent question. Help us help you!

We have a great How to Ask page that explains all of this, which is linked generously throughout the network. (And on Stack Overflow, due to massive question volume, we actually force new users to click through that page before asking their first question. You can see this yourself by clicking on Ask Question in incognito or anonymous browser mode.)

What we're trying to prevent, most of all, is the unanswerable drive-by question. Those help nobody, and left unchecked they can ruin a Q&A site, turning it into a virtual ghost town. On Stack Exchange, questions that are so devoid of information and context that they can't reasonably be answered will be actively closed, and if they aren't improved, eventually deleted.

As I said, we're kinda jerks about this rule. But for good reason: we're not-so-subtly trying to help you help yourself, by teaching you Rubber Duck problem solving. And boy does it ever work. I've gotten tons of feedback over the years about how people, in the process of writing up their thorough, detailed question for Stack Overflow or another Stack Exchange site, figured out the answer to their own problem.

Rubber-duckies

It's quite common. See for yourself:

How can I thank the community when I solve my own problems?

I've only posted one question so far, and almost posted another. In both cases, I answered my own questions at least partially while writing it out. I credit the community and the process itself for making me think about the answer. There's nothing explicit in what I'm writing that states quite obviously the answer I needed, but something about writing it down makes me think along extra lines of thought.

Why is it that properly formulating your question often yields you your answer?

I don't know how many times this has happened:

  • I have a problem
  • I decide to bring it to stack overflow
  • I awkwardly write down my question
  • I realize that the question doesn't make any sense
  • I take 15 minutes to rethink how to ask my question
  • I realize that I'm attacking the problem from a wrong direction entirely.
  • I start from scratch and find my solution quickly.

Does this happen to you? Sometimes asking the right question seems like half the problem.

Beginning to ask a question actually helps me debug my problem myself

Beginning to ask a question actually helps me debug my problem myself, especially while trying to formulate a coherent and detailed enough question body in order to get decent answers. Has this happened to anybody else before?

It's not a new concept, and every community seems to figure it out on their own given enough time, but "Ask the Duck" is a very powerful problem solving technique.

Bob pointed into a corner of the office. "Over there," he said, "is a duck. I want you to ask that duck your question."

I looked at the duck. It was, in fact, stuffed, and very dead. Even if it had not been dead, it probably would not have been a good source of design information. I looked at Bob. Bob was dead serious. He was also my superior, and I wanted to keep my job.

I awkwardly went to stand next to the duck and bent my head, as if in prayer, to commune with this duck. "What," Bob demanded, "are you doing?"

"I'm asking my question of the duck," I said.

One of Bob's superintendants was in his office. He was grinning like a bastard around his toothpick. "Andy," he said, "I don't want you to pray to the duck. I want you to ask the duck your question."

I licked my lips. "Out loud?" I said.

"Out loud," Bob said firmly.

I cleared my throat. "Duck," I began.

"Its name is Bob Junior," Bob's superintendant supplied. I shot him a dirty look.

"Duck," I continued, "I want to know, when you use a clevis hanger, what keeps the sprinkler pipe from jumping out of the clevis when the head discharges, causing the pipe to..."

In the middle of asking the duck my question, the answer hit me. The clevis hanger is suspended from the structure above by a length of all-thread rod. If the pipe-fitter cuts the all-thread rod such that it butts up against the top of the pipe, it essentially will hold the pipe in the hanger and keep it from bucking.

I turned to look at Bob. Bob was nodding. "You know, don't you," he said.

"You run the all-thread rod to the top of the pipe," I said.

"That's right," said Bob. "Next time you have a question, I want you to come in here and ask the duck, not me. Ask it out loud. If you still don't know the answer, then you can ask me."

"Okay," I said, and got back to work.

I love this particular story because it makes it crystal clear how the critical part of rubber duck problem solving is to totally commit to asking a thorough, detailed question of this imaginary person or inanimate object. Yes, even if you end up throwing the question away because you eventually realize that you made some dumb mistake. The effort of walking an imaginary someone through your problem, step by step and in some detail, is what will often lead you to your answer. But if you aren't willing to put the effort into fully explaining the problem and how you've attacked it, you can't reap the benefits of thinking deeply about your own problem before you ask others to.

If you don't have a coding buddy (but you totally should), you can leverage the Rubber Duck problem solving technique to figure out problems all by yourself, or with the benefit of the greater Internet community. Even if you don't get the answer you wanted, forcing yourself to fully explain your problem – ideally in writing – will frequently lead to new insights and discoveries.

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

0
Your rating: None

New submitter Paul Fernhout writes "Physicists from MIT claim to have demonstrated that an LED can emit more optical power than the electrical power it consumes. Researchers suggest this LED acts like a heat pump somehow (abstract). Is it true that 230% efficient LEDs seem to violate first law of thermodynamics?"


Share on Google+

Read more of this story at Slashdot.

0
Your rating: None

VISSOFT 2011, the 6th IEEE International Workshop on Visualizing Software for Understanding and Analysis, took place in Williamsburg, Virginia, USA, September 29-30, 2011 and was co-located with ICSM 2011. The proceedings are available in the IEEE Xplore Digital Library. Of the 21 full papers submitted to the workshop, nine were accepted (acceptance rate: 42%).

This post is by Fabian Beck a new contributor to the SoftVis blog and presents the nine full papers of VISSOFT 2011 in form of a structured review.

Code Dependencies

Dependencies between source code artifacts provide insights in the structure of a software system. Visualizing them is challenging because of the sheer quantity of dependencies usually included in a system. Often the hierarchical organization of the system (e.g., a hierarchical package structure) helps to structure or simplify these dependencies. Among the papers presented at VISSOFT 2011, many involve the visualization of code dependencies, the following three, however, having them in particular focus.

Caserta et al. use the hierarchical organization to map the source code artifacts to a two-dimensional plane exploiting a city metaphor. On top of this plane, in the third dimension, they draw the dependencies that link the artifacts. The authors reduce the visual complexity of the diagram by bundling the dependencies, again using the hierarchical structure of the artifacts. Such hierarchical edge bundling is also used in the approach by Beck F. et al., which focuses on comparing different types of code dependencies. They arrange the hierarchically structured artifacts linearly from top to bottom. Each type of dependency is depicted in a narrow stripe. By arranging the stripes side-by-side these types can be visually compared. The idea of depicting different types of dependencies is also present in the approach by Erdemir et al. They link those dependencies to different quality metrics by encoding them in the shape, color, texture, etc., of the nodes. A distinguishing feature of their approach is the intuitive mapping between metrics and visual attributes.

Dynamic Program Behavior

The analysis of the dynamic behavior of software systems is usually facing even larger sets of data than the analysis of static code dependencies. Visualization approaches depicting such dynamic data, hence, have to apply some form of aggregation to handle the data. As the following two examples show, this aggregation can be realized in different ways.

Code Dependencies can be enriched by dynamic information, for instance, as demonstrated by Deng et al.: They enforce structural dependencies if the connected code entities are covered by the same set of test cases. This dynamic relational information is only used to arrange a large set of code entities onto a two-dimensional plane. For reasons of scalability, their visualization shows these entities as color-coded dots, but does not depict dependencies. Choudhury and Rosen introduce an animated visualization technique for representing runtime memory transactions of a program. Elements of accessed data, visually encoded as glyphs, move between levels of a simulated cache. These glyphs form abstract visual structures that provide insights into the composition and eviction of the cache. The authors suggest that their approach fosters program comprehension with respect to the dynamic behavior of the program.

Visual Analytics Tools & Case Studies

Over the last decade, many software visualization approaches have been proposed, but only very few of them reached wide impact in practice. A reason could be that academia did not sufficiently embed those visualizations into real-world scenarios and development processes. The following analytics tools and case studies might lessen this gap.

When gaining information by visually analyzing a software system, a software developer wants to react to these new insights. Beck M. et al. introduce a tool for planning the reengineering of a software system, that is, changing the software design at a high level. Their tool is also based on a visualization of code dependencies attached with a hierarchy. The innovative features of their approach are the flexible interaction techniques for changing the hierarchy (i.e., the software design). Also Broeksema and Telea target at supporting developers in changing a software system: They investigate the effort to port a system from an older version of a library to a newer one. Their visualization, which they implemented as an IDE plug-in for KDevelop, provides an overview on the necessary changes and guide the developer to realize them.

Neu et al. study not only single software projects, but the ecosystems the individual projects are embedded in. They developed a web application that visualizes the evolution of such ecosystems. As an extensive case study, the GNOME project is analyzed. Long practiced but only recently considered as a serious development method, sketches are explored by Walny et al. In semi-structured interviews they evaluated how software developers in academia use these ad-hoc software visualizations. The interviews reveal that sketches are applied in a broad spectrum of scenarios and are often saved and reused in later stages of development.

0
Your rating: None

People have differing ideas on the subject of piracy, but most would never step over the line and support it. Someone who advocates piracy is labelled devil spawn, promptly whipped and then lemon juice squeezed into the sores. In short, it's the internet's most heathen of crimes. If you were to tune into the chatter in the indie game scene right now though, what you may hear is a radically different viewpoint. Pirate radio, if you will.

It's more than hot air, too; actions are being made in an attempt to tap into the benefits of piracy. You will more than likely know the two highest profile contributors to the argument: Edmund McMillen and Markus 'Notch' Persson, both of whom have stood against the grain for years now but more recently told followers on Twitter to pirate their games when they could not or would not pay the asking price for them.

Predictably, there has been a backlash to this carefree outlook on piracy, with a few heated debates erupting between developers. The question is whether there is actually any worth in encouraging piracy for a small profit-driven developer. Instinct tells us not, but there is evidence that suggests otherwise.

Read more…

0
Your rating: None

ptorrone writes "MAKE Magazine's article talks about some of the {unspoken} rules most/all the open-source hardware community seems to follow. Why? Because the core group of people who've been doing what is collectively called 'open source hardware' know each other — they're friends, they overlap and compete in some ways, but they all work towards a common goal: sharing their works to make the world a better place and to stand on each others shoulders and not each others toes : ) There will be some folks who agree strongly with what they've outlined as 'unspoken rules,' others, will completely disagree with many points too. That's great, it's time we start this conversation!"


Share on Google+

Read more of this story at Slashdot.

0
Your rating: None

Today in our series of chats with (almost) all the PC and Mac-based finalists at this year’s Independent Games Festival, it’s indie collective CoCo&Co’s fascinating, dialogue-free co-op puzzle-platformer WAY. The game is nominated for the Nuovo award, and was also a winner at this year’s IGF Student Showcase. Here, the team talk about their impressive games industry origins, the concept of playing games with an anonymous partner, how games can form emotional connections with their players, breaking down the barriers that so often separate gamers who don’t speak the same language, and their answer to the most important question of all.
(more…)

0
Your rating: None

Looking at differences between mindful xp's current game and The Marriage - the wonderment of systems abstraction?!

0
Your rating: None

Imperfect makes for perfect. My head is spinning.
The battle of Uncanny Valley is where CGI finally triumphed over reality: pixels stood proudly over humans showing off their parametrization maps and tone mapping that accurately depicted the imperfection of human skin and declared victory over reality. The first shot in the war fired when researcher Jorge Jimenez released this work on real-time realistic skin rendering, showing off the difference SSSS (Sexy Separable Subsurface Scattering – okay, I added that first ‘S’) makes.
(more…)

0
Your rating: None


TEDxKatuah - Ned Gardiner - Communication Through Visualization

Ned Gardiner is the Visualization Manager for NOAA's (the National Oceanic and Atmospheric Administration) Climate Program Office and a producer of www.climate.gov, a flagship web site providing cutting-edge, accurate climate information. For a decade, he has used scientific visualization to help make complex scientific information understandable. Recently, he has focused on helping decision-makers around the country use climate data products make well-informed decisions about climate, climate change, and interactions with living systems. Earlier in his career, Ned advanced the use of satellite data and digital maps to produce biodiversity and Earth science video programming for museums around the world.
From:
TEDxTalks
Views:
175

4
ratings
Time:
13:03
More in
Science & Technology

0
Your rating: None