From Hydrogenaudio Knowledgebase
Revision as of 23:06, 25 October 2011 by HotshotGG (Talk | contribs)

Jump to: navigation, search

About Me

Personal life

I live 4 miles north of Boston, Massachusetts I am 23 year old male.

I am a college student working for a non-profit organization in their IT department. I am the process of going back to school to get my education and obtaining a B.S in Information Technology (sub-concentration in Legal Studies). One of my goals is obtain a Graduate Certification in Network Security and even possible teach distant education courses with a Master of Education someday. My focus right now is mostly on [ Technical Writing]/Communications, Web Development, and most of the time System Administration related tasks. My other area of interest as a hobby is in Sound Recording and Audio Engineering. I hang out HA learning something new and spreading knowledge. I also enjoy help maintaining the wiki, whenever I have spare time. I like discussing technology, current events, politics, philosophy, music or anything in general and enjoy playing my Yamaha synthesizer in my sparetime as a hobby with my Ableton Live 7 setup. Private Message me if you ever have any questions about how do anything related. Additionally I know how to code at a beginner level in C++, Perl, and an intermediate level in C, BASH, and PHP. In the future I will be taking more classes in Shell Scripting, Perl, More C, and Java before I finish my degree.

Notes: I have nothing to do with the League of Legends Player HotshotGG nor am I affiliated with any gaming community on the web ;-D

Technical Skills

Markup Languages: HTML 5.0/XML, CSS3, Javascript, JQuery
Programming Languages: C/C++, Java.
Scripting Language: BASH/KSH, Perl, PHP 5/MySQL
Operating Systems: Windows, UNIX (Linux)
Software Development (Windows): Microsoft Word 2007, 3, Adobe Framemaker 8.0, Adobe Fireworks, Adobe Dreamweaver CS4, Putty, Doxygen 2.0.
Software Development (Linux): Gedit, Quanta Plus, Eclipse, 3, Emacs, Vim, Doxygen 2.0.

Note: I am not familiar with the Mac OS/X operating system, nor do I have any experience reading or working with the object-oriented programming language of C#.

Systems Administration

Note: Adding books I have read and recommend based upon user experience level.


  • Bash Shell Vivek Gite GNU / Linux tutorial that shows you have to write simple/complex BASH shell scripts. (beginner/intermediate)
  • iptables Shows you how to build a simple firewall in Linux using iptable filters (beginner/intermediate/advanced)
  • Samba setting up Samba on Ubuntu so you can file and print share with Windows (beginner)
  • TCP/IP stacks a primer on how the TCP/IP Network stack works (advanced)


System Administration:

Network Security:

  • Wang, Jie. Computer Network Security: Theory and Practice. Berlin. Springer. 2009 ISBN-13: 9783540796978 (graduate)(intermediate/advanced) (Professor and chair of Computer Science department at the University I attend).
  • Stallings, Williams. Cryptography and Network Security 5th Edition. New York. Prentice Hall, 2011. ISBN-13: 9780136097044 (undergraduate)(beginner/intermediate)
  • Davis, Michael.Hacking Exposed: Malware and Rootkits. New York. McGraw Hill. 2009. ISBN-13: 9780071591188 (undergraduate/hobbyist)(beginner/intermediate)

Security Policy:

Web Development


  • LAMP Server This tutorial shows you how to set up a LAMP server (Linux, Apache, MySQL, and PHP) under Ubuntu/Debian Linux (beginner)
  • Nettuts is one of the best PHP web developers portal that includes client and server side tutorials for creating websites. (HTML, CSS, Javascript, PHP/MySQL, Ruby on Rails) (beginner)
  • Sitepoint is another web developers portal that includes client and server side tutorials for creating websites. (HTML, CSS, Javascript, PHP/MySQL, Ruby on Rails, ASP.NET, JSP) (intermediate)
  • Ruby on Rails Documentation shows you how to code with Ruby on Rails. (intermediate)
  • JSP Documentation and tutorials that show you how code JavaServer pages with the open source J2EE 5 Glassfish server. (advanced)
  • PHP Manual the official website manual that shows you how to code with PHP/MySQL. (beginner/intermediate)
  • phpBB is the world's most popular open-source bulletin board (forum software) for your website. (PHP)
  • WordPress An open-source content management system and world's most popular open source blog software (PHP)
  • Drupal is free open-source content management software for your website or business (PHP)
  • JQuery is a javascript animation library that let's you write less code and do more including simplified AJAX routines. (beginner/intermediate/advanced)


Technical Writing

Audio Hardware/Software

My hardware specs and the corresponding audio software I use

