Tuesday, October 16, 2012
CyanogenMOD 9.1 (based on Android 4.1 ICS) just went stable a month or so ago! There are many instructions on how to get CM9.1 on your Doubleshot... this is the one I ended up using:
From there, you can pick up halfway through the CM9.1 instructions at: http://wiki.cyanogenmod.com/wiki/HTC_Doubleshot:_Full_Update_Guide
Tuesday, October 9, 2012
MultiSeat Linux ConfigurationFor the childrens
We built a gaming PC for the kids, thanks to Craigslist. It's some quad core deal with 2 separate nVidia GPUs... way overkill for Minecraft, but it'd be neat if the two kids could share it.
Here's the setup I use to allow both kids to play Minecraft together on one Linux box with two sets of keyboards, mice, and monitors. This might also work with a single GPU connected to two monitors, at the cost of video performance.
This is running Linux Mint 13, which is based on Ubuntu 12.04
Most of this is based on other sources on the internet. But this version has a working mousewheel (which inexplicably gets mapped to separate events than the rest of the 3-button mouse)
Thursday, August 23, 2012
And then you get a job in the commercial sector somewhere, and you have to work with enterprise Redhat-based systems (RHEL, CentOS, Scientific Linux, etc.) and a lot of the tools and utilities you're accustomed to just aren't readily available.
Here's a list of yum repositories you probably would like to add to your configuration, so you can have the cornucopia you're accustomed to!
- "Inline with Upstream Stable" repository. Mostly LAMP stack servers and language environments, many that are already included with the base RHEL/CentOS distribution, but this repository allows you to run with more recent versions if you need the features or security updates. The packages are designed to peacefully coexist with the older versions provided by your core distribution.
- "Extra Packages for Enterprise Linux" repository. Lots of development tools missing from the base distribution. I usually install this for "gkrellm" and "compiz-fusion" alone.
- "RPMFusion" repository is a merger of a few other repositories that provided packages of patent-encumbered software, mostly multimedia codecs such as ffmpeg and libdvdcss and the like.
"RepoForge" is the new "RPMForge" (it still uses the old name in the config files). This is a merge of a lot of the other big repos, such as Dag Wieer's Apt Repository (DAR) that should pretty much cover lots of other software, such as mplayer, netpipe, and most other things a bit too obscure for base + EPEL.
On the downside, not everything is as well tested with each RHEL/CentOS release, so you can occasionally run into broken packages and dependencies. But if it works, that's less time you need to spend getting some utility you're already accustomed to having and more time to spend compiling or developing utilities you need.
Then just run something like "yum list > yumlist.txt" occasionally and browse through yumlist.txt to find the exact name of the thing you want in the list of all the software installed and available. You could also try using the "gpk-application" GUI (also accessed through the "System | Administration | Add / Remove Software" menu). Not as powerful or useful as browsing/exploring through aptitude, but if you're using RHEL/CentOS you're probably already expected to know the name of the tool you want.
Web / Flash:
- Frozen Bubble
- Tuxracer / Planet Penguin Racer
- Trigger 3D Rally
- Future Pinball
- Armagetron Advanced
- Scorched 3D
- Alien Swarm
- SecondLife (take some monitoring, but you can let them loose on NASA Island and maybe some other museum-style islands.)
- Rigs of Rods
- Simcity 4
- Civilization IV / V
- World of Goo
- X-Plane 9
- Live for Speed
- Sims 3
- Angry Birds
- Math Challenge
- Head 2 head racing
- X Construction
- Katamari Damacy
- Kingdom Hearts 2
- Burnout 3
- Super Scribblenauts
Wednesday, August 22, 2012
Not all utilities are included by default with most distributions, you may need to install them using your package manager first. For RHEL / CentOS, this often also means adding the EPEL, RPMFusion, and/or RepoForge repositories.
A lot of this is also provided by the gkrellm GUI utility, which is a great real-time monitor for system performance. You might want to enhance gkrellm by configuring it to launch some of the commands below to provide additional detail.
- uname -a
- # The currently running Linux kernel version, architecture, build date
- free -mto
- # Memory usage in megabytes, free, disk cache, buffers
- cat /proc/meminfo
- # more memory usage details
- echo "2" > /proc/sys/vm/drop_caches
- # clear the disk cache (useful before benchmarking your disk read performance)
- dstat -a --top-io --top-bio
- # Also displays disk and network utilization, along with the name of the most memory and disk-I/O intensive process.
- # Table of processes, bring up the help ("?") and spend some time playing with the setup... particularly "1", "M/P". Also try making it super colorful with: "A", "Z", "aaa", "Enter", "B". Use at your own peril, but once you have it set up the way you like, use "W" to save that configuration as default.
- # Advanced table of processes with historical logging by enabling the atopd service. Access historical logs using `atop -r`, then jump forwards/backwards in time with t/T . Very useful for debugging system and process issues after the fact, and it's very good at highlighting which system resources are constrained (even relatively obscure ones like context switches per sec).
- # Identify processes using network I/O
- # Identify processes using disk / block device I/O
- # What processes are being run by each user
- # List of open files by process # Particularly useful for figuring out which process is preventing you from unmounting your USB disk so you can terminate it
- pmap -x <PID>
- # Show the memory map of a process, including which shared libraries it's using
- strace -f <command>
- # Run a command and display all system function calls... useful for finding out what a process is doing or trying to do when it isn't responding, what files it's using (filter for the "open" call), etc. Also note you can use it to connect to an existing process with "-p <pid>. Also beware that strace will make the process run slower and perhaps unstable.
- ltrace -f <command>
- # Like strace, but shows all library function calls.
- # View kernel ring buffer of debug messages, which is mostly about hardware and driver initialization activity. Usually also logged to /var/log/messages
- # motherboard / BIOS version information
- # PCI bus devices, add "-v" for more detail
- # USB devices, add "-v" for more detail
- # show device driver kernel modules loaded
- cat /proc/interrupts
- # show number of interrupts triggered by devices on each CPU
- cat /proc/ioports
- # show I/O ports reserved by devices
- cat /proc/iomem
- # show I/O memory ranges reserved by kernel
- # environmental sensor data for temperatures, voltages, fan speeds. Might need to install lm-sensors package and perform initial setup using "sensors-detect" script.
Disk & Filesystem Info
- # flush all buffered / pending writes to disk
- # Show disk free / utilization of each mounted partition
- # show which partitions are mounted
- cat /proc/mounts
- # show which partitions are mounted with options
- sfdisk -l
- # list all visible disk partitions
- smartctl -a /dev/sda
- # display hard disk SMART monitoring information, including runtime and number of detected bad blocks ("reallocated sector count")
- # list and mark bad blocks on a device. Part of RHEL/CentOS RPMForge sg3_utils package
- hdparm -I /dev/sda
- # display disk information, including model and serial number. Also check out "sdparm" for SCSI disks
- hdparm -Tt /dev/sda
- # perform sequential read throughput test
- dumpe2fs /dev/sda1
- # show ext2/3/4 filesystem information. Use "tune2fs" to change options and features, such as journal size, block size, used/unused block map
- du | sort -n
- # report disk usage of current directory tree. Also try the GUI utilities such as "filelight"
- # How much read/write blocks to each disk device
- mdadm --detail
- # Software RAID configuration
- cat /proc/mdstat
- # Software RAID status
- blktrace -d /dev/sda -o - | blkparse -i -
- # record and display disk head movement (well, sector number) as it reads/writes from a block device. It's also possible to plot this over time using the included bno_parse.py script to give a pretty good idea of how many seeks your disk load is generating, as well as how you might optimize it using "readahead" techniques and the like.
- Block device benchmarking tool supporting more load patterns.
- File system benchmarking tool
- # display all configured network interfaces
- ethtool -i eth0
- # show NIC driver and firmware version
- ethtool -S eth0
- # show NIC statistics
- sar -n DEV
- # display transmit/receive statistics over time
- mii-tool eth0
- # show NIC link status
- netstat -ap
- # state of open network ports, connections, sockets, and associated processes
- route -n
- # network routing table
- iptables -L
- # IP filtering tables
- tcpdump -i eth0
- # sniff network activity on a NIC. Better yet, use the "wireshark" GUI to get lots of useful filtering, reporting, and deep packet inspection
- nmap <hostname>
- # probe for open ports on a server (clear this with you rIT/security department first!)
- ping <hostname>
- # measure round trip time to another server over the network
- traceroute / tracepath
- # discover network path to another server on the network and ping times to all network devices in between
- NPtcp # start listener server on remote host NPtcp -h <remotehost>
- # netpipe performance benchmark. Adapt the "geplot" script to plot the "np.out" file to view network throughput vs. packet size.
Video Driver Info
- less /var/log/Xorg.0.log
- # Xorg log file. Also reference config file in /etc/X11/xorg.conf
- # X Window System configuration, extensions, and colorspaces
- # X Window System OpenGL capabilities
- # quick OpenGL test / benchmark
- # NVidia driver configuration GUI
- # X Rotation and Resolution settings
Audio Driver Info
- aplay -l
- # list audio hardware devices. It can also play .wav files.
- # Volume control settings
Input Device Utilities
- # X input events received by a selected window
- # X window client properties of a selected window
- # virtual X keyboard, can be used to send keyboard events with mouse or touchscreen, or even scripts. Works much better than gok (GNOME Onscreen Keyboard)
- # various properties for mouse acceleration, keyboard LED control, sleep timeout, etc. May have to deconflict / disable gnome-screensaver-preferences first if you actually want to use some of these, though.