Like what you see? Comment, Follow, and Subscribe!

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 18, 2009

Anatomy of an Exam

Yesterday, I took the least satisfying exam I have ever had the misfortune of encountering.  (Note that this isn't a case of sour grapes on my part; I scored fine, and my cumulative marks are safely in the 'good range'.)

The Content
Some of the questions on this 25-question, multiple-choice molecular genetics final included:
Q: "Which domain(s) recognize(s) methylated histone tails?"
a) Chromo domains    b) Bromo domains     c) Both Chromo and Bromo domains


Q: "Yeast Gal4 is one of the most well-characterized transcription factors in eukaryotes. What type of activating region does Gal4 have?"
a) Gln-rich region      b) Acidic region      c) Pro-rich

Q: "6S RNA in E. coli cells downregulates gene expression in the stationary phase.  What protein is the target for 6S RNA binding?"
a) Large ribosomal subunit    b) Sigma70 RNA polymerase holoenzyme    c) Aminoacyl-tRNA synthetase

The answers are a, a, and... it doesn't matter; the minutiae addressed in this exam are completely irrelevant to understanding the course topic, to the point of this being discernible to someone unaffiliated with the biological sciences.  The professor has wasted his one opportunity to determine whether students understood the important concepts covered in the course, in favor of testing for the ability to memorize thousands of unrelated facts.  Asking questions such as these in molecular biology is akin to testing a geography student on their ability to match countries with their capitol cities, instead of on their knowledge of, say, geography's effects on the development of civilization.  This only reinforces my suspicion that many professors do not know what the main concepts are in the courses that they are assigned to teach.  This is probably a side-effect of the extremely narrow focus of most professors' research.

The Format
Exam format is also at issue.  Four multiple choice, 25-question exams are the only method of evaluation in this 400-level junior/senior class.  While I understand that this is partially due to the course's size (120+ students), this limitation does not prevent the questions themselves from being much better than they are.  All 25 questions had only three possible answers, turning the whole affair into something of a stochastic crapshoot.  It's not like we pay a lot for this or anything.  I really hope this professor is a class-A researcher.

With such a simple format, proofreading also would have been fairly straightforward and much appreciated:
     "Answer which one determines the copy number of plasmid."
     a) an origin of replication      b) selection marker      c) multiple clorning site


It's Not That Hard
Writing decent exam questions that actually address concepts is not difficult; as an unpaid undergraduate TA last spring, I came up with:

"In the DNA, G can be converted to 8-oxo-G and 5-methyl-C to T by various biochemical mechanisms.  What is a 'failsafe glycosylase'?  How would you design a failsafe glycosylase to address the two base conversions described above?"

"Consider the structure of RNA versus that of DNA.  How do their structural differences reflect their different functions in the cell?"

"The Gibbs free energy is used to evaluate the thermodynamics of biochemical transformations in living organisms.  How is this thermodynamic potential an appropriate choice for this application?"

"The partial hydrolysis of a nucleotide triphosphate into a nucleotide monophosphate and a pyrophosphate is only moderately favorable (X kJ/mol), while the hydrolysis of pyrophosphate is more favorable (Y kJ/mol).  How does a difference of (Y-X) kJ/mol influence the equilibrium position of these reactions?  Why is this important in the process of DNA synthesis?"

The topics of these questions have a lot of overlap with the material covered in this molecular genetics course, and I think they're sufficient to illustrate the point.

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

So what do you think: do I have a point here?
Why is it so hard to get your money's worth at a university these days?

Wednesday, December 16, 2009

How To Set Up A Website

Gone are the days when setting up your own website meant bribing the neighborhood genius to give you some space on the server farm in his parents' basement!  There are now a number of private companies that will sell you 'virtual personal server' space to store the files that make up your website.  This isn't 'Geocities' garbage either; you can have your own personal URL that points to your site (ala www.brandoncurtis.net) instead of a URL that just describes a subdomain of your hosting company (ala www.brandoncurtis.MyHostingCompany.net).

(A better title for this article might be: 'How To Get Hosted Webspace For A Website'.  Future articles will deal with website basics, including webpage design.  See 'How To Set Up A Wiki' and 'Content Management Systems for Web Design' for other modern options that you can install and host using your webspace)

Choosing A Web Host
There are dozens of such web hosting companies around.  I will use WebHostingPad as an example, because they offer a low-cost, full-feature web hosting plan that offers all of the features that MOST people are looking for in a hosting service, and I have had a good experience hosting my own stuff with them.  If you are a little more experienced or you know that you need SPECIFIC functionality to do the things you want to do, make sure to check out the feature list and to read some web hosting reviews before choosing a website host.

