Friday, December 13, 2013

LCD, LED Panel Technologies - TN, IPS, MVA

A few sites that explain the differences between various LCD/LED panel technologies such as:
TN, IPS, MVA.

http://www.tftcentral.co.uk/articles/panel_technologies.htm
Panel Technologies

http://apcmag.com/Content.aspx?id=7923
What to look for in a monitor: MVA panels explained


Thursday, October 17, 2013

Notes VI

 List of Commands for vi - An Unix Editor

Complete Documentation
Undo Command
Screen Commands
Cursor Positioning Commands
Search Commands
Text Insertion Commands
Text Deletion Commands
Changing Text
Search and Replace
Cutting and Pasting Text
File Commands



Complete Documentation
The vi editor is a common editor for unix systems in that it makes use of a regular keyboard with an escape key. On the DECstation, the escape key is the F11 key. It therefore works on all unix computers. Complete documentation is available by typing

man vi  at the unix prompt.


Undo Command
u                    undo the last command.

Screen Commands
CTL/l Reprints current screen.
CTL/Y Exposes one more line at top of screen.
CTL/E Exposes one more line at bottom of screen.
CTL/F Pages forward one screen.
CTL/B Pages back one screen.
CTL/D Pages down half screen.
CTL/U Pages up half screen.
H     Go to first line on screen
M     Go to middle line on screen
L     Go to last line on screen
nH    Go to line n beneath top of screen
nL    Go to line n above bottom of screen
nG    Go to line n
:n    Go to line n


Cursor Positioning Commands
j      Moves cursor down one line, same column.
k      Moves cursor up one line, same column.
h      Moves cursor back one character.
l      Moves cursor forward one character.
RET    Moves cursor to beginning of next line.

0      Moves cursor to beginning of current line.
^      Moves cursor to beginning of first non-blank character of current line.
$      Moves cursor to end of current line.
+      Moves to next line, first non blank character
-      Moves to previous line, first non blank character
SPACE  Moves cursor forward one character.
nG     Moves cursor to beginning of line n. Default is last line of file.
0      Moves the cursor to the first character of the line.
:n     Moves cursor to beginning of line n.
b      Moves the cursor backward to the beginning of this or previous word.
B      Moves the cursor backward to the beginning of this or previous word, ignoring symbols.
e      Moves cursor to end of this or next word.
w      Moves cursor to beginning of this or next word.
E      Moves cursor to end of this or next word, ignore any symbols.
W      Moves cursor to beginning of this or next word, ignore any symbols.
(      Moves to beginning of current or previous sentence
)      Moves to end of current or next sentence
{      Moves to beginning of current or previous paragraph
}      Moves to end of current or next paragraph

Search Commands
/pattern  Moves cursor forward to next occurrence of pattern.
?pattern  Moves cursor backward to next occurrence of pattern.
/, n      Move to next search
?, N      Move to previous search
.         Search wildcard - any single character
*         Search wildcard - zero or more characters
^         Search wildcard - beginning of line
$         Search wildcard - end of line
[...]     Search wildcard - any character in bracket, [xyz] means x or y or z
[..-..]   Search wildcard - any character in range, [a-z] means anything from a to z


Text Insertion Commands
a    Appends text after cursor. Terminated by escape key.
A    Appends text at the end of the line. Terminated the escape key.
i    Inserts text before cursor. Terminated by the escape key.
I    Inserts text at the beginning of the line. Terminated by the escape key.
o    Opens new line below the current line for text insertion. Terminated by the escape key.
O    Opens new line above the current line for text insertion. Terminated by the escape key.
DEL  Overwrites last character during text insertion.
ESC  Stops text insertion. The escape key on the DECstations is the F11 key.

Text Deletion Commands
x     Deletes current character.
X     Delete character before cursor.
6x    Delete next 6 characters
4dd   Delete the next 4 lines
dd    Deletes current line.
dw    Deletes the current word.
d)    Deletes the rest of the current sentence.
d}    Deletes the rest of the current paragraph.
D, d$ Deletes from cursor to end of line.
d0    Deletes from cursor to beginning of line
3dw   Deletes next 3 words
3dl   Delete next 3 letters
P     Puts back text from the previous delete.

Changing Text
cw          Changes characters of current word until stopped with escape key.
c$          Changes text up to the end of the line.
C, cc       Changes remaining text on current line until stopped by pressing the escape key.
c^          Change text to beginning of line
c)          Change text to beginning of sentence  
c}          Change text to beginning of paragraph
3cw         Change next 3 words
~           Changes case of current character.
xp          Transposes (swap) current and following characters.
J           Joins current line with next line.
s           Deletes the current character and goes into the insertion mode.
rx          Replaces current character with x.
R           Replaces the following characters until terminated with the escape key.


Search and Replace
:s/old/new          Replaces old with new
:s/old/new/g        Replaces old with new all occurrances
:s/old/new/c        Replaces old with new - need confirmation
:11,l2 s/old/new    Replaces old with new, within range of line l1 and l2





Copy(yank) and Paste Commands
yy      Copy line to buffer. Does not delete the line from its current position.
yw      Copy (to buffer) to the end of word
y0      Copy from the beginning of line
y$, Y   Copy to the end of line
y)      Copy to the end of sentence
y}      Copy to the end of paragraph
p       Places buffer after the current position of the cursor.
P       Places buffer before the current position of the cursor.


File Commands
vi filename     where filename is the name of the file to be edited.
vi -rfilename   recover file in case of crash
vi +/blah file  open file "file" at the point in the file containing text "blah"
:R file         Inserts the file filename where the cursor was before the ``:'' was typed.
:w file         Save current file as a new file with name "file"
:l1,l2w file    Save from line 11 to line l2 in file called "file"
:.,$w file      Save from current line "." to last line "$" of file
ZZ              Exits vi and saves changes.
:wq             Writes changes to current file and quits edit session.
:q!             Quits edit session (no changes made).
:e              reverts back to last saved mode.

Notes Networking


Contents
========
inetd
socket.h
Setup Linux Network
Network VM with Virtual Box - Bridged, Internal, Host-Only


inetd
========
inetd - maintains passive sockets on a variety of these well-known ports. When a new connection is created, Inetd starts a program to handle the connection, based upon a configuration table. This way, one program can handle incoming connections for a variety of services. Inetd only runs server programs as they are needed, and will spawn multiple server programs to service multiple network connections. Inetd works best for network services with fairly long duration, so the extra startup overhead becomes negligible.

inetd services - echo, discard, daytime, chargen, time
- Usage: eg. telnet <IP> echo


