Inbox zero progress report

Back in January I blogged about the recurring Internet meme of achieving and maintaining Inbox Zero. I thought a couple of months later it would be useful to update you on my progress and what effect its had on my productivity. Using the technique described in my blog post I archived all of the mail in my inbox older than a couple of months. I was an early adopter of Gmail and had tens of thousands of emails in my inbox; hey, you never ever had to delete them, right! I then laboriously went through the remaining emails, deleting or archiving those I could, and actioning the ones I couldnt until my inbox was empty - yes, this did take a few hours.
   

   Using an app on my iPhone and iPad, called Mailbox, Ive found it easy and enjoyable to stay at Inbox Zero. First lets look at why Mailbox helps me maintain an empty inbox. With just a simple swipe and a click and can easily defer an email if I dont want to reply to it straight away. The defer actions (seen on the right) are reasonably self explanatory. What Mailbox does is moves emails from your inbox into folders that depending on your choice ensures that the mail will reappear in your inbox at the designated time and date.
   Ill use one of those irritating work emails that arrive in your inbox at 5:30pm on Friday afternoon to show what happens. The mail in question perhaps requires some thought or information obtained from work systems. I wont be able to physically deal with it until Monday anyway. So I defer the mail to "Next Week". Mailbox then  removes that email from my inbox and it will appear first thing Monday morning for me to action. Mail can also be easily deleted, archived and directed to specific folders (labels in Gmail) with simple gestures.
   Why then is this so helpful? Consider that friday afternoon work mail. Previously it would have been sitting in my inbox all weekend, nagging at me. Constantly reminding me it needed dealing to all weekend. Now I can totally forget about, relaxed in the certainty it will reappear next week when I can actually do something about it. This form of positive deferment is really very liberating. I action mail when I need to and defer those that I can to an appropriate time in the future: a few hours later, tomorrow, next week, in a month, a specific date, or someday (a deferment for mails that might be fun or interesting to deal with but have no priority). Maintaining inbox zero has, I think, made me more relaxed and productive.

from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

via Personal Recipe 895909

Read More..

Voice Command v2 0 for the Raspberry Pi

Voice Command 2.0 differences

Note: Updated version here
http://stevenhickson.blogspot.com/2013/06/voice-command-v30-for-raspberry-pi.html

Ive made some big changes since my last post with voice control with the Raspberry Pi.
You can now verify the keyword, change the keyword, change the response, put it in quiet mode to not talk to you, and put it in ignore mode to not try to answer questions not in your config file.
The config file format has also been changed from voice=command to voice==command, comments have been allowed in the config file by starting a line with #, and special settings can be done by starting a line with !.
Ive updated the TTS from espeak to Googles API since it sounds a lot better.
Finally, Ive made an update script in the Install folder, that way you dont have to reinstall every time new changes get pushed out to github. All of the source code is at:
https://github.com/StevenHickson/PiAUISuite

Video:

Heres a video demonstrating the new changes:


Special Options


The default special options are as follows:
!keyword==pi
!verify==1
!continuous==1
!quiet==0
!ignore==0
!filler==1
!thresh=0.7
!response=Yes sir?

response and keyword can be any string.
verify, continuous, quiet, filler, and ignore can be 1 or 0 (true or false respectively).
thresh can be any floating point number to set the appropriate volume.

Install Instructions

(this requires git)

sudo apt-get install git-core
git clone git://github.com/StevenHickson/PiAUISuite.git
cd PiAUISuite/Install/
./InstallAUISuite.sh


Update Instructions 

cd PiAUISuite
git pull
cd Install
sudo ./UpdateAUISuite.sh


Consider donating to further my tinkering



Ive also created a man page fore voicecommand. You can access it with man voicecommand. It is shown below:

voicecommand

Section: voicecommand man page (8)
Updated: 13 May 2013
Index  

NAME

voicecommand - Listen to user defined strings and run the corresponding command  

SYNOPSIS

voicecommand [OPTIONS]...  

DESCRIPTION

voicecommand was developed for the Raspberry Pi but will work on any linux system with a microphone attached. It is a crude program, which uses basic comparisons to determine if your voicecommand fits a format specified in a config file; it it does, it runs the corresponding linux command. It supports auto-completion and variables as well as command verification, a continuous mode, and other options. For help/comments/questions, feel free to e-mail me at me@stevenhickson.com. I answer sporadically but do eventually respond.
 

OPTIONS

