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.
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.
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.
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.