socket.h
=========
#include <sys/socket.h>
int     accept(int socket, struct sockaddr *address, socklen_t *address_len);
int     bind(int socket, const struct sockaddr *address, socklen_t address_len);
int     connect(int socket, const struct sockaddr *address, socklen_t address_len);
int     getpeername(int socket, struct sockaddr *address, socklen_t *address_len);
int     getsockname(int socket, struct sockaddr *address, socklen_t *address_len);
int     getsockopt(int socket, int level, int option_name, void *option_value, socklen_t *option_len);
int     listen(int socket, int backlog);
ssize_t recv(int socket, void *buffer, size_t length, int flags);
ssize_t recvfrom(int socket, void *buffer, size_t length, int flags, struct sockaddr *address, socklen_t *address_len);
ssize_t recvmsg(int socket, struct msghdr *message, int flags);
ssize_t send(int socket, const void *message, size_t length, int flags);
ssize_t sendmsg(int socket, const struct msghdr *message, int flags);
ssize_t sendto(int socket, const void *message, size_t length, int flags, const struct sockaddr *dest_addr, socklen_t dest_len);
int     setsockopt(int socket, int level, int option_name, const void *option_value, socklen_t option_len);
int     shutdown(int socket, int how);
int     socket(int domain, int type, int protocol);
int     socketpair(int domain, int type, int protocol, int socket_vector[2]);


Setup Linux Network
===================
Based on Fedora 5 exprience

Setup DNS
1. add DNS IP address to file: /etc/resolv.conf; OR
2. Use GUI to enter primary, secondary DNS

Restart Network
1. Reboot; OR
2. /etc/init.d/network restart

Setup Static Routing
- for PC with external IP to connect to a Local network
1. Create a file called /etc/sysconfig/network-scripts/route-eth0
2. Enter this in the file:
      192.168.0.0/16 via 129.78.77.253
   ... where first IP range in internal network and last IP is gateway
Alternatively,  
3. Create a file called /etc/sysconfig/static-route
4. Enter this in the file:
      any net 192.168.0.0/16 gw 129.78.77.253
     
Remove Microsoft IP range
1. Edit file /etc/sysconfig/network, and put:
     NOZEROCONF=1
2. Edit files /etc/sysconfig/network-scripts/ifcfg_eth<0|1|2|...>, put:
     NOZEROCONF=1

Check Kernel IP Table:
    netstat -nr
   
Add route manually,
route add -net 192.168.0.0/16 gw 129.78.77.253 eth0
 

Remove Microsoft Routing




Network VM with Virtual Box - Bridged, Internal, Host-Only
===========================================================

This section covers the three types of networking options between Linux Guest VMs in Virtual Box, in relation to a Windows host.

I. Bridged Networking
Use Case: The Windows host (eg 192.168.1.7) and the Linux VM (eg 192.168.1.9) have independent IP, but are both belong to the same subnet network. In the usual case where the network is dynamic and the DCHP server, assigns an IP to the Windows host, it will also assign an IP to the Linux VM. Like the Windows host, the Linux VM can also connect to the outside world.

Windows Host setup: Nothing to do, if the Windows host is already connected, ie can browse the internet or ping and external IP. To check the network details, type:
   ipconfig /all
Look for the sections, either:
   i) Wireless LAN adapter Wi-Fi:
  Description ...... Qualcomm Atheros.....
   ii) Ethernet Adapter ethernet:
  Description ...... Qualcomm Atheros ....
Since there are many adapters, you need to look for the sections, using description, that relates to the physical adapters installed on your PC / laptop. The adaptes could be LAN ethernet or Wi-Fi, and the Description gives a clue if they are physical or virtual adapters.

Pick the correct physical adapter and note down the following:
IPv4 address:    eg      192.168.1.7
Subnet Mask:     usually 255.255.255.0
Default Gateway: usually 192.168.1.1

Linux Guest VM setup:
In the Virtual Box, VM settings -
- Enable Network Adapter - Check
- Attached to - Bridged Adapter
- Name: Choose your physical adapter (see Windows Host Setup above). Usually it is "... Wireless Adapter ..." or "... Ethernet Controller ..."
- Promiscuous Mode = Deny,
- Mac Address: (Write this down for later use)  eg. ...1D:9A
- Cable Conneceted - Check

Start the Linux VM,
- determine if it is eth0 or eth1 by: ifconfig -a
  WARNING: By default, configuration exist for eth0 only. But VB requires eth1,2,3,4
  So Copy the config file:
       cd /etc/sysconfig/network-scripts
       cp ifcfg-eth0 ifcfg-eth1
- edit /etc/sysconfig/network-scripts/eth1
    DEVICE = eth1   (change this as necessary)
    HWADDR=  enter the MAC address from the VM settings section above
    TYPE=Ethernet
    ....
    ONBOOT=yes
    NM_CONTROLLED=no
    BOOTPROTO=dhcp
- re-activate the interface:
   ifdown eth1
   ifup eth1
   /etc/init.d/network restart
- check by looking at: ifconfig -a
  the results for eth1 are: IP=192.168.1.9, Bcast 192.168.1.255, Mask 255.255.255.0



II. Internal Networking
Use Case: Two or more Linux VMs (eg 192.168.56.110 and 192.168.56.115) are required to communicate with each other, hence the same subnet 192.168.56.x. They are not connected to the outside world and do not communicate with the Windows host (192.168.1.7).

Windows Host setup: Nothing to setup.
Do the following only after the Linux setup is complete, and then come back to Windows to verify the following:
To check the network details, type:
   ipconfig /all
Look for the section:
  Ethernet adapter VirtualBox Host-Only Network:
  Description: VirtualBox Host-Only Ethernet Adapter.
  Physical Address: eg ... 8C:D9. Not needed to be the same from the Linux VM settings below.
  ....
  IPv4 address:    eg      192.168.56.1
  Subnet Mask:     usually 255.255.255.0

Linux Guest VM setup:
In this section, we will setup up the VM above (VM1) and a new VM (VM2) where VM1 uses eth2 to communicate with VM2 which uses eth0. The VM1 uses eth2 because its eth1 is already involved with Bridged networking.

In the Virtual Box, VM settings for both VM1 (Adapter 2 tab) and VM2 (Adapter 1 tab)
- Enable Network Adapter - Check
- Attached to - Internal Network
- Name: intnet
- Promiscuous Mode = Deny, Allow All
- Mac Address: (Write this down for later use)  ( 9F:4B,   ...77:84)
- Cable Conneceted - Check

Start the Linux VM1,
- determine if it is eth0 or eth1 by: ifconfig -a
  WARNING: By default, configuration exist for eth0 only. But VB requires eth1,2,3,4
  Since VM1 has already eth1 for bridged, the eth2 adapter will be used here.
- edit /etc/sysconfig/network-scripts/eth2
    IPADDR=192.168.56.105
    NETMASK=255.255.255.0
    DEVICE = eth2   (change this as necessary)
    HWADDR=  enter the MAC address from the VM settings section above, eg. 9F:4B
    TYPE=Ethernet
    ....
    ONBOOT=yes
    NM_CONTROLLED=no
    BOOTPROTO=static  
