Like what you see? Comment, Follow, and Subscribe!
Showing posts with label Information Technology. Show all posts
Showing posts with label Information Technology. Show all posts

Monday, July 5, 2010

Keyboard Layouts


This page has moved!  Access the updated post by clicking above.  In the interest in preserving the information integrity of the Internet (1), the original post is still available below.

(1) Tim Berners-Lee would be proud.

======================================================

QWERTY is not the final word on keyboard layouts!

The standard English QWERTY layout is very poorly designed.  When one looks at the letters in the 'Home Row' (A-S-D-F-J-K-L-;), it's probably not too hard to believe that less than one-third of your typing is going to take place on these keys.  This is significant, because these are the key that do not require you to move your fingers to strike them!  The result is that the English typing speed is significantly slower than it could be, if the keyboard had been organized to put the most-used keys on the Home Row.  This layout is purely an historical artifact, and was designed to conform to the needs of 1890's typewriter technology, which would often jam if two adjacent keys were struck rapidly in succession.

The best example of a keyboard that actually makes sense is probably the Turkish layout:

The language uses the Turkish Latin alphabet, and therefore requires its own dedicated keyboard.  The layout was developed in collaboration with the Turkish Language Institute with the goals of maximizing use of the Home Row, locating the other often-used keys in places that are anatomically easiest and fastest to strike, and evenly distributing the typing load between the left and right hands.  These design criteria have resulted in the most efficient keyboard layout to-date; the fastest Turkish typists regularly outpace the fastest typists in the rest of the world.

The English-language user has not been left out!  The Dvorak layout, named after inventor August Dvorak and commonly known as the American Simplified Layout (ASK), has sought to correct some of the issues with the standard English QWERTY layout.  The Home Row (A-O-E-U-H-T-N-S) actually makes sense, and maximum typing speed is increased.  The Dvorak layout is standard enough that it comes installed with most modern operating systems, so making the layout switch is fairly straightforward.  The downside?  You have to learn it, which takes time.  Websites like Dvorak Keyboard Training provide interactive practice to get you moving in the right direction.

What if you're learning another language?  You have several options: learning the obnoxious Unicode input codes, settling for 'ss' and 'ae' when you really mean ß and ä, or... changing your keyboard layout.  There are very many keyboard layouts currently available, so it's just a matter of figuring out exactly what you're looking for and changing some operating system settings (you do NOT need to buy a new keyboard!).

Take the standard German layout, for instance: it is based on the English QWERTY, but with Y and Z switched and quite a few changes to the locations of the symbols and other miscellaneous things.  It includes the German-specific characters (Ö-Ä-Ü-ß) and an increased number of dead keys (keys that change the function of the other keys, like SHIFT).  There are two dead keys for accented characters (á, ê, í); while these characters aren't actually used in Germany, a European German user is very likely to deal with Spanish, French, and other languages that do.  Not surprisingly, this layout comes standard with all operating systems, and making the layout switch to German is very straightforward.

...but I just said that QWERTY (or QWERTZ in this case) is slow!  Never fear; the Neo Users Group has created the German equivalent to the Dvorak layout.  This doesn't ship with most operating systems, but installation is pretty straightforward if you follow the directions on their website.  Can't read the website?  If you don't know German, why are you trying to install a modified German layout?!

Most modern operating systems allow for rapid switching between the different keyboard layouts that you have installed.  In Windows 7, for instance, you can rapidly switch between multiple input languages and keyboard layouts by clicking on the little icons that appear in the system taskbar:
Do you have any experience with alternative keyboard layouts?  Do you think keyboard layout makes a difference to typing speed?  Would you be willing to try a new layout?  Comment!

Thursday, June 10, 2010

Laptop Overheating

My Dell Inspiron 6400 laptop has been getting slower and slower since I first purchased it new around three years ago.  I had assumed that this was due to the inevitable degradation of Windows Vista, but a fresh reinstall of Windows 7 didn't help.  When I burned myself on the bottom panel of the laptop, that was a pretty good indication that I should check for an overheating problem.

