Maze Games with Perl Modules from CPAN

As stated on CPAN [1] the perl module Games::Maze creates mazes. You can create 3-dimensional rectangular or hexagonal mazes and then manipulate maze objects using the available methods.

This module has to_ascii() method that allows to print maze view from command prompt or get the string which will describe the maze. The new line in this string will separate rows of the maze. The walls will be marked some characters like underscore and “:”.

There is also another module Games::Maze::SVG [2] which can build mazes in SVG using Games::Maze. The Games::Maze::SVG module supports the creation of 2-dimensional mazes in an SVG format suitable for printing or playing interactively.

So if you like creating maze perl has modules to make this job very easy.

1.Games::Maze

2.Games::Maze::SVG



Bollinger Bands

Bollinger Bands – are advanced technical indicators that consist of three curves: [1]
1. an N-period moving average (MA). Usually simple moving average (SMA)
2. an upper band at K times an N-period standard deviation above the moving average (MA + Kσ), K is usually 2 and N is usually 20 days.
3. a lower band at K times an N-period standard deviation below the moving average (MA − Kσ)

SMA smoothes a data series and makes analyzing volatile data easier. There are different types of MA:
Exponential Moving Average
Simple Moving Average
Triangular Moving Average
Weighted Moving Average
Triple Exponential Moving Average

You can find how to calculate the above MAs at [2]. Bollinger Bands provide a relative definition of high and low. Stockcharts.com has explanation article how to use Bollinger Bands. It also shows examples of signals.

So what follows from many articles about Bollinger Bands that Bollinger Bands technical indicators are powerful tool for technical analysis. If you are interesting to calculate Bollinger Bands in MS Excel you can use instructions for formulas in [5].

References:

1. Bollinger Bands From Wikipedia, the free encyclopedia

2. Moving Averages

3. Advanced Technical Indicators – Bollinger Bands

4. Bollinger Bands

5. Bollinger Band Calculation in MSExcel



The Future of Computers and Artificial Intelligence

(Featured Article by Freelance Writer Dario Borghino, graduate in telecom and software engineering)

In the last 50 years, the advent of computer has radically changed our daily routines and habits. From huge, roomy, terribly expensive and rather useless machines, computers have managed to become quite the opposite of all the above, seeing an exponential growth in the number of units sold and, stunningly, usability as well. If all of this happened in the first 50 years of computer history, what will happen in the next 5 decades?

Moore’s Law is an empirical formula describing the evolution of computer microprocessors which is often cited to predict future progress in the field, as it’s been proved quite accurate in the past: it states that the transistor count in an up-to-date microprocessor will double each time every some period of time between 18 and 24 months, which roughly means that computational speed grows exponentially, doubling every 2 years.

But we already have fast computers working with complex applications requiring fairly sophisticated graphics with acceptable CPU usage: so, once we get there, what could we use all of that calculating power for?

In the newborn science of computer algorithms, there is a class called ‘NP-hard problems’ which are also sometimes referred to ‘unacceptable’, ‘unsustainable’ or ‘binomially exploding’. Those are a group of algorithms whose complexity grows exponentially with time. An example of NP-hard algorithm is the one of finding the exit of a labyrinth: it doesn’t require much effort if you only find one crossing, but it gets much more demanding in terms of resources when the crossings become 10, 100, 1000, until the point where it becomes either impossible to compute because of limited resources, or computable, but requiring an unacceptable amount of time.

Many, if not all, of the Artificial Intelligence related algorithms are now nowadays extremely demanding in terms of computational resources (they are either NP-hard or anyhow involve combinatorial calculus of growing complexity), in addition to the fact that, in the AI domain, an ‘acceptable time’ to return an answer is much shorter than many other cases — you want the machine to be answering stimuli as quickly as possible to make it effectively interact with the world around it. Therefore, while it wouldn’t be a definitive solution, the constant progress in terms of computational power could boost the progress in the fields of AI in a very significant way.

Will we ever be able to accomplish a general purpose artificial intelligence? It’s probably too early to answer, but certainly, if we look at the results of todays technology, they look more than encouraging.

Different companies are working on different aspects of this technological dream: Honda is probably the most advanced in terms of mobility and coordination, with their ASIMO robot series, while if we look at the software side, the two most advanced companies are probably CyCorp for their impressive knowledge-based language recognition engine, and Novamente in terms of general intelligence. How long until we see concrete results, then? CyCorp spokesmen say they are confident they will be able to build a ‘usable’ general purpose intelligence using their language recognition engine within 2020, while others talk more realistically about 2050.

It would be hard, or rather impossible, to say who (if any) is right, but what seems certain in today’s situation is that the AI industry is still too fragmented, we are still missing a centralized coordinator who might be able to integrate the varied and highly diversified technologies of today in a single creature, which right now seems the only possible way to meaningfully accelerate the progress of this industry.



Goal Tracking Software

In this post we will look at goal tracking software. Some is free, some is not, some is available online as the web service for free or small monthly fee and some needs to be downloaded and installed. The review can help to choose right tool for your goal setting needs.

1. GoalEnforcer – Visual Goal Setting Software helps to develop your ideas, track your tasks, start planning immediately , boost your productivity, visualize your goals and accomplish more. GoalEnforcer software can be downloaded for Windows and MAC OS. The download includes goal setting tutorial. There are several levels with different prices and features. This software can be applied to many goal setting related tasks such as project management , To Do list, task list, task manager, checklist, planner, brainstorming and many more.

2. Joes Goals – is a simple online tool to keep track of goals. It is 100% free. No download is required. It can be shared with your friends, have as many goals as you want, show track of your progress by using daily score, track your successes and failures through logbook.

3. 101 SMART goals – is a free online goal setting and goal tracking tool which helps to set goals, track or focus on goals.

4. Google calendar – is online free tool provided from Google. Several posts on the web describe how to use Google calendar for goal tracking purposes. Google Calendar as a To Do List & Task Management App Goal Setting Using Google Calendar How to use Google Tasks in Calendar

5. Weekly planner is online web service. The creation of it was inspired by the ‘7 Habits of Highly Effective People’. WEEK PLAN helps thousands of users be more effective. There is also opportunity to create application on top of week plan software using API

Thus there many different tools with different features and functionality and we looked at some of them at this post.



Charting with HTML5

One of the new and exciting features of HTML5 is the ability to build chart without any plugin or server side programming. This can be done using the canvas element and some javascript coding. The Canvas is the HTML5 element and allows to draw graphics, 2D shapes on the web page using javascript. Google Chrome supports now HTML5, some other browsers may have problems with supporting HTML5 as of the time of this writing.

Here is the code example of canvas. The example is just drawing one line from (10,10) to (80,80). The output is shown under the code box.



The good resource on HTML5 canvas tag is w3schools.com

Here is one more link if you want learn more on canvas element in HTML5. http://thinkvitamin.com/code/how-to-draw-with-html-5-canvas/ How to Draw with HTML 5 Canvas   By Jamie Newman

There are many different ways to do charting due to different javascript libraries:

RGraph: HTML5 Javascript charts library RGraph is a HTML5 Javascript charts library. Using the new HTML5 canvas tag, RGraph creates Javascript charts in the web browser.  RGraph supports over twenty different types of Javascript charts, including fuel gauges,  thermometer charts, waterfall charts. It is very cool looking charts, but there is one time fee for commercial usage.