Welcome to the personal website of Jesus Alvarez!

Modified: Mon Nov 19 18:03:49 PST 2012

Introduction

I am a happily married 31 year old R&D Machinist in the Solar and Hard Disk industries from Santa Clara, CA. I am currently attending San Jose City College for an A.S. in CNC Machining. After that I plan to attend San Jose State University for a degree in engineering. Hopefully I will be done with school sometime in the next 15 years...

Quick notes about me

How to contact

  1. github
  2. gmail
  3. reddit

My technology background

The early years

In 1997 my eldest sister gave me my first computer, an HP Vectra VL 5/90 with a 90mhz Intel Pentium CPU, 8mb of ram, and a 1 gigabyte hard drive. To this day the greatest gift I have ever received. Being raised on welfare and foodstamps, buying a PC in the 90's was out of the question. This computer opened many doors, and was the only computer our family had for many years until 2001 when I built a brand new computer part by part over the period of a year. Another great aspect of this computer was that it was able to run Starcraft extremely well, and wow did me and my friends spend months (years?) playing nothing but Starcraft.

After receiving this first computer at the age of 16, I spent months learning all I could on how to use it. Time seemed to just fly by. I mostly learned by poking around windows 95 and using the help system, amazingly. I quickly learned it inside and out. I was so fortunate I did not destroy the windows install! My first upgrade was to a Sound Blaster 16 sound card that I spent a month mowing lawns for. This card was amazing! The audio was so clear and Winamp worked great with it!

Soon after getting the computer we signed up for America Online. Version 3.0 was the first version we used and we used AOL all the way up until version 8.0. I spent a lot of time in the chatrooms and soon discovered the "warez" scene and became addicted to it. I would leave my computer on all night to download 100mb applications on a 14.4k modem from the "server" chatrooms. Once I upgraded to a 56k modem, it was like experiencing broadband for the first time. The speeds were ridiculous! A whole MP3 file in 10 minutes! The server rooms consequently allowed me to play with Photoshop and learn the basics of it and also download and learn Visual Studio. I remember the subject for the Visual Studio download was "used to make proggies", so I downloaded it.

I spent about five or six months downloading stuff and trying out programs downloaded from the "server" rooms and always enjoyed the "AOL Proggies" and wanted to make one of my own. This in turn led me to Visual Basic 3.0, the VB chatroom, and programming-- my greatest passion.

I have been programming since I was 17. The first language I taught myself was Visual Basic 3.0 back in 1997-1998 when I didn't really understand the Internet. In this time I also learned HTML. I learned VB and basic computer programming only by reading other code and trying things out. In 1997 all I had was America Online and didn't know how to venture beyond that until 2000. If I had known back then what I know now I would have definitely used Linux a lot earlier and most certainly would've learned Python instead!

Programming is my passion, whether that is making parts on a CNC machine or making my computer display stuff on the screen. My favorite languages are Python, Go, and C (if I feel like working). Languages I have medium interest in are PHP, BASH, and Javascript. My most hated languages are C++ and Java.

Intro into Machining

I started work at Intevac, Inc. in 2004. I began in the detail department sanding and detailing parts. I soon became interested in learning how to use the Hardinge Lathe and the Bridgeport Mill, so I took some introductory classes at De Anza College in Cupertino, CA. Soon after this my boss began giving me machining work. After messing up a lot, and angering a few engineers here and there, I became pretty good. The company ordered a brand new ProtoTrak SMX bed mill in 2007 and I became very good at using this mill, turning out jobs very quickly.

Machining is a very good skill to pull from, and it can be very challenging at times. I am required on many days to hold tolerances of .0001"-.0005". Since I am an R&D machinist, I mostly see rework parts, meaning the parts have already been made and I need to fix them. Sometimes these parts have been through 10 stages of manufacturing and they are mostly one-of-a-kind. So I CANNOT screw them up or it will put the company back thousands of dollars and weeks worth of work! It's always fun learning new machining techniques with these type of parts!

Being a machinist is a very challenging job, unfortunately I make less as a machinist than I would if I were a computer programmer... a lot less. The good thing about being a machinist in the Bay Area is that good machinists are becoming few and far in between. It seems companies like to ship this type of work to China and not a lot of qualified people are going into machinist programs due to job insecurity. The good news is that we still make stuff here! So my job security is great. But still, the pay could be better. This is the main reason I am going to school, to increase my earning power, but also being one of the few members in my family with a four year degree is a driving motivation too. I still get paid a living wage being a machinist and I am grateful, and I also have the opportunity to work my way through college instead of taking out loans, so that is nice too. I also work with some very wonderful and friendly people!