- re-activate the interface:
   ifdown eth2
   ifup eth2
   /etc/init.d/network restart
- check by looking at: ifconfig -a
  the results for eth1 are: IP=192.168.56.105, Bcast 192.168.56.255, Mask 255.255.255.0
- add the lines to /etc/hosts
  192.168.56.105  VM1-host  VM1-host.domain
  192.168.56.115  VM2-host  VM2-host.domain
- add the lines to /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=VM1-host.domain

Start the Linux VM2,
- determine if it is eth0 or eth1 by: ifconfig -a
  WARNING: By default, configuration exist for eth0 only. But VB requires eth1,2,3,4
- edit /etc/sysconfig/network-scripts/eth0
    IPADDR=192.168.56.115
    NETMASK=255.255.255.0
    GATEWAY=192.168.56.100
    DEVICE = eth0   (change this as necessary)
    HWADDR=  enter the MAC address from the VM settings section above, eg. 77:84
    TYPE=Ethernet
    ....
    ONBOOT=yes
    NM_CONTROLLED=no
    BOOTPROTO=static  
- re-activate the interface:
   ifdown eth0
   ifup eth0
   /etc/init.d/network restart
- check by looking at: ifconfig -a
  the results for eth0 are: IP=192.168.56.115, Bcast 192.168.56.255, Mask 255.255.255.0
- add the lines to /etc/hosts
  192.168.56.105  VM1-host  VM1-host.domain
  192.168.56.115  VM2-host  VM2-host.domain
- add the lines to /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=VM2-host.domain
 


III. Host-Only Networking
Use Case: This has features of both Bridged and Internal Networking. The Windows host is connected to the Linux VM (VM1) so that they can communicate (able to ping) with each other (like Bridged network). However the VM1 is not connected to the outside world (like internal network).
The VM1 may see the Windows host as a HOST - hence the name Host only. So the VM1 may not be able to interact with the Windows host like a peer node, but it is able to access it, such as accessing a License server on the Windows Host.

Windows Host setup: This will be using the SECOND VirtualBox Host-Only adapter because the First Host-Only Adapter has been used by the Internal networking above. Do the following only after the Linux setup is complete, and then come back to Windows to verify the following:
To check the network details, type:
   ipconfig /all
Look for the section:
  Ethernet adapter VirtualBox Host-Only Network #2:
  Description: VirtualBox Host-Only Ethernet Adapter #2.
  Physical Address: eg ... 74:F0.
  ....
  IPv4 address:    eg      192.168.39.1
  Subnet Mask:     usually 255.255.255.0

Linux Guest VM setup:
For VM1, since adapter 1 is used for Bridged, adapter 2 is used for Internal, so the adapter 3 will be used here for Host-Only networking
In the Virtual Box, VM settings for Adapter 3 -
- Enable Network Adapter - Check
- Attached to - Host-Only Adapter
- Name: VirtualBox Host-Only Ethernet Adapter #2
- Promiscuous Mode = Deny,
- Mac Address: (Write this down for later use)   eg.  ... 4A:C6
- Cable Conneceted - Check

Start the Linux VM,
- determine if it is eth0 or eth1 by: ifconfig -a
  WARNING: By default, configuration exist for eth0 only. But VB requires eth1,2,3,4
  So Copy the config file:
       cd /etc/sysconfig/network-scripts
       cp ifcfg-eth1 ifcfg-eth3
- edit /etc/sysconfig/network-scripts/eth13
    DEVICE = eth3   (change this as necessary)
    HWADDR=  enter the MAC address from the VM settings section above
    TYPE=Ethernet
    ....
    ONBOOT=yes
    NM_CONTROLLED=no
    BOOTPROTO=dhcp
- re-activate the interface:
   ifdown eth1
   ifup eth1
   /etc/init.d/network restart
- check by looking at: ifconfig -a
  the results for eth1 are: IP=192.168.39.201, Bcast 192.168.39.255, Mask 255.255.255.0
- add the lines to /etc/hosts
  192.168.39.201  VM1-host  VM1-host.domain
- add the lines to /etc/sysconfig/network
  NETWORKING=yes
  HOSTNAME=VM1-host.domain
  GATEWAY=192.168.39.1

Wednesday, September 18, 2013

PDFzilla - a Review



PDFzilla is like a swiss army knife of PDF - it does many different things with PDF files. It can convert PDF to many different file formats including Word, Excel, RTF, TXT, images (BMP, JPG, GIF), HTML, SWF and many more. In terms of PDF manipulation, it can rotate, merge, cut. This program is very useful and user friendly to manage PDF documents. Although there are other software, PDFzilla has the advantage of being easy to use and having so many functionality under one roof.

The welcome screenshot is shown below. It has all the main functionalities on display. One can very easily choose the main functions to be used. By clicking on any of the buttons, it opens up other dialogs that allow you to choose more options for the specific functionality required.



Editing is one of the most important features of PDFzilla. In many cases of usage, a PDF document is just for viewing. We may create PDF document by printing and then send to others to read. However sometimes we get a PDF and we want to modify or add new information. This is where we need a functionality to edit PDFs. This is where PDFzilla can help and is very useful to be able to edit the PDF documents. This means you can share documents with friends, and also work together by reviewing and editing each others' work.

Another important feature that PDF zilla brings is the ability to support over 20 languages. Since we are living in a globalised world, we communicate using more than one languages. Originally, PDFs may have been written for English audience. However now the whole world has got internet and is using electronic document formats such as PDFs, it is very important for PDF to be able to recognize many languages around the world. PDFzilla can do that very well. It renders German, French, Spanish, Italian and all the Unicode languages.

Another wonderful set of features in PDFzilla is the ability to manipulate files in PDF format. This include the ability to merge, cut and rotate PDF files. Sometimes we may get a collection of many one-page PDF documents but they are of the same topice. Hence we can use the very useful feature of PDF merge in PDFzilla to do the merging. Then sometimes we scan pictures into PDF documents and they are scanned sideways. This is when we can use the rotate feature of PDFzilla to rotate the PDF documents.

Disclaimer: This is a paid review. Review writers of PDFzilla get a free copy of PDFzilla. Thanks!

PDFzilla official site

Saturday, August 24, 2013

Windows 8

Here's a collection of links, notes and information on Windows 8 on the topic of recovery, creation of recovery DVDs, USBs and so on.

How to get System Properties?
- Go to the desktop
- Click on the Windows Explorer file manager icon.
- In Windows Explorer, right-click on the Computer icon and choose Properties.
- Information displayed include:
Windows 8  Product ID
Processor (CPU)
Memory
Computer Name
Workgroup

How to Open Charms
- Windows + C

