Apr 062019



Virtual nixie tube (digitron) display – DHTML component library

© 2007-08 Čestmír Hýbl <cestmir.hybl@nustep.net>

Current date (NixieDisplay example)

Current time (NixieClock example)

Calculator (NixieCalculator example)

(just type expressions on keyboard as on any basic electronic calculator)
[q] sqrt   [Q] sqr   [^] pow   [m] +/-   [p] PI   [Enter] =   [Esc] clear


This DHTML component collection was developed for fun and is meant as tribute to nixie tube display era.


  • object-oriented JavaScript, DHTML, CSS
  • simple, well-designed API
  • fully customizable (custom glyph matrix images, between-digit gaps, custom character support using configurable map from char to glyph index)
  • decimal separator support via separate glyph matrix row
  • should be compatible with any modern browser (tested in IE 6.0, FF 2.0, Opera 8.5)


  • included nixie glyphs were taken using real nixie tubes (Philips ZM1080, Tesla ZM1082, RFT Z573M). Decimal point and minus signs were added artificially for devices not containing them.
  • components are not limited to emulate nixie-looking displays, glyphs containing any sign types can be used


(suppose you have package archive extracted in ./nixie directory)

1. include library in head section of the page:

    <script type="text/javascript" src="nixie/nixie.js"></script>

2. drop some box element to serve as display container:

    <div id="nd1"></div>

3. instantiate and use component:

    <script type="text/javascript">
      var nd = new NixieDisplay();
      nd.id = 'nd1';
      nd.charCount = 12;
      nd.urlCharsetImage = 'nixie/nixie/zm1082_l1_09bdm_62x150_8b.png';
      nd.charWidth = 62;
      nd.charHeight = 150;
      nd.charGapWidth = 5;
      nd.align = 'right';


Explore library and this demo page sources for more info.


  • nixie_display_20080214a.zip [1032 kB]
    • DHTML component package (including several screen-resolution glyph matrices)
    • changelog:
      2012-10-08 rev. 20080214a: Calculator: Chrome [Esc] handlig bug fix
  • nixie_display_fullres_glyphs_20080214.zip [8.9 MB]
    • high-resolution photos of nixie tube signs, useful for creating custom resolution glyphs
    • tips:
      • when resampling whole matrix, keep in mind, that each single contained glyph must be of same dimensions and both it’s width and height must be integer number – i.e. total matrix image width has to be divisible by 12 and (at the same time) total height by 2 (this would eventually require a slight change of aspect ratio)
      • use anti-aliased algorithm to resample glyphs
      • consider applying decent sharpen effect after resampling to emphasize edges, blured by resampling
      • consider saving resulting glyph matrix as optimized indexed color (paletted) image to reduce size. Don’t use lossy format (JPEG) to save low resolution glyphs.
      • bitmap editor, supporting scripts and batch operations is useful for preparing custom glyph sets


Free for non-commercial use only. Copyright and project URL has to be preserved.

(this holds for both the code and the images)


[1] Wikipedia: Nixie tube
 Posted by at 5:10 pm
Feb 132019



BCD Arithmetic, a tutorial

Part of the Arithmetic Tutorial Collection 
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

Copyright © 1999, Douglas. W. Jones, with major revisions made in 2002. This work may be transmitted or stored in electronic form on any computer attached to the Internet or World Wide Web so long as this notice is included in the copy. Individuals may make single copies for their own use. All other rights are reserved.


 Posted by at 5:41 am
Jan 092016



export JAVACMD=/opt/jdk1.8.0_65/bin/java


Teaching optics with a Raspberry Pi

Posted by organtin in Raspberry Pi on Oct 6, 2015 3:44:37 PM

Raspberry Pi is a great tool for teaching. Its affordable price makes it appealing for students and teachers that can make interesting “experiments” without spending a fortune.


The understanding of optics requires lot of geometry, but equations are deeply understood only by a small number of students. Drawings may help, but making them requires some ability and precision. Needless to say, in most cases, the result is static and, in order to understand what happens in different conditions, require to realise many drawings.


A very interesting alternative is using an application called GeoGebra that can be downloaded for free from the Internet. Interesting enough, GeoGebra runs on Raspberry Pi. Every student, then, can do his/her own experiment with optics using GeoGebra. See this post to learn how to install it (quite simple, in fact; the only tricky part being installing the Java virtual machine). In short, download the arm version of the Java VM fromhttp://jdk8.java.net/fxarmpreview/index.html, then issue the following commands in a terminal