-?
Same as -h
-b
Turns off the FILL audio. The purpose of this was because the Raspbery Pi (or mine at least) cuts off the first few seconds of audio. This flag turns that feature off. You should only be concerned with this if you hear FILL before everything it says.
-c
Makes voicecommand run in continuous mode, where it will keep listening over and over again.
-e
Edits the voicecommand config file.
The format is voice==command
You can use any character except for newlines or ==
You can also put comments if the line starts with # and special options if the line starts with a !
Default options are shown as follows:
!keyword==pi,!verify==1,!continuous==1,!quiet==0,!ignore==0,!thresh=0.7,!response=Yes sir? keyword and response accept strings. verify, continuous, quiet, and ignore except 1 or 0 (true or false respectively). thresh excepts a floating point number. These allow you to set some of the flags as permanent options (though the flags can overwrite them temporarily).
-f /my-location/config-file

This allows you to load a different config file located in a different spot. The default one is in your home directory and is ~/.commands.conf
The config file must be formatted the same way.
-h

Shows this man page.
-i

Sets the ignore mode. When this flag is activated, if a command is not in the config file, nothing happens. The default behavior is to try to find an answer or response to that question and then speak it. This turns off that behavior.
-k word

Sets the keyword. The default is pi. If this flag is set, the verify and continuous flags are also set since this is only checked during those two modes.
      Ex. voicecommand -c -v -k Jarvis

-r word