How to get into BIOS
- For Toshiba P70, when PC is restarting, press F2

How to delete a wifi profile?
- In the Command Prompt, type:
   netsh wlan delete profile name="network_name"

How to Connect to a Hidden Wireless Wifi.
- On the Task Bar, right click on the network icon and select: Open Network and Sharing Center.
- Click on: Set up a new connection or network
- Choose: Manually connect to a wireless network
- A dialog box appears, fill in the following:
    Network name: the router's name that you set
    Security Type: eg Personal WPA2
    Encryption Type: AES
    Security Key:  the one set on the router
    Check: Start this connection automatically
    Check: Connect even if the network is not broadcasting (Need to ignore the warning about privacy issue). If this is not checked, then hidden SSID networks cannot be connected automatically)




Windows 8 Recovery

Search - Apps: " Recovery"
- Recovery Media Centre
Search -Settings: "Recovery"
- Refresh Your PC
- Remove everyhting and reinstall Windows



How to Create Factory Recovery USB Flash
- go to Charms
- Search for: recovery
- Run: Create a recovery drive
- Uncheck "Copy the recovery partitions from the PC to the recovery drive (512MB required)
- If Check the above options, USB needs to be 32GB at least.


How to use Factory Recovery USB Flash
- This assumes the recovery partitions are not copied. So this USB can only use to fix the system, or recover if the recovery partitions are still on the PC.
- Restart Computer and change BIOS (press f8) to boot from USB first.
- Restart Computer and follow instructions.
- Select Language, then Keyboard, then choose "Use a device". The options are:
   EFI USB Device
   EFI Network
   EFI DVD/CDROM
- Choose TroubleShoot, which has this options:
   Refresh Your PC
   Rest Your PC
   Recovery Tool
   Advanced Options
- In Advanced Options, there are:
   System Restore,
   System Image Recovery,
   Automatic Repair,
   Command Prompt,
   UEFI settings
- "Choose EFI USB Device"



Links:

How Do I Use Windows 8 Recovery Disc?
http://www.tomshardware.com/faq/id-1653296/windows-recovery-disc.html
- Vendors may ship for free the Windows 8 recovery discs.

Create installation disc (DVD) for new laptop. Windows 8
http://www.tomshardware.com/forum/1755-73-create-installation-disc-laptop-windows

Windows 8 Tip: Create Recovery Media
http://winsupersite.com/article/windows8/windows-8-tip-create-recovery-media-144098

Factory Recovery Media
http://www.eightforums.com/installation-setup/22219-factory-recovery-media.html

How to Create a Recovery USB Flash Drive in Windows 8
http://www.eightforums.com/tutorials/5132-recovery-drive-create-usb-flash-drive-windows-8-a.html

Official Toshiba site: I’ve lost my Recovery Discs or didn’t have any in the box when I purchased my computer.
http://www.mytoshiba.com.au/support/item/69


Saturday, July 27, 2013

Notes Android Apps

There are several other blog post here at xtechnotes.blogspot.com about apps for Android but they have been scattered. The goal of this post is specifically on Android Apps and presented in their relevant categories. 

One obvious point is that there are thousands of apps out there. The list below deliberately contains only a few apps per category. The goal is to list the top apps only, so readers don't need to face with hundreds of apps for the same functionality, especially many of the available apps are questionable.

For reference, the other older sites are:
http://xtechnotes.blogspot.com.au/2010/12/notes-zenithink-zt-180-epad-android.html
http://xtechnotes.blogspot.com.au/2010/06/mobile-applications-for-apple-android.html

All apps listed below are for Android (may be available for other Operating System as well) and totally FREE.

NEWS
Feedly - aggregates websites and blogs.
Pulse - aggregates websites and blogs with offline cache support?
Flipboard - creates personalized magazine from specified topics.
Zite - learns your reading habits and compiles into a magazine format.


PHOTOS
Instagram - take photo and edit with many filters.
Snapseed - photo editor with gesture control.


UTILITIES
Onavo Extend - track data usage of apps And compress data download.
AutomateIt - setup triggers and actions to automate tasks on device.

Astro File Manager
ES File Explorer
File Manager Explorer
Inkredible - Note taking app that is not sensitive to palm accidentally resting on the tablet.
WiFi Analyser and Surveyor
Disk Usage - DiskUsage Shows How Your Android's Storage Space Is Used

VOICE / VIDEO / TEXTS
There are numerous apps that allow for voice calls, video calls and text messages. The list is available in:
http://ausfinance.blogspot.com.au/2013/06/mobile-apps-free-apps-for-call-text.html

SOCIAL
Whatsapp Messenger - free sms send from phone.
1stavailable - Medical booking program.

BLOGS
Blogger
Wordpress

PRODUCTIVITY
Evernote - note taking, image capture, OCR on server side.
Receipts (Proximiant) - scan receipts

LIFESTYLE
Runkeeper - measures pace, distance ad calories.
Kindle - ebook reader.
Zeebox Au - electronic program guide for free tv and foxtel. 
Jamie's Recipes - instructions for a variety of dishes


MEDIA PLAYERS
MX player
RealPlayer
RockPlayer

MUSIC - Radio
Pandora Radio - specify artist, song or composer and it Will create a radio station with relevan music for free.
TuneIn Radio - listen to radio from local and worldwide stations.

Stitcher Radio
Live365

TV
Aview - Free TV from BBC.


GAMES
Clash of Clans Free
Real Racing 3 
Dead Trigger


TRAVEL
XE Currency - conversion of world currency with historic rates, works offline.
TripAdvisor Hotels Flights - research and review hotels, restaurants, flights.
Kayak - comparison for flights, hotels and car rentals.


GOOGLE
Handouts - live chat and video calls.
Translate - translate between different languages.
Maps - street and satellite maps.


SECURITY
Avast Mobile Security
Avira Antivirus Security
BitDefender Mobile Security
Lookout
Trend Micro Mobile Security
Eset Mobile Security & Antivirus
Qihoo 360 Mobile Security
Norton Mobile Security
Zoner Antivirus Free
Wiper - app for doing various things like messaging, songs, but in a secure manner

Thursday, July 11, 2013

Notes PostgreSQL


Installation Notes
--prefix=/usr/local/pgsql # default


1)  ./configure --prefix=/home/chee/usr/pgsql --with-perl --with-python --enable-odbc --enable-syslog

2) gmake

3) gmake check

4) gmake install

5) add path to LD_LIBRARY_PATH, PATH, MANPATH

6) create user "postgresq" -> adduser postgres

7) Install database directory:
   cd /home/chee/usr/pgsql/
   mkdir data
   chown postgres /home/chee/usr/pgsql/data    # change owner of "data" to "postgres"
   su - postgres                               # install db as user "postgres"
   ~/usr/pgsql/bin/initdb -D /home/chee/usr/pgsql/data   # installing db
   
