Microsoft Tellme

Microsoft Tellme simplifies everyday tasks with the natural power of your voice. You can talk to your PC, tablet, phone, TV or car.

The results of the Microsoft Tellme technologies “Say it. Get it” are speech recognition and synthesis capabilities in products ranging from Xbox Kinect for fun to Microsoft Tellme IVR for customer care to Windows Phone 7 for life and work.

In Windows 7 you can use voice recognition to control your computer and to dictate and edit text. A guide how to set up your computer for this task is available at the microsoft website.

The provided technologies for business applications are Microsoft Tellme IVR and embedded speach features in Office, Lync and Exchange . Different platforms are available : cloud, server, desktop, phone.

To extend the built-in speech recognition functionality included in Windows on desktop, you can use Windows Speech Recognition Macros or, for more advanced uses, the Microsoft Speech API (SAPI).

SAPI has been an integral component of all Microsoft Windows versions since Windows 98. Microsoft Windows XP and Windows Server 2003 include SAPI version 5.1. Windows Vista and Windows Server 2008 include SAPI version 5.3, while Windows 7 includes SAPI version 5.4. Code written for SAPI 5.3 (Vista) will run on SAPI 5.4 (Windows 7) without recompiling.

People researching on Artificial Consciousness

Based mainly on the outstanding informations at the website www.Conscious-Robots.com, an updated list of people researching in the field of machine consciousness is shown below :

  • Dr. Raúl Arrabales Moreno : Assistant Professor, Computer Science Department, Computer Science and Artificial Intelligence, Universidad Carlos III de Madrid
  • Dr. Igor Aleksander : Emeritus Professor of Neural Systems Engineering in the Department of Electrical and Electronic Engineering at Imperial College London, UK; Fellow of the Royal Academy of Engineering
  • Dr Will Browne : Senior Lecturer, School of Engineering and Computer Science, Victoria University of Wellington, New Zealand
  • Dr. Antonio Chella : Head of RoboticsLab, Dipartimento di Ingegneria Informatica (DINFO), Università di Palermo, Italy
  • Dr. Ron Chrisley : Reader in Philosophy, Director, Center for Research in Cognitive Science, University of Sussex, UK
  • Dr. Axel Cleeremans : Research Director, National Fund for Scientific Research, Member of the Royal Academy of Belgium, Consciousness, Cognition & Computation Group, Université Libre de Bruxelles CP 191, Belgium
  • Dr. Stan Franklin : W. Harry Feinstone Interdisciplinary Research Professor, Cognitive Computing Research Group
    Department of Computer Science, Institute for Intelligent Systems, The University of Memphis, USA
  • Dr. David Gamez : Research Associate, Department of Computing, Imperial College, London, UK
  • Dr. Ben Goertzel : Cross-disciplinary scientist, engineer, entrepreneur, manager, writer, speaker; CTO, Genescient Corp, Irvine CA, USA; CEO and Chief Scientist, Novamente LLC, Rockville MD, USA; CEO and Chief Scientist, Biomind LLC, Rockville MD, USA
  • Steve Grand : Director, Cyberlife Research Ltd., Somerset, UK
  • Dr. Pentti O A Haikonen : Adjunct Professor, Department of Philosophy, University of Illinois at Springfield, USA
  • Owen Holland : Professor of cognitive robotics (Informatics) in the Sackler Centre for Consciousness Science at the University of Sussex, UK
  • Dr. Ray Kurzweil : entreprenuer, leading inventor, author, restless genius, ultimate thinking machine; he has received nineteen honorary Doctorates and honors from three U.S. presidents; in 2002 he was inducted into the National Inventor’s Hall of Fame in USA
  • Dr. Riccardo Manzotti : Assistant Professor in Psychology, IULM University, Milan, Italy
  • Dr. Hugo Gravato Marques : Artificial Intelligence Laboratory, Department of Informatics, University of Zurich, Switzerland
  • Dr. Michael Loren Mauldin (alias Fuzzy) :  Founder and chief scientist of Lycos ; Director of Conversive, Inc.
  • Peter Plantec : Clinical psychologist, animator, virtual human designer ; author of the book Virtual Humans; founder of Virtual Personalities, Inc. (now Conversive, Inc.) in order to create the first virtual human interface Vperson (now Verbots)
  • Dr. Uma Ramamurthy : Asst. Professor & Director of Research Informatics, Dan L. Duncan Institute for Clinical and Translational Research, Baylor College of Medicine, Houston, USA
  • Dr. Ricardo Sanz : Professor in Systems Engineering and Automatic Control and coordinator of the Autonomous Systems Laboratory research group at the Universidad Politécnica de Madrid in Madrid, Spain
  • Dr. Anil Seth : Co-Director, Sackler Centre for Consciousness Science (SCCS), University of Sussex; Reader, School of Informatics, University of Sussex; EPSRC Leadership Fellow; Visiting Professor, Dept of Psychology, University of Amsterdam
  • Dr. Murray Patrick Shanahan : Professor of Cognitive Robotics, Department of Computing, Computational Neurodynamics Group, Imperial College London, UK
  • Dr. Aaron Sloman : School of Computer Science, The University of Birmingham, UK