sudo apt-get update
sudo apt-get install geogebra
sudo apt-get install geogebra-gnome
mkdir -p /opt 
sudo tar zxvf (name of package) -C /opt 
rm (name of package) 
sudo /opt/jdk1.8.0/bin/java -version
export JAVACMD=/opt/jdk1.8.0/bin/java
 Posted by at 12:53 pm
Jan 072016
 Posted by at 2:49 pm
Oct 202014


Free Awesome Website Templates.

Hello, welcome to styleshout. This site offers a collection of beautifully handcrafted html5 and css3 website templates – free of charge!

Looking for free high-quality website templates? You’ve come to the right place! There are many free template providers out there but what makes us different is that we focus more on the quality of our designs. We promise that here you’ll find some of the best free templates on the web. Thanks for dropping by. Enjoy your stay!

 Posted by at 12:55 pm
Jan 292014


odrive makes file servers useful again

odrive installs on your Windows or Mac file server. You invite users to link to your server with a simple email. Invitees get an instant-on desktop folder that keeps them connected to their content.

3 db website images
odrive lets you quickly browse entire directories of your storage and sync the files you need with a double click. Once your content is synced, you can access everything anytime, even when you’re offline! odrive keeps you up-to-date whether you’ve update the file on another machine or if you’re collaborating with others.

 Posted by at 8:17 am
Dec 022013


Read more: http://www.raymond.cc/blog/permanently-delete-and-remove-sensitive-files-to-prevent-data-recovery/#ixzz2mKkoyvyk

 Posted by at 4:00 pm
Oct 032013


Keyboard shortcuts

Keyboard shortcuts help you save time by allowing you to never take your hands off the keyboard to use the mouse. You’ll need a Standard 101/102-Key or Natural PS/2 Keyboard to use the shortcuts.

Tip: Press ? in Gmail to see a list of keyboard shortcuts.

Some keyboard shortcuts can be used immediately, and others need to be enabled before you can use them.

Shortcuts that are always turned on

These navigational and formatting shortcuts all work whether or not you’ve enabled the keyboard shortcuts setting.

Use arrow keys to view messages and start composing

While viewing your messages, use your keyboard’s arrow keys to move your cursor to a conversation, label or the compose button. Press Enter to select.

Move between messages in a conversation

While viewing a conversation, use n and p to go the next and previous messages in a conversation thread. Hit Enter to open or collapse a message.

Navigate in compose

Use the following combinations of keys when you have compose windows or chats open.

Shortcut Key Definition Action
Ctrl + Enter
Mac: + Enter
Send message After composing your message, use this combination to send it.
Ctrl + .
Mac: + .
Advance to next window Use this shortcut to move the cursor to the next chat or compose window, or to the main window.
Ctrl + ,
Mac: + ,
Go to previous window Use this shortcut to move the cursor to the previous chat or compose window, or to the main window.
Ctrl + Shift + c
Mac: + Shift + c
Add Cc recipients While composing, takes you to the Cc field to add new recipients.
Ctrl + Shift + b
Mac: + Shift + b
Add Bcc recipients While composing, takes you to the Bcc field to add new blind recipients.
Ctrl + Shift + f
Mac: + Shift + f
Change “from” address While composing, takes you to the From field to change your sending address. This shortcut only works if you have configured additional sending addresses.

To format your text quickly, check out these formatting shortcuts.

Shortcuts that need to be turned on

Before you can use these keyboard shortcuts, you’ll need to enable keyboard shortcuts in your settings:

  1. Click the gear in the top right and select Settings.
  2. Find the “Keyboard shortcuts” section and select Keyboard shortcuts on.
  3. Click Save Changes at the bottom of the page.