Sets the response. The default is "Yes Sir?" (For version 1.0, it was Ready?. If this response is more than one word, it should be put in quotes, otherwise it doesnt need to be
      Ex. voicecommand -r Ready?

-t #

Sets the threshold for volume to determine if the keyword was spoken. This should be a floating point number. The default value is 0.7 which works well with the Logitech C310 camera/mic from about 6 feet away.
Ex. voicecommand -t 1.2
-q

Sets quiet mode on so that voicecommand never speaks through the audio output. It still prints everything but doesnt ever respond. This includes the keyword response.
-v

Makes voicecommand verify the keyword. This only happens in continuous mode so if this flag is set, the continuous flag will be set as well. The default mode is to not verify. When voicecommand hears any sound above the threshold, it says the response then listens for a command. The default keyword is pi. When the verify flag is set, after the threshold is met, voicecommand verifies that the keyword was spoken.

AUTHOR

Steven Hickson (me@stevenhickson.com)  

BUGS

No known bugs. To report bugs, send a clear description to me@stevenhickson.comSince this program is fairly crude, user typos could cause crashes/failed responses. Please read the man page thoroughly before submitting a bug.  

COPYRIGHT

Copyright © 2013 Steven Hickson. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it as long as you give credit to the author and include this license. There is NO WARRANTY, to the extent permitted by law.  

HISTORY

This is the second major version of this program  

SEE ALSO

http://stevenhickson.blogspot.com/



Consider donating to further my tinkering
Read More..

Claude Shannons Ultimate Machine

Claude Shannon is best know for inventing digital logic, proving that boolean logic and binary arithmetic can be implemented with just AND, OR and NOT (or indeed just NAND or NOR). Not content with that discovery he went on to found the science of information theory. But perhaps his crowning achievement is the invention of the "ultimate machine" a device of cunning digital simplicity.


from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Turn off or edit this Recipe

Read More..

Creating 3D Window Effect

You can create a nice 3D effect for your windows
Start Regedit
Go to HKEY_CURRENT_USER Control Panel Colors
Make sure the following setting are there:
ButtonHilight=128 128 128ButtonShadow=255 255 255
Read More..

PowerShell v3 Insert Binary Data to ASCII File

I work with large text files on a regular basis. In this case, I needed to generate a header for each file, but, add a small snippet of binary data. The hex characters,  0x0D,0x0A,0x0C, are common control characters. In this case, I needed to add a two line text string, the control characters, then, the remaining content of an original file. My first attempts to add binary data did not fare well, so, I went back to one of my favorite links:
PowerShell Byte Array And Hex Functions
For whatever reason I had never realized the Add-Content cmdlet existed, so, I dug into that one, and, came up with this approach. In the example below I have highlighted the two key lines in yellow.
${C:DataDocuments1.txt} += file 1 content
${C:DataDocuments2.txt} +=
$content = Get-Content -Path $PWD1.txt
$header = file 2 header
[Byte[]] $binaryarray =@(0x0D,0x0A,0x0C);
Add-Content -Path "$pwd2.txt" -Value $header -Encoding Ascii
Add-Content -Path "$pwd2.txt" -Value $binaryarray -Encoding Byte
Add-Content -Path "$pwd2.txt" -Value $content
ii C:DataDocuments2.txt
The real trick here is to use a [Byte[]] array to store your binary string, then, when using Add-Content, be sure to specify -Encoding Byte 
Read More..

How to measure translation quality in your user interfaces



Worldwide, there are about 200 languages that are spoken by at least 3 million people. In this global context, software developers are required to translate their user interfaces into many languages. While graphical user interfaces have evolved substantially when compared to text-based user interfaces, they still rely heavily on textual information. The perceived language quality of translated user interfaces (UIs) can have a significant impact on the overall quality and usability of a product. But how can software developers and product managers learn more about the quality of a translation when they don’t speak the language themselves?

Key information in interaction elements and content are mostly conveyed through text. This aspect can be illustrated by removing text elements from a UI, as shown in the the figure below.
Three versions of the YouTube UI: (a) the original, (b) YouTube without text elements, and (c) YouTube without graphic elements. It gets apparent how the textless version is stripped of the most useful information: it is almost impossible to choose a video to watch and navigating the site is impossible.
In "Measuring user rated language quality: Development and validation of the user interface Language Quality Survey (LQS)", recently published in the International Journal of Human-Computer Studies, we describe the development and validation of a survey that enables users to provide feedback about the language quality of the user interface.

UIs are generally developed in one source language and translated afterwards string by string. The process of translation is prone to errors and might introduce problems that are not present in the source. These problems are most often due to difficulties in the translation process. For example, the word “auto” can be translated to French as automatique (automatic) or automobile (car), which obviously has a different meaning. Translators might chose the wrong term if context is missing during the process. Another problem arises from words that behave as a verb when placed in a button or as a noun if part of a label. For example, “access” can stand for “you have access” (as a label) or “you can request access” (as a button).

Further pitfalls are gender, prepositions without context or other characteristics of the source text that might influence translation. These problems sometimes even get aggravated by the fact that translations are made by different linguists at different points in time. Such mistranslations might not only negatively affect trustworthiness and brand perception, but also the acceptance of the product and its perceived usefulness.

This work was motivated by the fact that in 2012, the YouTube internationalization team had anecdotal evidence which suggested that some language versions of YouTube might benefit from improvement efforts. While expert evaluations led to significant improvements of text quality, these evaluations were expensive and time-consuming. Therefore, it was decided to develop a survey that enables users to provide feedback about the language quality of the user interface to allow a scalable way of gathering quantitative data about language quality.

The Language Quality Survey (LQS) contains 10 questions about language quality. The first five questions form the factor “Readability”, which describes how natural and smooth to read the used text is. For instance, one question targets ease of understanding (“How easy or difficult to understand is the text used in the [product name] interface?”). Questions 6 to 9 summarize the frequency of (in)consistencies in the text, called “Linguistic Correctness”. The full survey can be found in the publication.

Case study: applying the LQS in the field

As the LQS was developed to discover problematic translations of the YouTube interface and allow focused quality improvement efforts, it was made available in over 60 languages and data were gathered for all these versions of the YouTube interface. To understand the quality of each UI version, we compared the results for the translated versions to the source language (here: US-English). We inspected first the global item, in combination with Linguistic Correctness and Readability. Second, we inspected each item separately, to understand which notion of Linguistic Correctness or Readability showed worse (or better) values. Here are some results:
  • The data revealed that about one third of the languages showed subpar language quality levels, when compared to the source language.
  • To understand the source of these problems and fix them, we analyzed the qualitative feedback users had provided (every time someone selected the lower two end scale points, pointing at a problem in the language, a text box was surfaced, asking them to provide examples or links to illustrate the issues).
  • The analysis of these comments provided linguists with valuable feedback of various kinds. For instance, users pointed to confusing terminology, untranslated words that were missed during translation, typographical or grammatical problems, words that were translated but are commonly used in English, or screenshots in help pages that were in English but needed to be localized. Some users also pointed to readability aspects such as sections with old fashioned or too formal tone as well as too informal translations, complex technical or legal wordings, unnatural translations or rather lengthy sections of text. In some languages users also pointed to text that was too small or criticized the readability of the font that was used.
  • In parallel, in-depth expert reviews (so-called “language find-its”) were organized. In these sessions, a group of experts for each language met and screened all of YouTube to discover aspects of the language that could be improved and decided on concrete actions to fix them. By using the LQS data to select target languages, it was possible to reduce the number of language find-its to about one third of the original estimation (if all languages had been screened).
LQS has since been successfully adapted and used for various Google products such as Docs, Analytics, or AdWords. We have found the LQS to be a reliable, valid and useful tool to approach language quality evaluation and improvement. The LQS can be regarded as a small piece in the puzzle of understanding and improving localization quality. Google is making this survey broadly available, so that everyone can start improving their products for everyone around the world.
Read More..

How to Type In Gujarati ગુજરાતી

How to Type in Indian language
??????? ??? ???? ???? ????? ???? ?????.

Download Google Transliteration IME

1) Go To Above Link, Then Select Gujarati or Whatever Language You wanna Type.

