Thursday, April 12, 2012

Topic 10 - Remotely Monitoring Computers

Not everybody who uses your machines can be trusted, so at times you may need to remotely monitor what's going on. One of the most basic tools to do this is a keylogger, but they have gotten a bad reputation and simply logging key presses isn't the best thing to do.

All-in-one remote monitoring tools are becoming more widespread, and can keep track of a plethora of activity.
  • Keystrokes, to get everything the user types.
  • Web browser activity, such as visited sites.
  • Which programs have been run and how long they ran for.
  • Screenshots of what's on-screen, to catch even more,

Of course this software has to be installed on the machine beforehand, and not all security programs like it, so make sure there's time to set things up properly... but they can be a big help in catching users doing things on the machine that you don't want them to. Of course as these programs are software, things that happen outside the OS cannot be logged so it's important to have physical security as well.

Topic 9 - Portable Storage

Being able to store and transfer your files is a core mechanic of using multiple computers, but there's often a time when you simply need to move files from one to another or store them remotely without using the network. Depending on what's being stored, there's multiple options.

Flash drives have benefits in usability and size, often hooking into USB and easily fitting on a lanyard while still having capacities upwards of 16/32GB at reasonable prices for a portable device. These are cheap and simple enough to use for normal people that they're quite a common sight.
http://www.youtube.com/watch?v=poPuPnnF3FE

External harddrives are the choice if higher capacity is needed, as they can easily go into the 500GB+ range, though the larger-capacity ones will be heavier, and for the higher-speed drives you may need to deal with a power cable as well, but for long-term storage of larger files they're a primary choice.
http://www.youtube.com/watch?v=i5x8499d18Y

Topic 8 - Small Form-Factor PCs

In a business space isn't unlimited, so small form-factor computers are an option when there's not a lot of desk space. Unfortunately they're often not the most powerful since they can't cool themselves as well, but they're still good enough for normal desktop and word-processing needs. Since they can be made using lower-power parts they're not expensive like many custom computer builds, and can often be bought in bulk from major computer manufacturers such as Dell and HP. This means they're widely used as normal office computers in businesses and governmental institutions.

The actual size and shape of the available machines vary widely to fit various scenarios, some reviews and information from various companies can be found here.
http://reviews.cnet.com/desktops/?filter=1101504_13147765

Subject 7 - SSDs

An SSD is a solid-state drive. They have many advantages versus regular drives, such as...
  • They're not as susceptible to physical jarring while operating.
    They can read much much faster read speeds.
  • They're physically smaller in most cases.
  • Virtually silent operation.
  • Not as much heat created.
  • Less power used for normal operation.

Of those advantages, the biggest is speed. Modern harddrives are quite slow compared to the rest of the components in a PC, so a lot of time is spent by the system waiting for the drive to carry out it's operations. This is greatly negated by SSDs, to the point where the entire system will boot up and appear to operate much faster than a comparable system with a traditional drive.

http://www.youtube.com/watch?v=pJMGAdpCLVg

Subject 6 - 3D Graphical Hardware Acceleration In A Virtual OS

While virtualization is a very useful tool, traditionally there's one spot it's been lacking in. While development hasn't been pushed very hard since video acceleration hasn't been important for work-related activities in general, lately more and more things are using hardware-acceleration to speed up tasks (such as compute tasks using the GPU, which I will mention later) and even the UIs of modern operating systems can make use of hardware acceleration.

The problem is that, like in older times with the CPU, the guest OS does not have direct access to the GPU to pass along information and instructions. Even if some VMs supported it, it was all done with a software renderer (and thus by the CPU in a much, much slower manner).

Modern VMs are starting to include the ability to pass things to the host GPU, though in most cases it's still optional and experimental due to the nature of how it works.
http://www.youtube.com/watch?v=XiZyigv_aRc

The process of getting it set up differs from VM to VM, here's an example of how it's done for Virtualbox.
https://www.virtualbox.org/manual/ch04.html#guestadd-3d

Subject 5 - Virtualization

Virtualization is a very powerful concept. The ability to run one operating system inside another has a number of benefits.
  • Running old programs in an old operating system (e.g. Windows 95).
  • Running potentially-buggy programs in an environment where they won't interfere with host programs.
  • Running programs from a totally different platform, such a Linux programs in a Windows host.
Nowadays there's tons of ways to virtualize, but one of the most important types is hardware-assisted virtualization. This uses some recent technology by Intel and AMD to allow the guest OS to use the processor and other hardware directly, negating most (or all) of the slowdown inherent with the host OS having to filter things. This means that using a machine with hardware virtualization support is important, and enabling it in the BIOS will allow a much more fluid environment for the guest OS.

http://www.youtube.com/watch?v=dvJZFbxXkaY

Once the option is enabled, there's a couple different VM packages to choose from.

https://www.virtualbox.org/
http://www.vmware.com/
http://www.microsoft.com/windows/virtual-pc/default.aspx

Monday, February 13, 2012

Subject 4 - LAMP Installation

LAMP stands for Linux, Apache, MySQL, PHP. It's used to refer to a common setup of open-source server software, including the OS (L), the web server (A), database backend (M), and server-side code (P). The video also goes on to install some server-side software, but the specifics of that will often vary depending on what software is being installed.

http://www.youtube.com/watch?v=fLg025p8jNE