Notes: Hardware and Software that run under Linux:

  • AMD 64 Dual Core Processor 4600+ (Perfect for x86_64 distros of Linux)
  • Nvidia GeForce 256MB video card (Proprietary Drivers available for Linux)
  • M-Audio Revolution 5.1 PCI soundcard (ALSA Drivers available for Via Envy 24 chipset under Linux)
  • Sennheiser PCX250 noise-cancelling (closed-cans)
  • Klipsch Pro Media 2.1 speakers with discrete subwoofer
  • Dual-boot Windows XP Media Center / Fedora 15 (Lovelock)
  • Windows:
    • Cdex 1.70 with cdparanoia libraries for ripping.
    • fB2K v0.9.6 for listening
    • Burrrn! for cd writing
    • Azureus/blogs for downloading
  • Linux:
    • Rubyripper with cdparanoia 10.2 libraries for ripping.
    • Amarok/Rythmbox for listening (Rythmbox comes packaged with Ubuntu 8.10 and up GTK+ interface. Amarok must be installed separately)
    • Brasero for cd writing
    • Transmission/blogs for downloading (The default Bittorrent client for Ubuntu GTK+ interface)
    • PS3 Media Server written by Shag3rath is a cross-platform DLNA Media Server for UPNP PS3 consoles (written in Java) platforms supported (Win32, Mac OS/X, Linux x86/64)
  • Portable Devices:
    • Cowon o2 PMP 16 GB with SDHC Reader (One of only two players outside Rockbox firmware that can be used as USB mass external storage device under Linux)
    • Second-Generation Playstation 3. (The new 3rd slim models do not allow you install a second operating system like Yellow Dog Linux anymore)
  • My encoding habits:
    • Vorbis 1.1.3 libraries -q 8 for HD storage and Playstation 3 media transcoding
    • FLAC 1.2.1 -C 3/6 level for archiving my CD's
    • Lame MP3 3.98 -V 0 for compatibility

Linux Media Tutorials & My Shell Scripts

Building and Configuring Google's WebM encoder with libvorbis for Any Linux distro

There are not many tutorials out that show you how to build and configure WebM in FFMPEG 0.6 for Linux so I figured I would write a tutorial on how to do it from scratch so that any hobbyists using Linux can start encoding with the newest actively working encoder 0.9.6 "Bali" that was just released on 4 Mar, 2011. Here are some steps you can take to build the encoder and start playing around with WebM.

Building WebM standalone:

1. Download WebM from the repositories at Google Code (bz2 archive) libvpx-0.9.6.tar.bz2 - webm - libvpx 0.9.6 repository snapshot - Project Hosting on Google Code

2. Unzip the archive to a temporary folder or your desktop using the package manager or the terminal

$tar xvf libvpx-0.9.6.tar.bz2

3. Navigate to the source directory or wherever you unzipped the bz2 archive to $cd /home/USER/libvpx-0.9.6.tar.bz2 for example

4. Once you are in the directory you then type $./configure this will begin configuring the libvpx 0.9.6 for building the source code, which is written in C programming language.

5. Once libvpx 0.9.6 has been configured and tested on your machine 86_64 ELF build for 64-bit Linux machines you can then begin compiling the source code. If there were problems scroll up to see if you can diagnose what the problem is i.e if you are missing dependencies it should tell you what's needed.

6. To compile the source code you need to make sure you have root permission. If you do not contact the person who is charge of your system and ask them for the root privileges if you know the password type $sudo make install. This will begin compiling the WebM encoder.

7. If there were NO compile time errors WebM should be installed on your system. Open a terminal and type $vpxenc -help to run the encoder. If it's not there you may need export your $PATH variable to include the search path for wherever the binary is located on your system.

8. Now that you have have successfully installed WebM on your system you can now enable it in FFMPEG 0.6 optionally if you would like. Proceed to the next section.

Enabling WebM in FFMPEG 0.6:

1. Assuming you have libvpx 0.9.6 installed on your system and you followed the above steps you can now download the FFMPEG 0.6 source. Follow the same steps above to download the source code to FFMPEG 0.6 (tar archive) unzip it to a temporary directory or your desktop.

2. Navigate to $cd /home/USER/ffmpeg-0.6 directory or wherever you placed the folder.