Virtual Assistant Denise by Guile3D

Last update : May 30, 2014

Virtual Assistant Denise

Guile 3D Denise

Guile 3D Studio, a company founded in 2001 by System Analyst, Artificial Intelligence Specialist and 3D Graphic Artist Guile Lindroth, created the advanced Virtual Assistant Denise. She comes with a real-time proprietary graphic engine, a high quality English Text to speech voice and a Voice Recognition engine. Denise works with an adaptive Artificial Intelligence Brain, based on AIML, that can learn by itself and be customized by user.

Denise was the winner of the Chatterbox Challenge 2011 in the category Best New Bot. In 2014 Denise was the winner of the 1st place in the Chatterbox Challenge..

In september 2011, Guile 3D teamed up with NeuroSky for a brainwave impulse control interface. The NeuroSky MindWave headset is the first product available for the consumer market. As a turnkey brainwave sensing headset, it uses the same bio-sensor as the Mattel MindFlex, Star Wars Force Trainer and NeuroSky’s research tool the MindSet. It measures brainwave impulses from the forehead from a position neuroscientists call FP1 with research grade precision.

In the same month, Guile 3D teamed up with EMOTIV for computer-brain control interface. Based on the latest developments in neuro-technology, Emotiv has developed a revolutionary new personal interface for human computer interaction.

In 2013 an Avatar Builder SDK was announced which was however never released up to now. In January 2014, Guile 3D Studio became NextOS. The company will now focus in the Home Automation area as well improve the Virtual Assistant Technology. In April 2014 NextOS stopped for a while the work on the desktop version Denise 2.0 to get the Home Automation and the mobile modules ready. Late May 2014, NextOS started an Alpha testing phase for Virtual Denise Mobile on iOS, Android and Windows Phone 8 platforms. For this purpose NextOS uses both TestFlight, a free platform to distribute beta and internal iOS applications to team members and .

CSS Mediaqueries

Last update : June 26, 2014

The CSS3 module that defines mediaqueries reached the W3C Recommendation status in June 2012 and offers introspection into the browsing environment based on the following factors:

  • browser dimensions (width, height and aspect-ratio)
  • device dimensions (device-width, device-height and device-aspect-ratio)
  • browser orientation
  • colour information (color, color-index and monochrome)
  • device-specific details such as its resolution, whether its display is grid or bitmap-based, and the scan type (progressive or interlaced … applicable to televisions)

Not all of these properties are currently supported, but many are. Additionally, most of them support min and max prefixes like the one used below, enabling you to tailor your queries very specifically.

@media screen and (max-width:480px) {
background-color:red;
font-size:1.5em;
}

This set of styles is only applied to a screen which is 480 pixels wide or less.

A mediaquery test capabilities, not individual devices or browsers, so it’s future proof. There is no redirection to a different page, it’s one page for all. The mediaquery is tested before any assets are downloaded, saving bandwith and speeding up the display.

Some useful tutorials about mediaqueries are listed hereafter :

HTML5 Structure : Semantic Webdesign

Last update : August 30, 2012

HTML5 is work in progress and is going to stay that way for some time, but that’s no reason not to start using it right now. HTML5 added some very important new, semantic elements. To care for older browsers, use graceful degradation techniques. To be up to date with the latest trends, use progressive enhancement technologies.

HTML5 is not based on SGML, and therefore does not require a reference to a DTD.

The website When can I use provides compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers.

The following list provide links to some useful blogs and tutorials about HTML5 :

The following list provide links to some useful HTML5 tools :

 

airbnb : a community marketplace for unique spaces

airbnb website

Airbnb connects people who have space to spare with those who are looking for a place to stay. Guests can build real connections with their hosts, gain access to distinctive spaces, and immerse themselves in the culture of their destinations. Whether it’s an urban apartment or countryside castle, Airbnb makes it effortless to showcase your space to an audience of millions, and to find the right space at any price point, anywhere.

The following topics are published ont the Airbnb website: about, news, blog, golden rules, testimonials, press, safety, founding team, contact, help, affiliates.

Fiddler : Web Debugging Proxy

Last update : May 22, 2015

