About Me

I’m a computer engineer interested in building hardware and software to make our complicated lives just a little easier.

It all started in 2nd grade, I remember rushing through my school work to get some time to play on the classroom’s 25Mhz Macintosh LC III running Kid Pix and thinking this is something truly amazing.

Then in middle school, I was introduced to Claris Homepage and started creating HTML web pages and going to computer labs full of brightly colored translucent iMacs and iBooks.

My restored iBook G3 Tangerine with 300mhz, 340MB ram, 32GB IDE SSD
Apple iBook (Original)

In high school, I started to learn about repairing Windows 98/2K/XP computers and Active Directory. Also learned the basics of networking with a CCNA class using old CISCO 2501 routers with 10Base-T transceivers but modern equipment had gigabit.

Cisco 2501 router stack with V.35 DB60 serial interlink and dual 10baseT transceivers
Dual Cisco 2501 with a T1 link and 10Base-T to a Catalyst 1900 Switch

Finally, in college, I learned how microprocessors actually compute data to programming code in basic assembler to distributed supercomputing. Classes often used assembler, LC-3, C and C++ but my first real practical language was PHP web development. Another aspect was learning to use FGPAs which has unreal performance but increased complexity.

I find it interesting how dependent life has become on computers yet at the same time the average user knows less and less about how they work.

It is amazing to believe that computers have been in existence now for over 80 years if you count the Z3 as the first computer back in 1941. Yet even with our current day computers, they can barely compete with the expected performance of Quantum Computing which is just starting to show its potential in advanced research labs today.

In college, I was taught programming from a bottom-up approach, meaning starting at the most basic assembler and working up to high-level abstracted languages. This creates an interest in how code actually computes and a desire to create small efficient programs. This contrasts with top-down developers (going from highly abstracted languages down to assembler) that look to utilize all resources to solve the problem without having to learn how everything works. In the end, I believe development teams need a mix of bottom-up and top-down developers to produce good solutions. If we only had low level developers, the computer world would look a lot less impressive and more command line but if we had only top-down developers we would need 1000x the computing capacity to do the same thing. Teams that find that balance and compromise can produce products that are efficient, fast, easy to use, and visually stunning.

openanalytics 1959 views

I'm a 35 year old UIUC Computer Engineer building mobile apps, websites and hardware integrations with an interest in 3D printing, biotechnology and Arduinos.

View Comments
There are currently no comments.

This site uses Akismet to reduce spam. Learn how your comment data is processed.