Even after being an R&D Machinist for five years, I am still not journeyman. Hopefully within the next two years or so. My official title is "Machine Specialist".

A dawn of a new computing age

In 2005 I kept seeing this weirdly named OS called Ubuntu in the "cerver" rooms on AOL. Yes I was still using AOL, but only for the warez! I learned about the pirate bay soon enough. I downloaded it but didn't really do anything with it. A couple years later, in 2007, I booted the live cd it and I was hooked. At this time I started learning C.

I soon discovered the meaning of FLOSS and also that everything I needed could be downloaded for free including source code. I soon stopped downloading software from the pirate bay as FLOSS provided everything I needed.

In 2008 I installed gentoo, watching the gcc screensaver was a lot of fun and it really taught me a lot about linux. I also played with Fedora, but really disliked yum, and fell in love with debian. I built a home file server that I used for four years until I found until it was replaced by Arch Linux.

My public development projects

These are the current projects that are taking most of my free development time and angering my wife because all she sees is my back and two monitors.

Sadly, there isn't enough time in the day to work on all the projects I want to work on (Physical and Digital). Sometimes I wish I was a billionaire so that I could hire an army of workers to finally have the systems I dream of. My life would truly be complete then... or would it?

Anyways, enough dreaming. Here are my projects listed in order of current activity and interest.

  1. archzfs

    Updated: Tue Nov 13 00:42:08 PST 2012

    I maintain the ZFS packages for Arch Linux. I began using ZFS for my storage pool because btrfs was not ready yet. There are a set of four primary packages and a total of 18 total packages.

    To help manage all of these packages, I created a custom build tool that allowed me to edit a single file and output to the many different packages and also create and cryptographically sign the packages and the package repository for Arch Linux.

    This tool also allows me to publish the packages to my website using git for easy automation.

    At some point in the future when most immediate bugs are ironed out, I am going to go to the Arch Linux forums and see if anyone else has a need for this utility. If the do, then I will split it off into its own package.

  2. archnetflix

    Updated: Mon Nov 19 17:59:08 PST 2012

    For the time being I will support the packages and repositories that bring Netflix to Arch Linux through the work of Erich Hoover and the Silverlight patchset to WINE.

  3. gcode-sim

    Updated: Tue Nov 13 01:03:36 PST 2012

    A gcode simulator for the web browser I began writing for my school. I got side tracked into Go development (I get side tracked much too often) and it sits mostly un-started. I mostly have the specs written in a text file and some of the frontend stuff laid out.

    I began thinking about this project because the simulator's we used at San Jose City College are badly outdated and I wanted to contribute something that is free and that could easily be maintained. It would also score me huge points with the college staff and machining teachers.

    It really began just as a simple 2D simulator, but being the stubborn ass that I am, I couldn't live with myself if I didn't make it 3D. The only problem is I have a very little clue on how to program in 3D, and even less for the Linear Algebra involved. So there will be some studying in my future! If 80 year old grandmas can make a 3D iPhone game I can do it!

  4. go-calendar

    Updated: Tue Nov 13 00:42:20 PST 2012

    This is will be my first entrance into the Go programming language and is a very much needed component in my personal tracking utility planned for later development. It currently does not do a thing because when I started it, I immediately got pulled into archzfs.

  5. ego

    Updated: Tue Nov 13 01:07:41 PST 2012

    My personal life tool. This tool will help me never loose track of a bill or calendar date again. It will be written in Go and primarily web based. It will run as a daemon on my desktop scraping all of my reStructuredText notes and applying them to a database. This would allow me to search from anywhere I am through my android phone.

    When I am at a computer, I can quickly access my notes using regular expressions to quickly find what I am looking for.

  6. And many many many more!

    There is always a new idea every day, and an itch I just have to refuse to scratch otherwise I will fall down dead from exhaustion!

Projects I wish someone would work on

Updated: Tue Nov 13 00:57:23 PST 2012

These are things I wish someone would create to make my life easier.

  1. Compositing window manager for Linux.

    With NO screen tearing!

  2. Open source graphics drivers that you could actually play games on.

    These are just around the corner thanks to Intel!

  3. Netflix on Linux

    Netfilx is on almost every linux embedded device, just not the desktop itself. FU Reed Hastings!

  4. The death of flash

    Five more years!

Made with Arch Linux!

I have been using Arch Linux as my exclusive distribution since early 2010. I messed around with debian and ubuntu before that for about two years.

Currently, there are two unofficial repositories that I maintain:

My packages and database are signed by my key, but my key is not signed by any of the Arch Linux master keys, see below for more info.

My arch linux contributions

Adding my unofficial Arch Linux repositories to pacman.conf

Add the following to /etc/pacman.conf:

[<one of the repo names above>]
SigLevel = Required DatabaseOptional TrustedOnly
Server = http://demizerone.com/$repo/$arch

Both the database and the packages are signed, so you will have to add my key to pacman's trusted key list.

# pacman-key -r 0EE7A126

verify it using the info below and then sign it with the local master key:

# pacman-key --lsign-key 0EE7A126

The update your pacman database,

# pacman -Syy

and install a package,

# pacman -S <package_that_the_repo_provides>

My PGP Key

All of my packages and package databases are signed with the following key,

0EE7A126

The short version:

pub   2048R/0EE7A126 2012-10-24
Key fingerprint = B18A 9C9F 1E4E EAFF 072D  AB9E 5E1A BF24 0EE7 A126
uid                  Jesus Alvarez <jeezusjr@gmail.com>
sub   2048R/DAB97A2B 2012-10-24

and the long version:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.0

mQENBFCHi6oBCADbqiZasgwE//HtfGvyOynXapEP67tNFsKUgFR/XIVi8Io5ehCD88wOpN0O
02u73OjDssTNh+yEN8ItixhxbZQClE7X4AG2/I49PBsPnY2G3zGPa2TB6vt5GStyVOFJjxsX
F3sWcxfaBXSGonc9Qc8MSKmwwyvG5ASjCYYjK60UKoEqRF09DI/fMaOWcGoosNzNUntzuyAw
9anRPZc/Chtmpd0DyQ4MhkGV18BWSsoGJsTeASo+jq98FcTKhUOfzpPccwmrQ+ViX+RIXIc/
6WtnFs1rE0peWio3sgy+JvywT+8z2yrKZ+ovE1BQYgm2hZ4z6t55gdjfpw4uWtV4BsGzABEB
AAG0Ikplc3VzIEFsdmFyZXogPGplZXp1c2pyQGdtYWlsLmNvbT6JATgEEwECACIFAlCHi6oC
GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEF4avyQO56EmiKoH/iPqzt2+OycQ+tXX
Gv2f/21dSEihGzvyXaC+yOwVrtvMamgxTeChnGi8H3gSabmTGyTJT60WsMmVtgUKZ7rqKh6b
KbV1mIU8m/ZrzGJVrDc8JI+MrDmeaCaqTqZby+NeM5QNZ+FQiHX0dogpO3nvr3EvuipeSGu/
KKsCfR9UxK0SwowBbfn6/3t7obO1il+eq6fHOB0+SuM6a9CssTOtPXim43VaDusaDJ13d5+3
Ey/Mxbif5N+RzMgVavkAL5w0Cf4PElqNWA4aGfDxfhUvZ+WUOC+AFGZ/uGHwxdJLaCSx4aEI
8CDj3trZnPit2umi64JHBb3KYLKey0duz/ztgtS5AQ0EUIeLqgEIALZx/agW3opcodJvUF7K
4L1H9xnqw+bVBXIFyDvSCfWxLgS2MDTl/q38o62u4Htngwix8RsLEWqrtFfAi90VAxJ57pQZ
xYZBAyEOoEOOBYJWbNxneHUSCp6+yGQiiyB0kMoCG9JMlcEmv8fwGqqardBR4+ZM2Acf+aLg
xxi+7B3Ey7Vo/2MnzIu5GeUolDSmyDkUA91WdQByEoUWRVcRvQ+gQz/HGInHxPmqRIKFWSbg
k1oBpCD7yJV+MfJAFaXvrEXn6jLKdIzWixIzhbVpt5RA+2wLzuTA/V5OGglNKOCWshkkjQBw
SCOKPnYez/081Quw+1TIY8FuJY/fEv1Z1ZEAEQEAAYkBHwQYAQIACQUCUIeLqgIbDAAKCRBe
Gr8kDuehJh47B/4myliSn3064a+a77wmvxNphuxKkUPU1gYu0aKF5bmT6nD3iOt3WA8pEcXL
aVkA++nquTu2K8vGqZT4qBvcxP5W8s7mjVhP0h9N7VpikiAouRjEFYCVTjdwJbn0junCTjm4
Ixr4fX5L7EgqCrToKbuQhlocwNPy1aJglm2MwDFzOFxK8R8Dx5O7xD/2b0pBdX/KHPqn2ENC
yiKh/uUuykKpwEXVPPijL6nuA7BBacseXTn8ldAHStrhPEKnZ7mPV9j3VjlRHbYblvLGBBQi
R6y3yNGqe7NjgJQW4e0ibvsbkG6PyUP4BLVUY6CGQFPt1p7dX4xioErHqdqPkjLzMvpi
=TUqo
-----END PGP PUBLIC KEY BLOCK-----
Copyright © 2012 Jesus Alvarez