Author Archives: kiran

Teaching Myself Machine Learning with Julia! – Part 1

I have always wanted to “get into” machine learning, but I was always overwhelmed by the vast number of libraries, backends, and packages there are. I learn a lot by the implementation of something, much more so than just reading the math that describes the behavior.

This last semester of my masters degree, I am taking a deep learning course. Although this course isn’t focusing on implementation of algorithms primarily, I am planning on following along with implementation in Julia.

I have gotten pretty far already, and I have learned SO much more in doing so than what I have gotten out of the class so far. I wanted to document this process for anyone who is in a similar place and wants to learn more about using Julia for machine learning.

Continue reading

Building an F5 Mandolin – This is much harder than I thought

Alright, I’ll be honest: I had no idea what I was getting into when I started this project. I watched so many people on youtube build these things with such ease, I dunno, I thought it wouldn’t be as hard as it is. There are so many little things that have been getting in the way that no book I have read, no posts on forums, or mentions in videos have accurately described.

A lot has happened since the last I posted: I’ll try to cover it all here:

After I installed the truss rod in the neck, I went to figure out how to manage the peghead overlay.

Continue reading

Building an F5 Mandolin – Part 1

So I have wanted to build a mandolin for a while now. I have a cheap Ibanez that I got from Guitar Center, but the action is weird, the truss rod is wonky, and the sound is pretty dead. I love building things, so I thought I could give luthiery a try.

I bought The Ultimate Bluegrass Mandolin Construction Manual by Roger Siminoff to follow along and to have actual plans. I have tried to design and build some instruments in the past, but they all were kind of a train wreck.

This mandolin is based on the design of the famous Lloyd Loar F5 Mandolin made by Gibson in the early 20th century. This design is still used everywhere and has the reputation of being the “classic” mandolin design. Once I understand the mechanics of the building process, I hope to design more custom instruments.

Continue reading

A Brief Introduction to Julia’s Object System

I have been using Julia for about four months now and I must admit I am in love. I have found Julia to be extremely expressive and a perfect language for scientific computing (see my other blog post about FDFD). Most of what I have done has been structurally similar to MATLAB or Python’s numpy, but recently I have been getting used to something very different, Julia’s object system. There seem to be a lot of blog posts about this, but I wanted to elaborate on some of the subtleties.

Continue reading

A Finite Difference Frequency Domain Solver in Julia

There are many commercial solutions to solving Maxwell’s Equations for complex electromagnetics problems. This general purpose approach is great for commercial solvers, but doesn’t easily lend itself to specific problems for which a solver could be tailored for. There are a few open-source electromagnetics solvers, but the powerful of which are written in syntactically dense C or C++. For this project, I wanted to explore the simulation of a frequency-selective device, or FSS. Specifically, a binary-diffraction grating for mm-wave. These type of devices are well suited for simulation in the frequency domain. For the time being, I chose to stick with the traditional finite-difference method of solving the PDEs. So, presented in this text is a finite difference frequency domain solver using the modern programming language Julia. The device I am simulating is generalized to a 2D solution with periodic boundary conditions but could be easily extended to 3D.

Continue reading

Setting up Spacemacs – My new favorite text editor

Emacs or vim? Nano or pico? What about notepad++, sublime, atom, VScode, ed?

I have certainly made the rounds with text editors over the years and I never felt like any one was perfect. I used Notepad++ for a long time on windows. I liked the utility it had, but I always wanted a more full-featured IDE that worked with the different languages I would program in. I tried Sublime and its close cousin Atom for a while, but it too lacked some features that I wanted. When developing in linux, I became very familiar with the infamous Vim editor, which I loved. In fact, I kinda went package and extension crazy with linting and smart auto-completion. My vim setup almost did everything I wanted, but it fell short in doing the few things that required a GUI, like editing a LaTex document. I didn’t think the perfect editor existed, that is before I found Spacemacs.

Continue reading

Ultra Low Noise Transistor Modeling

When modeling transistors for use in low noise amplifiers, special care must be taken to accurately simulate small signal noise performance. As the minimum achievable noise temperature drops, measurement uncertainty increases. This work documents the development of models for the OMMIC 4F200, a 70 nm GaAs pHEMT, and the Diramics 4F250, a 100 nm InP HEMT. A two step procedure was taken to completely extract the small signal and noise parameters with reasonable certainty using a modified Pospieszalski model.

Continue reading