Wednesday, April 16, 2014

QWERTY Keyboard : Why the keys are arranged in that particular order?

“Have you ever wondered why the keys on a typewriter are arranged in that particular order?”

“No, I haven’t.”

“We call it the QWERTY keyboard, because that’s the order of the letters on the first row of keys. I once wondered why it was like that, and I found the answer. The first machine was invented by Christopher Sholes, in 1873, to improve on calligraphy, but there was a problem: If a person typed very fast, the keys got stuck together and stopped the machine from working. Then Sholes designed the QWERTY keyboard, a keyboard that would oblige typists to type more slowly.

“I don’t believe it.”

“But it’s true. It so happened that Remington—which made sewing machines as well as guns at the time—used the QWERTY keyboard for its first typewriters. That meant that more people were forced to learn that particular system, and more companies started to make those keyboards, until it became the only available model. To repeat: The keyboard on typewriters and computers was designed so that people would type more slowly, not more quickly, do you understand? If you changed the letters around, you wouldn’t find anyone to buy your product.”

When she saw a keyboard for the first time, Mari had wondered why the letters weren’t in alphabetical order, but she had then promptly forgotten about it. She assumed it was simply the best layout for people to type quickly.”

Tuesday, March 25, 2014

Java Magazine, March/April 2014 Issue

16th issue of the Java Magazine is available. If you have a subscription, you can start reading the digital issue now.

Java Magazine is a free bi-monthly digital magazine and is all about Java technology, the Java programming language, and Java-based applications.

The highlight of the current issue Java 8.



TABLE OF CONTENTS

FEATURES
JAVA 8: EXPLORE THE POSSIBILITIES
FROM SMART GRIDS TO MICROBREWS
JAVA ME 8 AND THE INTERNET OF THINGS

COMMUNITY
From the Editor
Java Nation
JCP Executive Series:Q&A with Goldman Sachs

JAVA TECH
New to Java:How to Become an Embedded Developer in Minutes
New to Java: Three Hundred Sixty–Degree Exploration of Java EE 7
Java Architect: Processing Data with Java SE 8 Streams
Java Architect: JSR 308 Explained: Java Type Annotations
Embedded: JavaFX and Near Field Communication on the Raspberry Pi
Polyglot: Take Time to Play
Fix This



Cover
- 07&08 2013 -
Cover
- 05&06 2013 -
Cover
- 03&04 2013 -
Cover
- 01&02 2013 -
Cover
- 11&12 2012 -

Cover
- 09&10 2012 -
Cover
- 07&08 2012 -
Cover
- 05&06 2012 -
Cover
- 03&04 2012 -
Cover
- 01&02 2012 -

Cover
- 11&12 2011 -
Cover
Premiere

Thursday, February 13, 2014

Java Equality (==) Operator

You probably know you should use equals method instead of == in order to check equality of object values (non primitive values). I've written the following test code to show my friend that he shouldn't use == operator to compare Integer or String values.


I've expected that the expressions in 12th and 17th lines will return false because they belong to different variables but I guess Java optimizes them and make them share the same variable :) Happily, the expressions in 13th, 18th and 19th lines returns false as I expect.

The following is a very nice explanation by Jops @Stackoverflow: stackoverflow.com/a/16194428/878710

Jorman is a successful businessman and has 2 houses.


When you ask neighbours from either Madison or Burke streets, this is the only thing they can say:


Using the residence alone, it's tough to confirm that it's the same Jorman. Since they're 2 different addresses, it's just natural to assume that those are 2 different persons.

That's how the operator == behaves. So it will say that datos[0]==usuario is false, because it only compares the addresses.

Wednesday, February 12, 2014

Introduction to Gamification

You have probably heard about gamification before. It’s one of the hot topics. You see them in Stackoverflow and use it in foursquare. I've signed up for the Gamification course at coursera, by Kevin Werbach from the university of Pennsylvania. It's just started but I want to share some of my notes from the first couple of lectures. It might give you some idea about what is gamification and how it is done. 

You can also check the following useful posts:



Games are powerful things but harder than it appears.


Gamification is the use of game elements and game design techniques in non-game contexts.


Game elements :
- Things like leaderboards, badges to reward achievements, point systems etc..


Game Design Techniques:
- Think like a Game Designer.