I installed I8kfanGUI, a handy little program for monitoring Dell Inspiron, Latitude, and Precision laptop temperatures, fan speeds, and CPU speeds and loads.  It allows you to manually control the speed of the laptop fan; I used this to max the fan speed, hoping to bring the processor core temperatures down to something reasonable.  Under high load, temperatures were still staying as high as 85C, and the laptop's performance was suffering as Windows automatically 'throttled' the processor speed to keep the temperatures from continuing to increase.

Time for more drastic measures.  Using this helpful guide to disassembling a Dell Inspiron laptop, I completely took the machine apart.  Inside: giant dust bunnies, completely clogging up the heatsinks at the end of the heatpipes that cool the CPU and GPU.  These could not have been removed simply by blowing some canned air through the external vents on the laptop; I had to use tweezers to dig out them out.  The fan was still spinning, but the air wasn't getting where it needed to go to keep things cool.

Success!  I reassembled everything, fired it up, and the load temperatures were down into the 60's.  Still pretty warm, but no CPU throttling and no performance loss.

Loss of computer performance over time is NOT normal.  If a fresh install of a stable operating system doesn't solve the problem, heat management may be the issue.  A computer is just like any other piece of machinery, and a little routine maintenance can make all the difference.  It can be a real pain to take a laptop apart and put it back together again, but an hour of effort can make it usable again.

Wednesday, May 5, 2010

Analyzing the global psyche with Google

{Query} [Google-Recommended Completion]

{How to}
tie a tie
kiss
lose weight fast
get pregnant
get a girl to like you
write a cover letter
write a resume
solve a rubix cube
make jello shots
make it in america

{How do I}
find my ip address
get a passport
know if im pregnant
get my work copyrighted
love thee
delete my facebook account
download youtube videos
look
delete my myspace
breathe lyrics

{What is}
my ip
my ip address
love
lady gaga's real name
a good credit score
chatroulette
the meaning of life
cinco de mayo
autism
twitter

{My girlfriend and I}
have nothing to talk about
fight all the time
are growing apart
are having communication problems
have nothing in common
are on a break
are bored
always fight
are going to different colleges
broke up

{My boyfriend and I}
fight all the time
have nothing to talk about
are growing apart
are on a break
can't communicate
are fighting
are bored
fight a lot
always fight

Summary:

The average internet user is most concerned about finding a mate, a complicated process which often involves ties, jello shots, and kissing.  To impress potential mates, the average internet user is: looking for a good job; traveling to other countries; losing weight; writing books; and solving Rubix cubes.  To avoid scaring off potential mates (and perhaps potential employers), the average internet user is considering closing their accounts on various social networking sites.  Perhaps the only thing the average internet user is as interested in finding as true love is their IP address.

Once they have found a mate, the average internet user is desperately unhappy.  Regardless, the average internet user proceeds to make babies (a poorly-understood process).

Wednesday, January 6, 2010

Router Configuration, Part One

If you are on the market for a router, the Linksys WRT54GL is an excellent choice.  The reason it has won 30+ consecutive 'Newegg Customer Choice' awards is simple - by upgrading the software that runs on the router hardware itself ('flashing the firmware'), this ~$50 router can be made to do advanced networking tasks that it would take a several-hundred-dollar router to do otherwise.

The upgrade process itself is fast and simple: download the appropriate Linux-based firmware from this site, then log onto the router itself and flash the new firmware using the 'Update' administration tab... but perhaps I should start at the beginning.

