Get to know Alice

Error al deserializar el cuerpo del mensaje de respuesta para la operación 'Translate'. Se superó la cuota de longitud del contenido de cadena (8192) al leer los datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxStringContentLength en el objeto XmlDictionaryReaderQuotas que se usa para crear el lector XML. Línea 1, posición 8670.
Error al deserializar el cuerpo del mensaje de respuesta para la operación 'Translate'. Se superó la cuota de longitud del contenido de cadena (8192) al leer los datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxStringContentLength en el objeto XmlDictionaryReaderQuotas que se usa para crear el lector XML. Línea 1, posición 8941.

After I wrote a review of the Scratch programing environment, one of our readers suggested that I look into the Alice programing environment. http://alice.org/ Well, I've gotten to know Alice and have found it to be quite an impressive programing environment. By the way, I'm always looking for interesting subjects to write about, so if you have suggestions, please email them to me.

Alice is a programing environment that allows students to learn Object Oriented Programing in a compelling 3-D environment. With Alice, students add objects to a 3-D world and use each object's built-in methods to create animations, interactive stories, or games. When the student is satisfied with their work, they can export it in the form of a standard web page that they can share with their friends, or instructors. Though written in, and primarily aimed at Java, most of the concepts and structures demonstrated in Alice are applicable in just about any modern language.

For this article, I'm using Alice version 2.0.7, and you can see the initial screen in Figure 1. Frankly, it looks much like any other IDE. Let's take a look at Figure 2, which is the result of loading one of the example projects. In this case, I've chosen my favorite, the Amusement Park project.

 

In the upper left panel, we have what I would call the object window. Here we see a list of all of the objects used in the project. Once a user selects an object from this list, they can see a list of methods and properties that belong to that object, in the window below, lower left. From there, a user can click on the “edit” button and edit a given method.

The star of the show, of course, is to be found in the lower center window, where we find the code window. In the main part of the code window, you see the code that comprises the current object or method. Along the bottom you see the code elements that can be used to build programs.

To create an object method, all a student has to do is select the object from the object window, then click on the create a method button for that object. From then on, the student simply drags code segments from the bottom of the screen, onto the code panel. A student can create a method parameter or variable by clicking one of the buttons on the right side of the code.

Along the bottom of the code window, we see “Do in order,” “Do together,” “If/Else,”, “Loop,” “While,” “For all in order,” “For all together,” “Wait,” “Print,” and “//.” These are the core code elements available to Alice programmers. Object methods can be brought in by simply clicking on the object in the object window and dragging the needed method into the code window.

“Do in order” is simply a means of grouping instructions that are to be executed sequentially, much like brackets or BEGIN/END groups in other languages. On the other hand, “Do together” is a means of grouping instructions that are to be executed concurrently. This is a fairly advanced feature that opens up the opportunity to explore multi-threaded programing.

The “If/Else” enables a student to create an “if” clause with an optional “else” clause. Once the student drags the “If/Else” into the code window, they will see a conditional expression container, as well as code containers corresponding to the “if,” and the “else” sides of the instruction. The student can drag whatever instructions they wish in each of the code containers. However, I did find the boolean expression creation process to be a bit cumbersome at first. Once I realized that I could drag a variable into the conditional expression container, and that Alice would then walk me through the rest, things went much more smoothly. Using the pick lists provided in the conditional container lead to strange results.

The “Loop” is pretty convenient to use. In it's default mode, the student simply specifies how many times they want the code block to execute. In advanced mode, the student can specify a full C-like construct.

The “While” is used very much like the “If/Else” is, as it should be.

The “For all in order” and “For all together” features allow a program to loop over each element in a list. The list can be created on the fly, or can be a predefined variable. Once either of these code elements are in place, a locally scoped index variable is created that contains the current item from the list.

The “Wait” element simply causes execution to pause for a given number of seconds.

One would think that the “Print” element would be fairly intuitive. However, I wasn't able to determine where the output actually went. But since Alice is primarily a 3-D programing environment, I guess printing is irrelevant.

All Alice programs are built up using these simple code elements, but the real power (and fun) comes from the methods that objects supply to the Alice environment. For example, the camera object supplies methods that move the user's point of view around within the 3-D environment.

Simply moving around in an empty environment would be pretty boring, so let's talk about some of the objects that come with Alice. Objects are loaded from the Gallery and include various types of people, buildings, animals, vehicles, land features and other props.

I think the best way to describe the possibilities is by example. See Figure 3. Here we see one of the example projects which demonstrate the Octopus and Carousel objects. These objects are fully animated, and each provide a unique set of methods. For example, the Octopus object provides a SpinAnimation method that moves the arms up and down and turns the object on it's axis.

 

On the other hand, the PinkBallerina object provides methods that allow her to be moved within the environment and to “say” messages to the user.

The 3-D environment presented by Alice is compelling, and frankly, a lot of fun. Where else can you have a Japanese Samurai, an Electric Bass, Lunar Lander and a Cowboy in the same place? While I'm not a fan of strict object oriented programming, I do understand the benefits of object oriented programing and Alice is a very good introduction for a fairly advanced class of students.