First, set up an account with your web host of choice.  This is often VERY inexpensive; WebHostingPad, at the time of this posting, is offering three years of hosting for only $2/month (less than 7 cents a day).  A quick search might net you a web hosting coupon; in my experience most coupon codes posted on the web do not work, but I was able to get 25% off of my hosting purchase with one of these.

Registering A Domain Name
Many hosts will provide you with a free domain name when you sign up.  You usually have the choice of '.com', '.net', '.org', and a few others; which one you choose will not change ANYTHING about your site, but you can read more about the generic top-level domains here.  If you are not offered a domain name, you must get one from a Domain Name Registrar.  You'll need to interact with this company to enter some configuration information (or at the very least to transfer management of your domain name to your chosen hosting company), so it's worthwhile to read up on them.  Fortunately, almost all modern hosting companies offer you a domain name when you sign up for hosting, so you don't have to worry about this.

If you have a website and you want to SWITCH hosts, you will need to transfer your domain name.  How this is done varies widely from company to company, but hosts have a vested interest in keeping this process simple and they usually document it well on their websites.

Choosing A Web Host
Now, you have a domain name that will refer visitors to the files on your personal server space!  If you point your browser to your new URL right away, you will get whatever default 'HTTP 404' error that your hosting company uses; it make take a few hours for your host to get everything set up, and you need to move your site's files to your server space before you can access them.

Many hosts, including WebHostingPad, enable simple access to your website's management and configuration tools through an online utility such as CPanel.  Simply point your browser to the CPanel login address specified by your host, and you can log in and access simple and advanced tools for uploading files, password-protecting directories, building databases, implementing subdomains, &etc.  If you're new to web design and you don't have any idea what half of these tools do, don't worry about it; you generally just learn them as you need them.

While web hosting control panels are great for many aspects of web administration, they are usually horrible for uploading and moving files around in your server space.  For this task, you will want a utility such as the free, open-source FileZilla, which makes use of FTP (File Transfer Protocol) to directly link up to and interact with your server.  File transfer and reorganization is as easy as drag-and-drop in modern FTP clients!  Use the FTP login information provided by your web host to access your server space; once you have everything set up, logging in is as easy as selecting your site from the 'Site Manager' button's dropdown menu on the upper-left corner of FileZilla.

Good modern web hosts will provide you with a directory labeled something like 'www'; only files in this folder are accessible from the internet.  Configuration information and other stuff is stored in the other directories, and you should feel free to make your own directories to store things that you don't want to be publicly-accessible.


Now What?
There are a million different directions you can take to build a functional site in your new space.  Some are simple: tools like Dreamweaver provide a simple interface for piecing together a website, and don't require any knowledge of the web languages (xhtml, css, php, etc) to use.

Some are even simpler: Drupal, Google Apps, Wikimedia, WordPress and many others can be installed in your serverspace to provide you with 'out-of-the-box' website functionality, with no page-by-page construction necessary.  See 'How To Set Up A Wiki' and 'Content Management Systems for Web Design' for more information.

Many blogging sites and other online content creation services give you the ability to 'reroute' your blog through your webspace.  You can have your Blogger site accessible, for instance, at www.MySite.com/blog.  Your blogging site's webpage will have more information if this is available.


Future articles: web design with WordPress and other platforms; web design with KompoZer and Dreamweaver; domain design and administration with Google Apps

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)

The World of Isoprenes


While I was poking around the web this morning looking for some decent metabolic maps, I came upon this really excellent map of isoprenoid biosynthesis. I've seen a couple maps of similar scope, but I like how this one highlights the metabolites that people are likely to be familiar with (essential oils, vitamins) and shows how the isoprene subunit is the root of synthesis of so many disparate biological products. Isoprenes aren't just for plants - the retinal that functionalizes rhodopsin to enable us to perceive light and the cholesterol that forms the basis for the synthesis of the steroid hormones are both isoprene derivatives.

That map was put together by a real visionary, Dr. Donald Nicholson. Awardee of the ridiculously prestigious "Special Life Member" status in the IUBMB, his minimaps and animaps are changing the way people think about (and teach!) the chemistry of metabolism. His stated goal: "To Make Metabolism Meaningful, Wonderful and FUN." Bravo, sir!

For the stressed, the body-builders, the guys and gals out there who feel the effects of steroids every day: a fantastic map of steroidogenesis, courtesy Wikipedia. Bet you're glad you learned organic chemistry, right? It's never too late!