Building web applications is hard work and most people remain unaware of how their web application is interacting with the web browsers that their clients have installed. Fiddler,  a free web debugging proxy created by Eric Lawrence, helps to simplify the analysis process substantially by logging all HTTP(S) traffic between your computer and the Internet. Fiddler is a transparent proxy that automatically adds itself to the WININET chain so that it can see every request being made. It logs those requests and the responses to allow you to see what is working and what isn’t working.

Fiddler allows you to inspect all HTTP(S) traffic, set breakpoints, and “fiddle” with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language. Fiddler is freeware and can debug traffic from virtually any application, including Internet Explorer, Mozilla Firefox, Opera, and thousands more.

The developper, Eric Lawrence, was Security Program Manager at Microsoft for Internet Explorer. After over a decade of working on the web for Microsoft, Eric joined Telerik in October 2012 to enhance the Fiddler Web Debugger on a full-time basis. Telerik is devoted to making software development easier and more fun and has committed to keeping Fiddler free and expanding its value by further investing into the tool.

A quick summary of getting started with Fiddler has been published at Developer.com. A detailed documentation is available at the Fiddler website. A discussion forum and a developer section are available at the same site. Various addons and third-party extensions have been developped.

Fiddler can be configured to analyse the http traffic of iPad’s, iPhone’s and other web devices.

A simular tool called Charles is available for Mac Computers.

Some related tutorials about Fiddler and HTTP debugging are listed hereafter :

Time to Live (TTL) of objects on Amazon Cloudfront

Time to live (TTL) is mechanism that limits the lifespan of data in a computer or network. In HTTP, TTL is expressed in the response header as a date and time on which a record expires.

On Amazon Cloudfront, the default TTL is 24 hours. In April 2010, Amazon Cloudfront announced that it will honor shorter TTL’s down to one hour. The HTTP header can be set in the Amazon AWS Management Console.

To refresh a specific file on Amazon Cloudfront, you can use the Invalidation API. The Bucket Explorer has a UI that makes Invalidation pretty easy. Informations about an Amazon CloudFront – PHP Invalidator are availble at the subchild website.

screen.width & screen.height for iOS devices

You can detect the screen dimensions of a web device via JavaScript by using screen.width and screen.height.

For an iPad one would think that screen.width would be 768 when being held vertically and 1024 when held horizontally. However, screen.width is always 768 regardless of the way you’re holding the iPad; likewise, screen.height is always 1024. The same is true for the iPhone/iPod Touch. screen.width is always 320 and screen.height is always 480.

The iOS devices support however the window.orientation property, so if necessary, you can use that to determine if the user is in horizontal or vertical mode.

  • window.orientation is 0 when being held vertically
  • window.orientation is 90 when rotated 90 degrees to the left (horizontal)
  • window.orientation is -90 when rotated 90 degrees to the right (horizontal)

There is also the orientationchange event that fires on the window object when the device is rotated.

The mediaquery “orientation” works also in current versions of Safari and Firefox on a desktop machine. Simply change the size of your browser window until the height is longer than the width and you get “portrait”.

CSS Positioning

Last update : November 24, 2014

The layout properties available in CSS are :

  • position : static
  • position : relative
  • position : absolute
  • position : fixed
  • float : left or float : right

The default CSS positioning for all elements is position:static; the element is not positioned and occurs where it normally would in the document. With position:relative, elements are moved relative to where it would normally occur in the document with the parameters top, bottom, right or left. With position:absolute, the element is removed from the document and placed exactly where the parameters top, bottom, right or left tell it to go.

A combination of a relative and absolute positionned div’s allows to make a two-column layout. An advantage to using absolute positioning is that we can position the elements in any order on the page, regardless of the order they appear in the HTML. A disadvantage is that other elements are obscured by the absolutely positioned elements. This can be avoided if a fixed height is set on the absolute positionned elements, but if the text displayed in this element is longer or the font size is changed, new problems appear. A better solution for variable height columns is to float an element to push it as far as possible to the right or to the left, and allow text to wrap around it. Two elements floated to the same side will push up against each other. To push down the rest of the content the floats can be cleared after the floating elements.

Position:fixed behaves like position:absolute, but it will position an element in reference to the browser window as opposed to the web page. Fixed elements should stay exactly where they are on the screen even when the page is scrolled.

There is a divide between web designers saying you should use absolute positioning and web designers saying you should use floats, both claiming that the other method breaks faster. Both are right, it depends on the situation. There is a simple rule :

If elements should not interact, use absolute positioning, if they should, use floats.

Another benefit of floats is the progressive downloading; as the text is loaded it is displayed onto the page immediately.

Links to examples of layouts with different positionned elements are listed hereafter ( look at the sourcecode of the webpages to view the CSS code) :

Links to some useful tutorials about CSS positioning are shown in the following list :