Shortcut Key Definition Action
c Compose Allows you to compose a new message. Shift + c allows you to compose a message in a new window.
d Compose in a new tab Opens a compose window in a new tab.
/ Search Puts your cursor in the search box.
k Move to newer conversation Opens or moves your cursor to a more recent conversation. You can hit Enter to expand a conversation.
j Move to older conversation Opens or moves your cursor to the next oldest conversation. You can hit Enter to expand a conversation.
n Newer message In ‘Conversation view’, moves your cursor to the newer message. You can hit Enter to expand or collapse a message.
p Previous message In ‘Conversation view’, moves your cursor to the older message. You can hit Enter to expand or collapse a message.
` Go to next inbox section If you use an inbox style with tabs or sections, you can quickly navigate to the next section.
~ Go to previous inbox section If you use an inbox style with tabs or sections, you can quickly navigate to the previous section.
o or Enter Open Opens your conversation. Also expands or collapses a message if you are in ‘Conversation View.’
u Return to conversation list Refreshes your page and returns you to the inbox, or list of conversations.
e Archive Archive your conversation from any view.
m Mute Archives the conversation, and all future messages skip the Inbox unless sent or cc’d directly to you. Learn more.
x Select conversation Automatically checks and selects a conversation so that you can archive, apply a label, or choose an action from the drop-down menu to apply to that conversation.
s Star a message or conversation Adds or removes a star to a message or conversation. Stars allow you to give a message or conversation a special status.
+ Mark as important Helps Gmail learn what’s important to you by marking misclassified messages. (Specific to Priority Inbox)
Mark as unimportant Helps Gmail learn what’s not important to you by marking misclassified messages. (Specific to Priority Inbox)
! Report spam Marks a message as spam and removes it from your conversation list.
r Reply Replies to the message sender. Shift + r allows you to reply to a message in a new window. (Only applicable in ‘Conversation View.’)
a Reply all Replies to all message recipients. Shift + a allows you to reply to all message recipients in a new window. (Only applicable in ‘Conversation View.’)
f Forward Forwards a message. Shift + f allows you to forward a message in a new window. (Only applicable in ‘Conversation View.’)
Esc Escape from input field Removes the cursor from your current input field.
Ctrl + s
Mac: + s
Save draft Saves the current text as a draft when composing a message. Hold the Ctrl/⌘ key while pressing s and make sure your cursor is in one of the text fields — either the composition pane, or any of the To, CC, BCC, or Subject fields — when using this shortcut.
# Delete Moves the conversation to Trash.
l Label Opens the Labels menu to label a conversation.
v Move to Moves the conversation from the inbox to a different label, Spam or Trash.
Shift + i Mark as read Marks your message as ‘read’ and skip to a newer message.
Shift + u Mark as unread Marks your message as ‘unread’ so you can go back to it later.
[ Removes from current view and previous Removes the current view’s label from your conversation and moves to the older one.
] Removes from current view and next Removes the current view’s label from your conversation and moves to the newer one.
{ Archive and previous Archives the current conversation and moves to the older one.
} Archive and next Archives the current conversation and moves to the next one.
z Undo Undoes your previous action, if possible (works for actions with an ‘undo’ link).
Shift + n Update current conversation Updates your current conversation when there are new messages.
q Move cursor to chat search Moves your cursor directly to the chat search box.
y Remove from Current View* Automatically removes the message or conversation from your current view.

  • From ‘Inbox,’ ‘y’ means Archive
  • From ‘Starred,’ ‘y’ means Unstar
  • From ‘Trash,’ ‘y’ means Move to inbox
  • From any label, ‘y’ means Remove the label

* ‘y’ has no effect if you’re in ‘Spam,’ ‘Sent,’ or ‘All Mail.’

. Show more actions Displays the ‘More Actions’ drop-down menu.
, Moves cursor to the first button in your Gmail toolbar Displays the ‘More Actions’ drop-down menu.
Ctrl + Down arrow
Mac: + Down arrow
Opens options in Chat
  • Ctrl/⌘ + Down arrow moves from edit field in your chat window to select the ‘Video and more’ menu
  • Next, press Tab to select the emoticon menu
  • Press Enter to open the selected menu
k Move up a contact Moves your cursor up in your contact list
j Move down a contact Moves your cursor down in your contact list
o or Enter Open Opens the contact with the cursor next to it.
u Return to contact list view Refreshes your page and returns you to the contact list.
e Remove from Current Group Removes selected contacts from the group currently being displayed.
x Select contact Checks and selects a contact so that you can change group membership or choose an action from the drop-down menu to apply to the contact.
Esc Escape from input field Removes the cursor from the current input
# Delete Deletes a contact permanently
l Group membership Opens the groups button to group contacts
z Undo Reverses your previous action, if possible (works for actions with an ‘undo’ link)


Use the following combinations of keys to navigate through Gmail.

Shortcut Key Definition Action
Tab then Enter Send message After composing your message, use this combination to send it.
y then o Archive and next Archives your conversation and moves to the next one.
g then a Go to ‘All Mail’ Takes you to ‘All Mail,’ the storage site for all mail you’ve ever sent or received (and have not deleted).
g then s Go to ‘Starred’ Takes you to all conversations you have starred.
g then c Go to ‘Contacts’ Takes you to your Contacts list.
g then d Go to ‘Drafts’ Takes you to all drafts you have saved.
g then l Go to ‘Label’ Takes you to the search box with the “label:” operator filled in for you.
g then i Go to ‘Inbox’ Returns you to the inbox.
g then t Go to ‘Sent Mail’ Takes you to all mail you’ve sent.
* then a Select all Selects all mail.
* then n Select none Deselects all mail.
* then r Select read Selects all mail you’ve read.
* then u Select unread Selects all unread mail.
* then s Select starred Selects all starred mail.
* then t Select unstarred Selects all unstarred mail.

How helpful is this article:

Please tell us why you didn’t find this answer helpful:

* Required field
 Posted by at 8:21 pm
Jul 172013


Windows Sysinternals

The Sysinternals web site was created in 1996 by Mark Russinovich and Bryce Cogswell to host their advanced system utilities and technical information. Whether you’re an IT Pro or a developer, you’ll find Sysinternals utilities to help you manage, troubleshoot and diagnose your Windows systems and applications.

Get up to speed fast!

Sysinternals Live

Sysinternals Live is a service that enables you to execute Sysinternals tools directly from the Web without hunting for and manually downloading them. Simply enter a tool’s Sysinternals Live path into Windows Explorer or a command prompt as http://live.sysinternals.com/<toolname> or  \\live.sysinternals.com\tools\<toolname>.

You can view the entire Sysinternals Live tools directory in a browser at http://live.sysinternals.com.

What’s New What's New

What’s New (June 20, 2013)

 Posted by at 7:29 pm
Jun 272013


Learn Lua in 15 Minutes

more or less

-- Two dashes start a one-line comment.

     Adding two ['s and ]'s makes it a
     multi-line comment.

-- 1. Variables and flow control.

num = 42  -- All numbers are doubles.
-- Don't freak out, 64-bit doubles have 52 bits for
-- storing exact int values; machine precision is
-- not a problem for ints that need < 52 bits.

s = 'walternate'  -- Immutable strings like Python.
t = "double-quotes are also fine"
u = [[ Double brackets
 Posted by at 8:26 pm
Mar 272013

JavaScript Graphics Library (JSGL)

JSGL is an Open-Source, browser independent 2D vector graphics library for JavaScript.

It is designed for, and well tested on most major web browsers:


Internet Explorer 6.0+,

Firefox 3.0+,

Opera 9.0+,

Safari 3.0+,

Google Chrome

It provides a well-designed, object-oriented API for creating interactive graphics applications in JavaScript.

In integrates VML/SVG vector markup languages. However, the API provided is cross-browser, leaving all the hard work to JSGL.

Drawing interactive graphics in JavaScript has never been easier :-D

JSGL 2.0 Released!


What JSGL 2.0 offers?

  • well-designed, browser-independent API for working with dynamically updatable graphic shapes, such as
    • line, polyline, Bezièr curve,
    • rectangle, circle, ellipse, polygon,
    • raster image, text label, group,
    • general SVG path,
  • support for mouse events, allowing you to create interactive Web 2.0 applications,
  • tools for animation of shapes, and other utilities,
  • JSGL is FREE of charge and can also be used in commercial applications under the terms of LGPLv3 license.



 Posted by at 10:40 am
Mar 132013

Formatting HTML for Kindle

last update: 29.2.2012 – Dictionary support

Why another page about Kindle ?

After buying Amazon Kindle and reading a couple of books on it I began to use the Kindle also for creating my own documents.

I found some information about preparing documents for Kindle here and there and I realized that the best way of formatting document for Kindle is using HTML markup language which is the internal represenation of mobi-pocket documents used by Kindle. Kindle uses a subset of the HTML 3.2 and CSS so that no exotic HTML techniques will be needed.

 Posted by at 6:48 am
Mar 062013

Python for Beginners

Lesson 1 : Introduction to Python – Overview
Welcome to the LearnStreet beginner course on Python. The Python programming language is a high level programming language that is used in a wide spectrum of applications — from web design and game programming to scientific research. Its simple and flexible syntax makes it easy to learn and understand, but still powerful and expressive. By the end of this course, you’ll have a solid understanding of the Python language, and be able to complete some cool projects in the Code Garage section. Keep in mind this course uses Python version 2.7. Python 2.7 is more widely used in industry, and therefore more valuable to learn. The most recent version is 3.2, which has some key syntax differences. We have designed this course for people who have no prior programming background. In this course, we will teach you some fundamental programming concepts through Python. Throughout this course, you will write code to apply what you’ve learned to solve programming problems. In addition to the instructional course content, you will be working towards building an event planner in Python which will be fully functional and ready for you to use by the end of this course. Now, click on the big black box – the Python interpreter – below this to start coding away!
Have a question?

lesson badge Python for Beginners

You have completed 0/9 lessons in this course
Lesson 1: Introduction to Python
 Posted by at 8:06 pm