I am a full-stack developer, primarily focused on Angular (with TypeScript) and .NET Core. I have a BA in Linguistics from UCSC and made my way into the software industry after first taking computer science community college courses and then joining a paid internship at Geekwise Academy (now called Bitwise Workforce Training) in 2016. I have been delving into Angular since 2017, ever since writing the first line of code for my then employer’s product front-end overhaul. I now work for Crexi as a front end lead software engineer. I enjoy mentoring in code and helping dismantle some of the built-in barriers found in the coding world. I was also on the non-profit 59DaysOfCode Grand Council for a two year term.
For fun I like to dabble in photography, eat the hottest food I can get away with, and travel. I have put a link to some of my photos below, along with some other relevant information. Please contact me with any questions or comments.
Angular, .NET (Core), RxJS, NgRX, Redux, EF Core, Azure, AngularJS, Node.js, Express.js, Django, Material Design, Bootstrap
English, French, Spanish, Hebrew
Recommended Development Tools in Linux, MacOS, and Windows
I use Linux, MacOS, and Windows, and I like all three operating systems. There might be a tool I like more in one than the others, but I can write code and spin up environments regardless of which OS I’m using. In this article I have put together a list of my recommended development tools. Read more about Recommended Development Tools in Linux, MacOS, and Windows[…]
Recommended VS Code Extensions
Visual Studio Code is my code editor of choice. I regularly use Linux, MacOS, and Windows, and it is very nice to have a consistent tool between each operating system. I have listed my recommended VS Code extensions below. In this post, I talk about general development tools I like to use in each operating Read more about Recommended VS Code Extensions[…]
A Curated List of Angular Resources
Having worked with Angular since mid-2017, I have collected many resources that I have found useful. I will keep this list up to date. Updated Oct 21, 2021 – fixed broken links. Angular Resources General Documentation Angular.io Includes good tutorials, detailed documentation, and API references along with interactive code snippets. This should be the default Read more about A Curated List of Angular Resources[…]
Creating a Multi-Control Custom Validator in Angular
Custom validators in Angular’s reactive form library are one of the most powerful (and in my opinion overlooked) tools a developer has to create better form UI/UX. Custom validators aren’t just limited to a single control. It is easy to evaluate an entire group. This is great for comparing multiple controls. In this article I Read more about Creating a Multi-Control Custom Validator in Angular[…]
Exploring Custom Form Validators In Angular
I believe that the reactive form library in Angular is one of the most powerful tools in the framework. Developers can create performant and reactive forms that provide great UI/UX. One part of the reactive form toolkit that I think people often overlook is creating custom validators. In this article I show how to create Read more about Exploring Custom Form Validators In Angular[…]
Making a Password Strength Component in Angular
The Situation Reactive Forms in Angular are incredibly powerful and let developers design experiences that provide immediate feedback to users. In this post I show how to use RxJS in a reactive form to provide useful UI feedback for a common use case: creating a password strength component to show password indicators to users creating Read more about Making a Password Strength Component in Angular[…]
Making a LocaleUpperCasePipe for Angular
The Problem Angular uses pipes to help transform how data appears in the template. It provides a number of built-in pipes like DatePipe and UpperCasePipe. However, while working on a localization feature for a work project, a coworker pointed out that UpperCasePipe uses toUpperCase() under the hood. toUpperCase() is not locale aware, and will fail Read more about Making a LocaleUpperCasePipe for Angular[…]
Imposter Syndrome talk at IWDC Fresno 2020
I gave another talk! This time it was at IWDC Fresno 2020. The talk is titled Imposter Syndrome: No One Belongs Here More Than You!, and the content is available here. It has been over two years since I gave my last talk at a conference.
I am giving a code talk on observables!
GDG Fresno accepted my talk proposal for Valley DevFest! It is titled Observables Are Not Promises! A How To. The talk will be on October 20, 2018 at 11:00 AM at Bitwise South Stadium in Fresno. I still have some work to do on the talk, and I needed to dust off and update this Read more about I am giving a code talk on observables![…]
It’s about time
I overhauled the website after being convinced by a friend that it was long overdue. I am still using a prebuilt theme but I put a lot more work into customizing it and playing around with php underneath. I am still tweaking things, looking at whether I should add anymore plugins (testing one that pulls Read more about It’s about time[…]