Non-Game Contexts:
- Some objective other than success in the game. (Business,scholar, social impact,personal improvement,etc.)
- Using simple elements that they have developed from games. To take these and apply them to a situation that isn't a game.

Example, Samsung nation web site encourages people to gain badges and points by visiting their website, interacting with their products, writing product reviews, watching videos, registering products they have already bought and so on.


Gamification is not …
  • Making everything a game (or an immersive 3D virtual world)
  • Any games in the workplace
  • Any use of games in business
  • Simulations (or serious games)
  • Just for marketing or customer engagement
  • Just PBLs (points, badges, leaderboards)
  • Game theory
Gamification is …
  • Listening to what games can teach us.
  • Learning from game design (and psychology, management, marketing, economics)
  • Appreciating fun.
Internal Gamification: Used for employees inside the company.

External Gamification: Used for customers for the sake of marketing..


Game is …
  • Hard to make a definition
  • Pre-lusory (play) goal, constitutive rules, lusory (playful) attitude
  • voluntarily overcoming unnecessary obstacles
  • a magic circle
  • A game is a closed, formal system that engages players in a structured conflict, and resolves in an unequal outcome (Tracy Fullerton, Chris Swain and Steven Hoffman)
  • A game is a series of meaningful choices (Sid Meier)
  • A game is a domain of contrived contingency that generates interpretable outcomes (Thomas Mallaby)
  • A game is a problem-solving activity, approached with a playful attitude (Jesse Schell)

Play is ..
  • Play is the aimless expenditure of exuberant energy (Friedrich Schiller)
  • Play is whatever is done spontaneously and for its own sake (George Santayana)
  • Play creates a zone of proximal development of the child. In play a child always behaves beyond his average age (Lev Vygotsky)
  • Play is free movement within a more rigid structure (Katie Salen & Eric Zimmerman)
Takeaways for Gamification

  • Voluntariness
  • Learning or problem solving
  • Balance of structure and exploration

We’re all gamers now! (Sources: Pew Foundation and Entertainment Software Association)
  • 97% of kids 12-17 play video games
  • The average game player is 30 years old (37% are older than 35)
  • 47% percent of all game players are women
Video Games are not Just Blowing Stuff Up

Games in real life :

Be Careful!
  • Not everybody likes games
  • Gamers don’t like every kind of games

Why Gamify?

  • Engagement gap : willingness and ability to contribute, participate. How? By making it fun.
  • Choices : having many different things to do (if you have less choice, you must have direct result, like shopping) --> games:meaningful choices
  • Progression : 1st should not be the same as 100th: experience
  • Social : involving relationship with friends, compete, collaberate, share, team up, see what others doing
  • Habit : making the action a habit, natural thing to do automatically
Example: Dodgeball vs Foursquare

You should also check some Java Gamification projects:

Thursday, January 30, 2014

Java Magazine, January/February 2014 Issue

15th issue of the Java Magazine is available. If you have a subscription, you can start reading the digital issue now.

Java Magazine is a free bi-monthly digital magazine and is all about Java technology, the Java programming language, and Java-based applications.

The highlight of the current issue Big Data.



TABLE OF CONTENTS

FEATURES
POWER TO THE PEOPLE
BIG DATA FOR JAVA DEVELOPERS

COMMUNITY
From the Editor
Java Nation
JCP Executive Series: Q&A with SAP

JAVA IN BUSINESS
Banking on Java

JAVA TECH
New to Java: Three Hundred Sixty–Degree Exploration of Java EE 7
Java Architect: Big Data Processing with Java
Java Architect: Introduction to Hadoop
Java Architect: Introduction to Cassandra
Java Architect: MongoDB and Big Data
Java Architect: Java SE 8 Date and Time
Java Architect: Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM
Enterprise Java: Building Rich Client Applications with JSR 356
Enterprise Java: GraphHopper Maps: Fast Road Routing in 100-Percent Java
Polyglot Programmer: Take Time to Play
Fix This



Cover
- 07&08 2013 -
Cover
- 05&06 2013 -
Cover
- 03&04 2013 -
Cover
- 01&02 2013 -
Cover
- 11&12 2012 -

Cover
- 09&10 2012 -
Cover
- 07&08 2012 -
Cover
- 05&06 2012 -
Cover
- 03&04 2012 -
Cover
- 01&02 2012 -

Cover
- 11&12 2011 -
Cover
Premiere