That said, I did find Alice to be a bit unstable, and at times, a bit counterintuitive. Some of the objects supported some methods that didn't seem to make sense in context, and lacked others that seemed appropriate. But sometimes that is the nature of programing, something most programmers have learned to live with. It's strict object oriented nature and compelling 3-D presentation make Alice a very good introduction to modern programing technique, but it may only be appropriate for fairly advanced, or mature students. As my sons are a bit too young to be able to work with the Alice environment effectively, I would certainly recommend anyone instructing older students, say high school, to consider using Alice as a teaching tool for intermediate to advanced programing.

______________________

Mike Diehl is a freelance Computer Nerd specializing in Linux administration, programing, and VoIP. Mike lives in Albuquerque, NM. with his wife and 3 sons. He can be reached at mdiehl@diehlnet.com


View the original article here

Kerberos authentication with NFSv4

 

"In past tips we?ve looked at using Kerberos and how to authenticate various services with it, and recently looked at setting up an NFS server on Linux. This week we will be looking at tying the two together to get the better performance and security of NFSv4 in a kerberized environment. Hold on, there is a lot to do! And while it may look daunting, it shouldn?t take very long to get everything set up and working properly.

"This tip assumes you have a working Kerberos environment, a working NFS server, and a little bit of patience. It also assumes you are using a Red Hat Enterprise Linux or Fedora distribution; other Linux distros will have similar options although certain things like NFS or firewall settings will likely be done in different files.

"To start with, we need to set up our top-level NFSv4 export directory. This is a ?root? container, of sorts, where we can bind other mount points to it as subdirectories."

Complete Story

Related Stories:
Simplify LDAP with Fedora's 389 Directory Server(Sep 14, 2010)
Set up an LDAP server on Fedora(Aug 25, 2010)
Kerberos Server Set Up(Feb 25, 2010)
Active Directory for Linux draws closer(Jan 31, 2009)
Installing And Configuring OpenLDAP On Ubuntu Intrepid Ibex(Jan 16, 2009)
LDAP and Kerberos, So Happy Together(Jan 13, 2009)







View the original article here

IBM Power Systems Buyer's Guide

 

IBM Power Systems Buyer's Guide
Nov 9, 2010, 12 :04 UTC (0 Talkback[s]) (840 reads)
(Other stories by Drew Robb)

"It isn't easy selling non-x86 equipment these days. According to IDC, that side of the server market has had five quarters in a row of decline -- while at the same time the x86 segment is picking up. On the IBM side, sales weren't helped by the fact that users were waiting for a new line of products.

""IBM experienced weakness in its Power Systems and System z servers as customers waited for the completion of a product refresh cycle for both product sets," said IDC analyst Jean Bozman.

"The release of the Power7 processor this year was accompanied by a new line of Power servers, which are broken out in the table at the end of this article. Now that these are on the market, IBM Power sales should pick up.

"But another factor may have been influencing sales. Two years ago, IBM brought its System i and p product lines under the IBM Power Systems umbrella."

Complete Story

Related Stories:
Google Speeds Up the Web with Apache Web Server Module(Nov 04, 2010)
Absolutely Essential Vim/vi Commands(Nov 04, 2010)
Using Strace to Trace Problems(Oct 26, 2010)
Setting Up an Open Source Server, Firewall and Router on Endian, Part 1(Oct 22, 2010)
Cygwin, the Great Linux vs. Windows Compromise(Oct 22, 2010)
OpenStack Delivers First Release of Cloud Computing Tech(Oct 22, 2010)
Make GNU Screen Your Default Shell(Oct 18, 2010)







View the original article here

Behind KDE: Martin Eisenhardt

 

Behind KDE: Martin Eisenhardt
Nov 9, 2010, 17 :04 UTC (0 Talkback[s]) (460 reads)

"Martin Eisenhardt Ever wondered who is behind anonsvn.kde.org? Want to know what drives a person to provide that service to KDE for years and years? Martin Eisenhardt will tell you in this weeks behindkde's interview. As we speak he is setting up one of the first anongit.kde.org mirrors, which will be live later this week!

"Can you give an introduction of yourself?

"Well, I am Martin Eisenhardt, thirty-something years old, married to my lovely wife Claudia. We are living in a small town called Lauf, which is near Nuremberg, Bavaria, Germany. I hold an advanced degree in Computer Science; my favorite pastimes are programming, reading, music, hiking, and photography.

"Can you tell us what you do for a living?"

Complete Story

Related Stories:
Open Source: My Migration from Kontact to Evolution(Sep 30, 2010)
KDE SC 4.5 Falls Short(Sep 01, 2010)
keyboard shortcuts for a better workflow(Aug 26, 2010)
Talking KDE and openSUSE with Jos Poortvliet(Aug 24, 2010)
The KDE 4.5 Semantic Desktop(Aug 19, 2010)
KMyMoney Team Announces First Platform 4 Release(Aug 17, 2010)







View the original article here

The Linux Programming Interface

It's clamfs chowder time!

Ubuntu 11.04 Delayed, Release Schedule Changed

EFF Pioneer Awards 2010 - Our thank you video

The Linux Programming Interface

Behind KDE: Martin Eisenhardt

Linutop OS v4 is out

The Tools to Create Your Next Great Novel

Adding Users and Aliases for Postfix

FSFLA: Linux kernel is "open core"

The new Linux Desktop: Ubuntu's Unity


View the original article here