8) Starting the database:

/home/chee/usr/pgsql/bin/postmaster -D /home/chee/usr/pgsql/data
or
    /home/chee/usr/pgsql/bin/pg_ctl -D /home/chee/usr/pgsql/data -l logfile start

     This will start the server in the foreground. To put the server in the
     background use something like

#### does not seem to work
     nohup /home/chee/usr/pgsql/bin/postmaster -D /home/chee/pgsql/data \
         </dev/null >>server.log 2>&1 </dev/null &

     To stop a server running in the background you can type

###     kill `cat /usr/local/pgsql/data/postmaster.pid`
     kill `cat /usr/local/pgsql/data/postmaster.pid`

     In order to allow TCP/IP connections (rather than only Unix domain
     socket ones) you need to pass the "-i" option to "postmaster".

  4. Create a database:

     createdb testdb

     Then enter

     psql testdb

     to connect to that database. At the prompt you can enter SQL commands
     and start experimenting.






     --with-includes=DIRECTORIES

          "DIRECTORIES" is a colon-separated list of directories that will
          be added to the list the compiler searches for header files. If
          you have optional packages (such as GNU Readline) installed in a
          non-standard location, you have to use this option and probably
          also the corresponding "--with-libraries" option.

          Example: --with-includes=/opt/gnu/include:/usr/sup/include.

     --with-libraries=DIRECTORIES

          "DIRECTORIES" is a colon-separated list of directories to search
          for libraries. You will probably have to use this option (and the
          corresponding "--with-includes" option) if you have packages
          installed in non-standard locations.

          Example: --with-libraries=/opt/gnu/lib:/usr/sup/lib.

     --with-pgport=NUMBER

          Set "NUMBER" as the default port number for server and clients.
          The default is 5432. The port can always be changed later on, but
          if you specify it here then both server and clients will have the
          same default compiled in, which can be very convenient. Usually
          the only good reason to select a non-default value is if you
          intend to run multiple PostgreSQL servers on the same machine.

     --with-CXX

          Build the C++ interface library.

     --with-perl

          Build the Perl interface module. The Perl interface will be
          installed at the usual place for Perl modules (typically under
          "/usr/lib/perl"), so you must have root access to perform the
          installation step (see step 4). You need to have Perl 5 installed
          to use this option.

     --with-python

          Build the Python interface module. You need to have root access to
          be able to install the Python module at its default place
          ("/usr/lib/pythonx.y"). To be able to use this option, you must
          have Python installed and your system needs to support shared
          libraries. If you instead want to build a new complete interpreter
          binary, you will have to do it manually.

     --with-tcl

          Builds components that require Tcl/Tk, which are libpgtcl,
          pgtclsh, pgtksh, PgAccess, and PL/Tcl. But see below about
          "--without-tk".

     --without-tk

          If you specify "--with-tcl" and this option, then programs that
          require Tk (pgtksh and PgAccess) will be excluded.

     --with-tclconfig=DIRECTORY, --with-tkconfig=DIRECTORY

          Tcl/Tk installs the files "tclConfig.sh" and "tkConfig.sh", which
          contain configuration information needed to build modules
          interfacing to Tcl or Tk. These files are normally found
          automatically at their well-known locations, but if you want to
          use a different version of Tcl or Tk you can specify the directory
          in which to find them.

     --enable-odbc

          Build the ODBC driver. By default, the driver will be independent
          of a driver manager. To work better with a driver manager already
          installed on your system, use one of the following options in
          addition to this one. More information can be found in the
          Programmer's Guide.

     --with-iodbc

          Build the ODBC driver for use with iODBC.

     --with-unixodbc

          Build the ODBC driver for use with unixODBC.

     --with-odbcinst=DIRECTORY

          Specifies the directory where the ODBC driver will expect its
          "odbcinst.ini" configuration file. The default is
          "/usr/local/pgsql/etc" or whatever you specified as
          "--sysconfdir". It should be arranged that the driver reads the
          same file as the driver manager.

          If either the option "--with-iodbc" or the option
          "--with-unixodbc" is used, this option will be ignored because in
          that case the driver manager handles the location of the
          configuration file.

     --with-java

          Build the JDBC driver and associated Java packages. This option
          requires Ant to be installed (as well as a JDK, of course). Refer
          to the JDBC driver documentation in the Programmer's Guide for
          more information.

     --with-krb4[=DIRECTORY], --with-krb5[=DIRECTORY]

          Build with support for Kerberos authentication. You can use either
          Kerberos version 4 or 5, but not both. The "DIRECTORY" argument
          specifies the root directory of the Kerberos installation;
          "/usr/athena" is assumed as default. If the relevant header files
          and libraries are not under a common parent directory, then you
          must use the "--with-includes" and "--with-libraries" options in
          addition to this option. If, on the other hand, the required files
          are in a location that is searched by default (e.g., "/usr/lib"),
          then you can leave off the argument.

          "configure" will check for the required header files and libraries
          to make sure that your Kerberos installation is sufficient before
          proceeding.

     --with-krb-srvnam=NAME

          The name of the Kerberos service principal. postgres is the
          default. There's probably no reason to change this.

     --with-openssl[=DIRECTORY]

          Build with support for SSL (encrypted) connections. This requires
          the OpenSSL package to be installed. The "DIRECTORY" argument
          specifies the root directory of the OpenSSL installation; the
          default is "/usr/local/ssl".

          "configure" will check for the required header files and libraries
          to make sure that your OpenSSL installation is sufficient before
          proceeding.

     --with-pam

          Build with PAM (Pluggable Authentication Modules) support.

     --enable-syslog

          Enables the PostgreSQL server to use the syslog logging facility.
          (Using this option does not mean that you must log with syslog or
          even that it will be done by default, it simply makes it possible
          to turn that option on at run time.)

     --enable-debug

          Compiles all programs and libraries with debugging symbols. This
          means that you can run the programs through a debugger to analyze
          problems. This enlarges the size of the installed executables
          considerably, and on non-GCC compilers it usually also disables
          compiler optimization, causing slowdowns. However, having the
          symbols available is extremely helpful for dealing with any
          problems that may arise. Currently, this option is recommended for
          production installations only if you use GCC. But you should
          always have it on if you are doing development work or running a
          beta version.

     --enable-cassert

          Enables assertion checks in the server, which test for many "can't
          happen" conditions. This is invaluable for code development
          purposes, but the tests slow things down a little. Also, having
          the tests turned on won't necessarily enhance the stability of
          your server! The assertion checks are not categorized for
          severity, and so what might be a relatively harmless bug will
          still lead to server restarts if it triggers an assertion failure.
          Currently, this option is not recommended for production use, but
          you should have it on for development work or when running a beta
          version.

     --enable-depend

          Enables automatic dependency tracking. With this option, the
          makefiles are set up so that all affected object files will be
          rebuilt when any header file is changed. This is useful if you are
          doing development work, but is just wasted overhead if you intend
          only to compile once and install. At present, this option will
          work only if you use GCC.

     If you prefer a C or C++ compiler different from the one "configure"
     picks then you can set the environment variables CC or CXX,
     respectively, to the program of your choice. Similarly, you can
     override the default compiler flags with the CFLAGS and CXXFLAGS
     variables. For example:

     env CC=/opt/bin/gcc CFLAGS='-O2 -pipe' ./configure