2) Then Click on Download.

3) After Download Do the Following Step.

Double Click on that Download File and it will be like this

 Then Click on Next
Then wait Till Complete



Then Click on Finish

Then You will get Language bar on task bar like follow
Then Start Typing...
(This for Gujarati. Any Other language also have the same process like this process)

Configuration
If you want to use IME with any application like notepad, you must first open the application and then open our IME. IME can be opened by clicking on the language bar on the desktop and then selecting the IME language icon or through a shortcut key if its already configured. To close IME, you can change the language in language bar or try right clicking on the current application to see whether it supports Close IME popup menu option or by closing the current application.

Displaying Language Bar

  • In desktop, right click on tool bar and select Toolbars -> Language bar


Enabling Language Bar

If the Language bar option is not visible in Toolbars, then it needs to be enabled through control panel:

Windows 7/Vista
  1. Control Panel -> Regional and Language Options -> Keyboard and Languages tab
  2. Click on Change keyboards... button to open Text services and input languages dialog
  3. Navigate to Language Bar tab
  4. Enable the radio button Docked in the taskbar under Language Bar section
  5. Apply all settings and try to display language bar as mentioned in previous section.
Windows XP
  1. Go to Control Panel -> Regional and Language Options -> Languages tab -> Text services and input languages (Details) -> Advanced Tab
  2. Make sure that under System configuration, option Turn off advanced text services is NOT checked.
  3. Go to Control Panel -> Regional and Language Options -> Languages tab -> Text services and input languages (Details) -> Settings Tab
  4. Click Language Bar
  5. Select Show the Language bar on the desktop. Click OK.
  6. If you are installing the IME for East Asian language or Right-To-Left language, go to Control Panel -> Regional and Language Options -> Languages Tab
  7. Make sure that options Install files for complex scripts and right to left languages and Install files for East Asian languages are checked in the checkboxes. This requires installation of system files and the system will prompt to insert the Operating System Disc.
  8. Apply all settings and try to display language bar as mentioned in previous section.

IME Shortcut

A shortcut key sequence can be applied to the IME as follows which can be used to quickly enable IME for any in-focus application:

Windows 7/Vista

  1. Control Panel -> Regional and Language Options -> Keyboard and Languages tab
  2. Click on Change keyboards... button to open Text services and input languages dialog
  3. Navigate to Advanced Key Settings tab
  4. If Google Input is not listed in Installed Services box, then click Add and in Add Input language dialog box, go to the language for which you want to enable IME in the languages tree and expand the node. Check the checkbox next to Google Input in the list.
  5. In Hot keys for input languages Select To - Google Input
  6. Press Change Key Sequence
  7. Select Enable Key Sequence
  8. Select option like Left ALT + SHIFT + Key 1
  9. Apply all changes
  10. Now opening an application like notepad and pressing Left ALT + SHIFT + Key 1 should open the IME.
Windows XP
  1. Control Panel -> Regional and Language Options -> Languages tab -> Text services and input languages (Details) -> Settings Tab
  2. If either  or Google Input not listed in Installed Services box, then click Add and in Add Input language dialog box, select in Input language and Google Input in Keyboard layout/IME. Click OK
  3. Press Key Settings
  4. In Hot keys for input languages, Select Switch to -Google Input
  5. Press Change Key Sequence
  6. Select Enable Key Sequence
  7. Select option like Left ALT + SHIFT + Key 1
  8. Apply all changes
  9. Now opening an application like notepad and pressing Left ALT + SHIFT + Key 1 should open the IME.
???? ????? ?? ??????? ???? ??? ???-??? ????.
Read More..