3. Once you are in the directory you need to configure FFMPEG 0.6. This is the tricky part. You need to have YASM installed. Do a search for this in your package manager and install it before you begin to configure FFMPEG (Note: This package is needed to do some complicated assembly linkage in the program before it's built).

4. Once YASM have been installed begin configuring FFMPEG for WebM support $./configure --enable-libvorbis --enable-libvpx --enable-pthreads . (Note: The last part is necessary for 64-bit Linux distros that have multi-threading instruction sets. If you don't enable it you will get an compile time error!).

5. Once the configuration has been completed and there were no errors you can then start to build FFMPEG 0.6 with WebM support. Almost every media program in the known universe uses FFMPEG including VLC. Even if you don't use it you can take advantage of it in the future!. Type $sudo make install. This will enable VP8 / Vorbis libraries and build them into FFMPEG 0.6.

6. You are finished! You can now begin encoding with WebM encoder! If you need to know to how encode with WebM I highly recommend you go to Google WebM website and look for "encoding parameters" in the documentation or reading the FFMPEG 0.6 documentation to see how FFMPEG 0.6 maps presets to WebM.

Please feel free to contact me if there is a problem. Take care and happy hacking!

Shell Script to decode FLAC files and transcode them on the fly

I am currently working on a shell script in Linux that will decode all FLAC files in your ${HOME} directory or a chosen path so that you can transcode them on the fly via the pipe. I will post a sample when I am finished with the script.


Audio Websites:

  • Icecast Streaming links to open-source streaming stations on the net (MP3, HE-AAC, AAC, Vorbis streaming)
  • a cool retro commercial site that brings you back to the 80's. (MP3, Vorbis streaming).
  • Pandora Account my account on pandora radio (AAC streaming)
  • Spotify a new streaming media service available only in Europe. U.S and Canadian expansion soon to come! all tracks are -q 5 Vorbis files and -q 9 files for Premium users (Vorbis streaming)
  • Amazon MP3 commercial website with DRM free single track's and full albums encoded @ 256 CBR or Lame -V 0 presets. All Track's are either $0.89 or $0.99 cents each.
  • ITunes Music popular ITunes music with DRM free track's and albums encoded at 128 kbps ITunes AAC encoder or "ITunes Plus" 256 kbps AAC. All track's are $0.99 cents each. (AAC streaming)
  • Musicbrainz Database essential for metadata and tagging your records

Lossless Audio Websites:

  • HD Dowloads a list of websites offering lossless audio downloads (pay or for free)
  • 7Digital a European digital music distribution website that offers lossless downloads occasionally (FLAC)

Musical Interests

My musical interests are:

  • Music
  • Classical
    • Use of classical music in diverse genres (indian and chinese classical)
    • Film Compositions/Scores (post contemporary and popular themes)
    • Pieces by famous classical composers of Classical Era and before (Bach, Tchaikovsky, etc).
  • Electronic
  • Ambient
    • IDM/Braindance
      • Squarpusher
      • Mu-Ziq
      • Venetian Snares
      • Mouse On Mars
    • Big Beat
      • FC Kahuna
      • The Chemical Brothers
      • The Crystal Method
      • Fatboy Slim
      • The Prodigy
      • The Propellerheads, etc.
    • Chiptunes
      • C64 SID
      • Amiga
      • Super NES
      • Sega Genesis
    • Netlabels
      • Kahvi Collective
      • 8-bit Peoples
    • Electroclash
      • Felix Da Housecat
      • Fischerspooner
      • The New Deal, etc
    • Electronic Dance Music
      • Full-on Psychedelic Trance/Goa Trance
        • Infected Mushroom
        • Astrix
        • Vibe Tribe
        • G.M.S
        • Ananda Shake
        • Sesto Sento
        • Visual Paradox
        • The Misted Muppet
        • Goa Gil, etc
        • Astral Projection
      • Progressive House
        • BT
        • Hybrid
        • Quivver
        • Way Out West
        • Hernan Cattaneo
        • Henry Saiz
      • Tech House
        • Sasha
        • James Zabiela
        • Neil Quigley
        • Paul Woolford
        • Rodriguez Jr.
        • Stimming
        • Kollektiv Turmstrasse
      • Breaks
        • Meat Katie
        • Plump DJ's
        • Dylan Rhymes
        • Koma and Bones
        • Elite Foce
        • Evil 9
        • Andy Page
        • Uberzone
        • Adam Freeland
      • Alternative/Indie
        • Oasis
        • The Fray
        • Jack's Mannequin
        • MGMT (Management)
        • Parachute
        • TV On The Radio
        • Neon Trees
        • Vampire Weekend
        • Modest Mouse
      • 80's rock/pop
        • Chicago
        • Hall and Oates
        • Huey Lewis and The News
        • Toto
        • Journey
        • Foreigner
        • Lionel Ritchie
        • Michael Jackson
        • Steve Winwood
      • 80's synth pop/new wave
        • Oingo Boingo
        • Tears For Fears
        • Spandau Ballet
      • 80's Soundtracks
    • funk
    • jazz
    • blues
    • hip hop, etc.

HA Questions

Questions that I will answer:

  • Ogg Vorbis technical questions (I am not a xiph zealot). I just like the project
  • Questions regarding other codecs like AAC, lossless, etc.
  • Thought provoking R&D questions, provide insight, or ask questions
  • Information pertaining to CD ripping and audio hardware (including sound cards)
  • Questions related computer music applications and software (sequencers, hardware, etc)
  • General/technial questions regarding Rubyripper (for Linux)
  • Music discussion forum related stuff or usage.
  • Other thought provoking topics (replaygain, dynamics range, mastering, etc)
  • Questions were I can help people.
  • Pokes at humorous topics.