###############################################
Starting a session (assume database "testdb" already exist)
   =>psql testdb

Information:
   =>select current_user;
   =>select current_timestamp;

System:
- case INSENSITIVE
- use ";" to end statement
- prompt "=>" is first prompt, "->" are subsequent prompts, ended with ";"


PHP connection:
1. In data/postgresql.conf
      tcpip_socket=true

2. In data/pg_hba.conf:
      # TYPE     DATABASE    IP_ADDRESS     MASK               AUTH_TYPE  AUTH_ARGUMENT

local      all                                           trust
host       all         127.0.0.1      255.255.255.255    trust
host       all         129.94.176.241 255.255.255.255    trust

3. Run "postmaster -i ........"




User:
1. Creating user from Unix shell:   createuser demouser1
2. Creating user from within pgsql:
   a) start PostgreSQL by:  psql
   b) creating new user: CREATE USER demouser2;
3. Changing user permissions:
        test=> ALTER USER demouser2 CREATEDB;
        test=> CREATE GROUP demogroup WITH USER demouser1, demouser2;
        test=> CREATE TABLE grouptest (col INTEGER);
        test=> GRANT ALL on grouptest TO GROUP demogroup;
        test=> \connect test demouser2
        You are now connected to database test as user demouser2.
        test=> \q

Commands:
;                        to end sentence
\g                       (go) to end sentence
\p                       (print) to display buffer contents
\r                       (reset) to erase or reset buffer
\q                       (quit)to exit pgsql
\l                       (list) to list databases in the system
\d                       to list all Tables in the database
                         ORACLE: select * from cat
\d TABLE                 to list all attributes or colums of the TABLE
\connect <DB> <USER>     connect to database DB as user USER

\i FILE                  to read/run SQL script
\o FILE                  to print results to file called FILE
\o                       to switch output back to STDOUT
\t                       to switch off column titles when displaying query results
\z                       to see ownership of db objects


Data Types   PostgresQL    Oracle      Description
----------------------------------------------------------------------
char string  CHAR(n)       CHAR(n)     blank-padded string, fixed storage
             VARCHAR(n)    VARCHAR2(n) variable storage length
----------------------------------------------------------------------
number       INTEGER                   integer, +/-2billion range
             FLOAT                     float pt, 15-digit precision
             NUMERIC(p,d)  NUMBER(p,d) user-defined precision and decimal
----------------------------------------------------------------------
date/time    DATE          DATE          date
             TIME                        time
             TIMESTAMP                   date and time

DATE - use
"show datestyle" or
"SET DATESTYLE TO 'ISO'|'POSTGRES'|'SQL'|'US'|'NONEUROPEAN'|'EUROPEAN'|'GERMAN'"

***** PostgresQL has even more data types than listed here.




***************
Creating table
CREATE TABLE friend (
                     firstname CHAR(15),
                      lastname  CHAR(20)   );

Inserting Values
INSERT INTO friend VALUES (
        'Cindy',
        'Anderson'    );

Selecting Records
SELECT <attribute/column> FROM <relation/table>;
SELECT * FROM friend;
SELECT <attribute/column> FROM <relation/table> WHERE <attribute> <OP> <value>;
SELECT <attrib> FROM <relation> ORDER BY <attrib1, attrib2> DESC;
<OP> = {=, <, >, ........}
use "\t" in psql to omit the column titles.


Delete records
DELETE FROM <relation>;       !!! delete all rows
DELETE FROM <relation> WHERE <attribute> <OP> <value>;


Update
UPDATE <relation>  SET <attribute> = <value> WHERE <attribute> = <value>;


Destroying table
DROP TABLE <relation>


Input / Output data using COPY
NULL is displayed as  \N
COPY table TO 'file' USING DELIMITERS '|';
COPY table FROM 'file';
COPY table FROM stdin;
COPY table TO stdout;
COPY table TO 'file' WITH NULL AS '\';          NULL as blanks
COPY table FROM 'file' WITH NULL AS '\';        NULL as blanks
COPY table FROM 'file' WITH NULL AS '?';        NULL as '?'

Copying across network
- use stdin, stdout or pgsql's \copy command

Wednesday, July 03, 2013

Notes BigData

Notes BigData
===============

Definition
Web Intelligence and Big Data course
Why Big Data
Hadoop Ecosystem
MapReduce
Miscellaneous
Analysis


Definition
===========
Ref:  http://www.intel.com.au/content/www/au/en/big-data/unstructured-data-analytics-paper.html

- All history until 2003 - 5 exabytes
- 2003 to 2012 - 2.7 zettabytes
- data generated by more sources, devices, including video,
- data are UNSTRUCTURED, texts, dates, facts. Traditional Analytics are Structured Data (RDBMS).
- Analytics = Profit. Gartner survey - outperform competitors by 20% for those who use Big Data.
-



Web Intelligence and Big Data (WIBD) course
======================================
50 billion pages indexed by google.



More surprising events is better news.
- if event has prob p, then
    information = log_2 (p)  bits of information.

Mutual Information (MI) - between transmitted and received channels
- need to maximise MI
- eg mutual information between Ad$ and Sales
- eg adsense - given webpage, guess keywords.

IDF = inverse document frequency
- rare words make better keyword.
- IDF of Word = Log_2 (N / N_w)
  where N = total docs, N_w = number of word 'Word' in total docs.

TF = Term Frequency
- number of times the terms appear in that specific document.
- more frequent words (in that doc) make better keywords.
- TF = freq of w in doc d = n_w^d

TF-IDF = term freq x IDF = n_w^d x log_2 (N/N_w)
- words with high TF-IDF are good keywords.

Mutual Information between all pages and all words is prop to
   SUM_d  Sum_w  {  n_w^d x log_2 (N/N_w)  }

Mutual Information:  Input F -- Machine Learning -- Output B
Feature F, Behaviour B are independent.
Entropy H(F), H(B)
Mutual Information I(F,B) = SUM_f, SUM_b p(f,b) log { p(f,b) / p(f).p(b) }
Shannon: H(F) + H(B) - H(F,B)