The Router
A router is a piece of networking hardware that allows computers on a network to communicate with eachother, and with outside networks, by routing packets of data within and between networks.  In the typical home use, the router serves as an interface between the Local Area Network (LAN; the computers in your house) and the Wide Area Network (WAN; your Internet Service Provider's hubs that connect to the Internet).  The router is the gatekeeper, directing requests and data between the LAN computers and the Internet.  A process called Network Address Translation (NAT) allows the router to 'hide' the LAN from the WAN ('IP masquerading'), and the router also acts as a hardware firewall to screen out unauthorized data traffic.

IP Addresses
Traffic is routed on networks by assigning an address to each node in the network.  Internet Protocol version 4 ('IPv4') addresses are formatted as follows: 192.168.1.1; this particular representation is known as 'quad-dotted decimal notation'.  To connect you to the internet, your ISP assigns you an IP address.  Your router then assigns private IP addresses to itself each of the computers on the LAN; the addresses assigned are in the 'private IP address space' (which has been defined by the Internet Engineering Task Force (IETF) ) and only apply internaly on the LAN.

The router therefore has two different addresses: the WAN address assigned by the ISP and applicable to the Internet, and the LAN address assigned by the router itself and applicable within the LAN.  Why doesn't the ISP just assign WAN addresses to every computer on your network?  There are a finite number of IPv4 addresses, and they are rapidly running out!  For the Internet to function, all LANs behind a router are free to use duplicate addresses, but WAN addresses must be unique; by only assigning one WAN address to the router, WAN IPv4 addresses are conserved.  This problem eventually must be overcome by changing to a new format that allows a much greater number of IP addresses (IPv6).

LAN, WAN, and MAC
To see information on your network connection on a Windows computer:
  1. Hit 'Windows-R' to bring up the 'Run' dialog
  2. Type 'cmd' and hit enter to bring up the command prompt interpreter
  3. type 'ipconfig /all'
Dig through the resulting output to find the description of the network adapter that you use to connect to the internet (usually 'Wireless LAN adapter' or 'Ethernet LAN adapter'):
  • 'Physical' or 'MAC Address' - unique ID assigned by the manufacturer; AA-BB-CC-DD-EE-FF
  • 'IPv4 Address' - your computer's LAN IP address
  • 'Default Gateway' - the LAN IP address of your Internet Gateway (your router)
To find the WAN address of your router, just head to http://whatismyip.com.

When you're surfing the internet, your computer is sending requests for Internet information to the LAN IP of your router; the router uses NAT to hide the LAN IP address of your computer, and sends the request off into the Internet superstructure (a future article!).  The Internet replies to the WAN IP of the router, which then forwards the reply to the LAN IP of the requesting computer.  Fortunately, not too complicated!

Now that you know a little about LAN, WAN, and MAC addresses, you're ready to access and configure your router!  Stay tuned for Part II.

Friday, December 11, 2009

Research Management


(While this article is written from the perspective of a research lab manager, the discussion is applicable to any group content management situation.)

My primary goal is to get a PhD and eventually find a job in academia, so I've been thinking a lot about the best way to organize, manage and coordinate a small army of 'knowledge workers', aka run a lab. I say 'organize, manage, and coordinate' instead of 'lead' because, in my experience, it is the students who have to lead if a project is really going anywhere. The professor is still the 'primary investigator' in that he is responsible for coming up with innovative ideas and applying experience to suggest the most probably successful way to get things done, but it is up to the student to take ownership, survey the literature, organize the information, and do the actual work.

I believe it is also the responsibility of the professor to provide systems to be used by the students for organizing people, ideas, and information. Just a few years ago, there was no good way to implement such systems: the Web was still 'read only' for the vast majority of people, and the available content management systems were designed to be administered by a single person. A professor cannot be both a PI and an IT department! Fortunately, Web 2.0 advancements designed to enable 'user-created content' and 'group administration' are changing things for the better: a system can be designed and created by one person and then expanded and administered collaboratively by a group of people.

While my depth of experience with research management is pretty limited, I have tried several things that definitely don't work (and some that have, to varying degrees).

Coordination By Hoping That People Will Coordinate
Your lab will last about five seconds.

Coordination By Lab Notebook
Fine for projects with a single very responsible person; dangerous and nonfunctional in most situations. Only one copy exists, so extremely susceptible to loss or destruction. Not digitally archivable or searchable. Useless for group research; would require reading across multiple notebooks to follow the progress of the research. Impossible to share easily with others in the group for feedback and review and difficult to edit and update.

Coordination By Email
Familiar for everyone, archivable, and searchable, but there's no good way to organize them and the format is extremely limited. If a new person joins the project, it's just about impossible to bring them 'into the loop' and information in emails is lost when someone leaves the group.

Coordination By Traditional Website
Archivable, searchable; good for static materials. The most flexible format, but painful to update; must be done by someone with markup language or design software experience, which isn't a good thing for collaborative efforts. There are much better choices for dynamic materials and group projects.

Coordination By Google Sites
Archivable, searchable. Editing is by built-in WYSIWYG (what-you-see-is-what-you-get, Microsoft Word-like) interface. Includes built-in user management system, but users cannot create an account directly on the site. Sites can be made 'public' (accessible from the internet by anyone) or 'private' (authentication required). Includes built-in functionality for blog-like news posts, 'file lockers' for uploaded content, and standard pages. The free Google-hosted version has a content cap of 200MB for educational institutions (100MB for everyone else), but you can get some hosted space from your organization (or a private company) and deploy your own free Google Apps platform (including Sites, Calendar, Email, and Documents) with improved administration features (allowing you to set your own web address) and unlimited space. A vast improvement over a Traditional Website, but the format is still somewhat rigid; you are limited to the preconfigured functionality included by Google, and embedded custom scripts and the like are disallowed for security reasons.

Coordination By Google Docs
Archivable, searchable. WYSIWYG editing, but also allows formatting using HTML and/or CSS. Can be set to 'public' or 'private'; user management handled by assigning access privileges to a 'folder', and these privileges are inherited by all content (including subfolders). Like Google Sites, it does not allow embedded scripts. Users can create 'templates' for the content that they generate most often to speed up common tasks. This is a great platform to use in conjunction with another format (works great with Google Sites, for instance) because it has a lot of great features, but it is limited to the creation of text documents, spreadsheets, and simple presentations, and beyond that can only be used for uploading PDFs.

Coordination By Wiki
See my article on "How To Install a Wiki"!
Archivable, searchable. Harder to set up than the others; requires that you have your own server space and web address, which you should be able to get from your institution or for a few dollars a month from a private hosting company. Requires users to learn a simple markup language to edit pages - this could be a BIG turnoff for the WYSIWYG-only standard user. Built-in user management, but NO access controls - if you want to put secret stuff on a Wiki, it better be on a secure server.

Coordination By CMS (Drupal)
See my article on "Content Management For Web Design"!
Archivable, searchable. 'Modules' for added functionality (including a WYSIWYG editor to augment the standard HTML and plaintext), including blogs, wikis, multimedia galleries, forums, etc. Powerful, flexible user management and access controls with administrator-defined roles and priviliges; includes a built-in system that allows users to sign up for accounts directly on the site itself. A little more complicated to set up than the others (installation is similar to a wiki). A GREAT system with a little more of a learning curve than the others, but probably well worth it in the long run.

In Summary
There are a lot of different options, all with their own pros and cons. The best system is the system that gets used, so make the choice based on your own level of technological comfort and the wants and needs of your users.

Future articles: 'best practices' for research management; advanced research IT (file synchronization and backup)

Tuesday, December 8, 2009

CMS for Web Design

 What is a Content Management System (CMS)?
From Wikipedia:
A Content Management System (CMS) is a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based. The procedures are designed to:
  • Allow for large number of people to contribute to and share stored data
  • Control access to data, based on user roles. User roles are used to define each use as to what information they can view or edit
  • Aid in easy storage and retrieval of data
  • Reduce repetitive duplicate input
  • Improve the ease of report writing
  • Improve communication between users

In the specific example of a Web CMS, it's a tool for designing, building, and administering websites.  Many modern CMS allow you to do all of these tasks in a graphical user interface (GUI) environment that is almost entirely free of 'exposed code' - no PHP, XHTML, or CSS required (though they are still powerful tools for making your site look just the way you want it).  They offer several advantages over traditional methods of web design: because they offer friendly interfaces and a standardized way of doing things, it would be fairly easy for me to design and build a site and then hand it off to someone else (with limited web experience) to administer.

I am experimenting with a Content Management System (CMS) called 'Drupal' - it is a free, open-source platform for designing, building, and administering a website.  It's serious stuff (the White House used it for this site, for instance), and it is designed with a 'many producers, many consumers' model of web development in mind.  It requires minimal effort to set up, and the initial process of server-side installation and database creation are very similar to the steps needed to install a Wiki (covered here last week).



My favorite feature: Drupal has powerful user management built right in, with the out-of-the-box ability to create roles, define privileges for each role, and assign roles to users with ease.  The default roles are 'authenticated user', 'unauthenticated user', and 'site creator', but you can make as many roles as you'd like.  This means it's a great choice for building an intranet, a secure storage place for user-created content, or any site where you need to be able to enforce access restrictions.  It also means that you can spread out the burden of administering the site: you can create 'superuser' roles which have the ability, for instance of moderating forums and user blogs.  This feature allows you to introduce trusted users to the administration methods and interface one piece at a time, easing them into the role of site administrator.  All administration is done within the site itself on a special menu that is hidden to regular users, which new admins usually find very intuitive (though it may initially confuse users of older CMS).

Drupal is free, open-source software with lots of community support.  You can add extra functionality (forums, blogs, wikis, multimedia presentation) by installing 'modules', which are user-created add-ons (called 'nodes' or 'widgets' in other contexts) - if you can think of it, there's probably a module out there to support what you want to do.  When you assign permissions to your site's roles, you assign them by module, which allows for quite a bit of customization.

I put this demo together in a few short hours (you'll need to create an account to access any of the content).  I think that this CMS would be perfect for the creation of sites by any organization, with or without a dedicated IT department.  For educational and community projects, this format enables the recruitment of site designers, constructers, and administrators with limited scripting and coding experience, which is EXTREMELY helpful for us non-computer scientist folks.

Saturday, December 5, 2009

How To Set Up a Wiki

Wikipedia has changed the way most people study and research. If you've got some spare change, they run entirely on donations.

Turns out, it's amazingly easy to set up your own wiki that looks and works just like Wikipedia. You can grab some server space for ~$0.03/day at a place like WebHostingPad, and the hosting services that they offer include everything you need to get started.

First, log into your hosting control panel (cPanel for many) and/or fire up your MySQL manager. Create a new database, then create a user and associate it with that database; make sure you give the user full control over the database. Write down the database name and the username and password associated with the managing account, in addition to the username and password that you use to administer your website (your cPanel login, for many).

Head on over to MediaWiki and download their latest software. Unpack the archive using 7zip, then FTP into your server using FileZilla and drop the archive contents into a web-accessible folder (/www/wiki, for instance). Fire up Firefox and head to http://YourSite/wiki/config/index.php; follow the onscreen prompts to get everything configured, using the database and administration information you wrote down in the previous step.

FTP back onto your serverspace, and move the 'LocalSettings.php' file from the 'config' directory into the main directory (/www/wiki).

You're done! As long as everything went well, you should be looking at something that looks a lot like this.
Customize to your heart's desire, recruit a userbase, and wiki away!

A note to potential wiki-ers: if you've never edited Wikipedia before, you might not realize that Wikipedia has its own markup syntax. While it's really, really easy to learn in no time at all, you might have trouble convincing your organization to learn it. Unfortunately, there are no simple, plug-and-play WYSIWYG (What-You-See-Is-What-You-Get, Microsoft Word-style) editors available for MediaWiki yet. Perhaps soon!