WIBD - Naive Bayes
===================
Consider problem: P(BUY / r,f,g,c) where r,f,g,c are feature or keywords in web shopping.
Bayes Rule: P(B,R) = P(B/R).P(R) = P(R/B).P(B)
Naive Bayes assume r,f,g,c are INDEPENDENT
   - can derive Likelihood
      p(r/B)*p(c/B)*p(other features /B) ..... p(B)
      ---------------------------------------------  = L
      p(r/notB)*p(c/notB)*p(other features /notB) ..... p(notB)

      so if L > 1 we have a BUY, L < 1 then no Buy.



WIBD - Learn
==============
input X = x1,x2,...xn  (n-dimensional)
output y = y1,y2, ... ym
function f(X) = E[Y/X] expectation
              = y1*P(y1/X) + y2*P(y2/X)
Classification(video 5.2)
- eg X=size, head, noise, legs, Y={animal names}
- eg X= {like, lot}, {hate, waste}, {not enjoy}, Y = {positive, negative}
Clustering - unsupervised
- allow us to get classes from data. Need to choose right features.
- used when we DON'T know outputs relationship to start with.
- by Defn Clustering are regions MORE populated than random data
- add random data so that Po(X). So that r= P(X)/P0(X) is large means there is clustering
  then f(X)=E[Y/X]=r/(1+r) y=1 for real data, y=0 for added random uniform data.
- find things that do together to form a cluster. Eg Negative sentiment: hate, bad - but no one need to tell us they are Negative to start with.
- other means of clustering: k-means, LSH
Rules
- finding which features are related (correlated) to be each other. ie trying to cluster the features, instead of clustering the data.
- compare data which are independent features: Po(X) =  P(x1) * P(x2) * ... * P(xn)
  where x1 = chirping, x2 = 4 legged, etc xi={animal features}
  eg P(Chirping) = number of chirping / number of total Data
- Associative Rule Mining
  if there are features, A,B,C,D, want to infer some rule, eg A,B,C => (infer) D
  high support P(A,B,C,D) > s;   technique is to find P(A)>s, P(B)>s etc first
  high confidence P(D/A,B,C) > c
  high interestingness P(D/A,B,C) / P(D)  > i
- Recommendation of books - customers are features of books and vice versa.
  Use latent Models: matrix m x n = m x k TIMES k x n
                  eg people x books = people x genre TIMES genre x books
  NNMF - Non-negative

features: unemployment direction, interest rate direction, fraud

WIBD - Connect
===============
Logic Inference
if A then B    is SAME as ~A OR B  
Obama is president of USA:  isPresidentOf(Obama, USA) - predicates, variables
IF X is president of C  THEN X is leader of C:    IF  isPresidentOf(X,C) THEN isLeaderOf(X,C)
Query: If K then Q, consider that the query means ~K OR Q is TRUE,
       also same as K AND ~Q is FALSE.
       So proving K AND ~Q is FALSE, this means If K Then Q.

WIRD - Prediction
==============
Linear Least Squares Regression:
  x(i,j) with j features to predict, i-th data points with results yi for the i-th point
  Minimizing f(x) = E(y/X) is same as minimizing error = E(y-f(x))^2,  
  ... so let f(x) = xT.f   where f is the features vector of unknowns.
  Finding vector derivative and equate to zero ->  xT.x.f - xT.y = 0
  R^2 used to measure linear regression
Non - Linear correlation
  - Logisitic Regression - f(x) = 1 / (1 + exp(-f^T. x))
  - Support Vector Machines - Data may be high order correlated, eg parabolic correlation etc.
 Neural Networks
   - linear least squares
   - non-linear like logistic
   - feed-forward, multilayer
   - feed-back, like belief network
Which Prediction technique
FEATURES   TARGET  CORRELATION         TECHNIQUE
num        num     stable/linear       Linear Regression
cat        num                         Linear Regression, Neural Networks
num        num     unstable/nonlinear  Neural Networks
num        cat     stable/linear       Logistic Regression
num        cat     unstable/nonlinear  Support Vector Machines
cat        cat                         Support Vector Machines, Naive Bayes, Other Probabilistic Graphical Models



Why Big Data
==============
eg why Google(MapReduce), Yahoo(PIGS), Facebook(Hive) have to invent new stack
Challenges
1. Fault tolerance
2. Variety of Data Types, eg images, videos, music
3. Manage data volumes without archiving. Traditional need archives.
4. Parallelism was an add-on
Disadvantages
1. Could not scale
2. Not suited for compute-intensive deep analytics, eg in web-world
3. price-performance challenge. uses commodity hardware, open-source


Hadoop Ecosystem (See NotesHadoop)
===================================

MapReduce (See NotesHadoop)
=============


Miscellaneous
==============
About our speaker: Bio: Ross is Chief Data Scientist at Teradata and currently works with major clients throughout Australia and New Zealand to help them exploit the value of ‘big data’. He specialized in deployments involving non-relational, semi structured data and analyses such as path analysis, text analysis and social network analysis. Previously, Ross was deputy headmaster of John Colet School for 18 years before working as a SAS analyst, a business development manager at Minitab Statistical Software and founder and lead analyst at datamilk.com.

Ross Farrelly has a BSc (hons 1st class) in pure mathematics from Auckland University, a Masters in Applied Statistics from Macquarie University and a Masters of Applied Ethics from the Australian Catholic University.

Analysis
=========
path analysis
text analysis
social network analysis
natural language processing

Notes Hadoop

Notes Hadoop
=============

References
Famous Websites and their Big Data
Hadoop Ecosystem
MapReduce
Pig Latin
Hive
Twitter Case Study




References
===========
http://searchcloudcomputing.techtarget.com/definition/Hadoop
http://radar.oreilly.com/2011/01/what-is-hadoop.html
http://www.computerworld.com/s/article/9224180/What_s_the_big_deal_about_Hadoop_?taxonomyId=9&pageNumber=3


Famous Websites and their Big Data
===================================
Facebook - data analytics build around Hive
LinkedIN - infrastructure build around Hadoop


Hadoop Ecosystem (See NotesHadoop)
===================================
Big Data - 3Vs (Volume, Velocity, Variety)

Hadoop

Hadoop Streaming - enables user to write Map function and Reduce function, in any language they want. This middleware component will make these functions work under the Hadoop ecosystem.

Sqoop - JDBC-based Hadoop to DB data movement facility. Can transfer from RDBMS to HDFS. Can transfer from HDFS to RDBMS.
- Use Case - Archiving Old Data. Using Sqoop, data from RDBMS can be easily push to Hadoop clusters. Storing data in Hadoop instead of using Tape archives is more cost effective, provide fast access when needed, use one single technology for old and new data hence single know-how.

Hive - Enables users to use SQL to operate on Hadoop data. Hive contains only a subset of standard SQL. May also be used to perform SQL joins with tables from different DB systems, eg on table from MySQL with another table from DB2 or even Spreadsheets.

Pig - "Apache Pig is a high-level procedural language for querying large semi-structured data sets using Hadoop and the MapReduce Platform.
Pig simplifies the use of Hadoop by allowing SQL-like queries to a distributed dataset." "instead of writing a separate MapReduce application, you can write a single script in Pig Latin that is automatically parallelized and distributed across a cluster. "

Fuse - a middleware that allow users to access HDFS using standard file system commands (in Linux).

Flume-ng (next generation) - enable a load ready file to be prepared and then transferred to RDBMS using the RDBMS high speed loaders. The functionality is covered by Sqoop.

Oozie - chaing together multiple Hadoop jobs.

HBASE - high performance key-value store.

All Open Source. Most of the components are Java based, does not mean users need to program in Java.


MapReduce (See NotesHadoop)
=============
- Message passing, data parallel, pipelined work. Higher level compared to traditional Shared Memory or Distributed Message Passing paradigms.
- programmer need to specify only Mapper and Reducer. Message passing handled by the implementation itself.


Pig Latin
==========
http://www.ibm.com/developerworks/library/l-apachepigdataquery/#list1
http://pig.apache.org/docs/r0.7.0/tutorial.html#Pig+Tutorial+File


Hive
=====
Ref: [1] http://hive.apache.org/docs/r0.9.0/

What is Hive?
- Is a data warehouse infrastructure built on top of Hadoop.
- Provides tools to enable easy data ETL, (Extract, Transform, Load)
- put structures on the data, and the capability to querying and analysis of large data sets stored in Hadoop files.
- HiveQL easy for people familiar with SQL.
- Enable MapReduce framework to be able to plug in their custom mappers and reducers to perform more sophisticated analysis that may not be supported by the built-in capabilities of the language.
- Hive does not mandate read or written data be in the "Hive format"---there is no such thing. Hive works equally well on Thrift, control delimited, or your specialized data formats.

What Hive is NOT?
- Based on Hadoop, which is a batch processing system, Hive does not and cannot promise low latencies on queries. The paradigm here is strictly of submitting jobs and being notified when the jobs are completed as opposed to real-time queries. In contrast to the systems such as Oracle where analysis is run on a significantly smaller amount of data, but the analysis proceeds much more iteratively with the response times between iterations being less than a few minutes, Hive queries response times for even the smallest jobs can be of the order of several minutes. However for larger jobs (e.g., jobs processing terabytes of data) in general they may run into hours.

In summary, low latency performance is not the top-priority of Hive's design principles. What Hive values most are scalability (scale out with more machines added dynamically to the Hadoop cluster), extensibility (with MapReduce framework and UDF/UDAF/UDTF), fault-tolerance, and loose-coupling with its input formats."


Twitter Case Study
===================
Ref: "Large-Scale Machine Learning at Twitter"; Jimmy Lin and Alek Kolcz

Hadoop - at the core of the infrastructure.
Hadoop Distributed File System (HDFS) - data from other DBs, application logs, etc are written real time or batch processed into HDFS.
Pig - analytics done using Pig, which is a high-level dataflow language. It compiles the Pig script into physical plans and executed on Hadoop.




Sunday, June 23, 2013

How to Check for Botnets

Botnets is a network of zombie computers.
A zombie computer is one which has been infected with Botnet type Malware that is able to control the computer and do the bidding of the Command centre.

This article aims to list the ways or tools to check if your computer has been infected and become part of a botnet.

Some articles on checking for botnet activity:
http://readwrite.com/2009/03/15/is_your_pc_part_of_a_botnet#awesm=~o9ydyMjFYimWMA
Is Your PC Bot-Infested? Here's How to Tell
     http://www.pcworld.com/article/170546/how_to_clean_bots.html
How to better protect your PC with botnet protection and avoid malware
     http://www.microsoft.com/en-gb/security/pc-security/botnet.aspx


Some tools to identify botnet:
BotHunter http://www.bothunter.net/
SRI International  www.sri.com - the creator of BotHunter
RUBotted (Beta) - from Trend Micro,
Windows Live OneCare safety scanner - online virus scan

Checkpoint- the makers of ZoneAlarm - seem to have a product which may not have been released yet.
"The Check Point Anti-Bot Software Blade detects bot-infected machines, prevents bot damages by blocking bot C&C communications, and is continually updated from ThreatCloud™, the first collaborative network to fight cybercrime."

Thursday, June 13, 2013

Build Budget PC Less Than $300

June 2013

The date is important in regards to any quote. Recently I thought of upgrading an old PC used for some younger family members. The old PC was running an Athlon XP of early 2000s vintages. The PC itself has got a mixture of component.

The challenge is to build a PC for less that $300. As shown in the table below, this can be done. The prices are quoted from www.msy.com.au in Australian dollars. The actual components have prices listed in the Price column. The Alt column shows the prices of alternative PC components.

The key components that need upgrading are CPU, Motherboard, RAM, Hard Drive and Case. The cost limit is enough to include a CPU Fan. The main design is to have the budget Celeron CPU which has integrated ATI Radeon graphics. The motherboard is chosen to include some legacy PCI slots to use the existing wireless adapter card. The lack of grunt of the Celeron is made up by the whopping 8GB RAM. The old DVD writer can be reused. A modern PC Case would improve the image of this budget PC.

Alt Price Components Model Details Link
$62.00 Motherboard AsRock B75 Pro3-M 2PCI, USB3, UEFI, Socket 1155, SATA3 http://www.asrock.com/mb/Intel/B75%20Pro3-M/?cat=Specifications
$60.00 Motherboard Gigabyte GA-B75M-D3V 1PCI, USB3, UEFI, Socket 1155, SATA3 http://www.gigabyte.com/products/product-page.aspx?pid=4151#sp
$44.00 CPU Intel Celeron 1610 Ivy Bridge, 22nm, 2.6GHz, 55W, DualCore, 2MB L3, 64bit http://ark.intel.com/products/71072/
$67.00 RAM 8G Kit 1600 Patriot-S DDR3, 2-sticks
$69.00 Hard Drive WD Green EZRX 1TB 3.5" SATA internal
$20.00 CPU Fan Thermaltake Contact 16 2 copper pipes, 100W http://www.thermaltake.com/products-model.aspx?id=C_00001805
$22.00 CPU Fan CoolerMaster Hyper TX3 EVO 3 copper pipes http://www.coolermaster.com/product/Detail/cooling/cpu-air-cooler/hyper-tx3-evo.html
$15.00 CPU Fan DeepCool Gammaxx200 2 copper pipes, 95W http://www.deepcool-us.com/Product/GAMMAXX200/
$43.00 Case and PSU Generic ATX
$0.00 Wireless Adapter Use existing PCI wireless adapter
$0.00 DVD RW Use existing
 Total   $  300.00