Skip to main content

Posts

Reading progress

Now that I am taking the bus to work, I've been trying to adjust to the longer commute and having less time to do things overall. I haven't gotten to the point where I can do any useful work though (I get really dizzy), and I kind of figure that it might never happen. :( On the plus side, I've been able to do some reading (or audiobooking). I've also gained some tolerance for reading in the car, though not for prolonged periods of time. I finished "The Effective Engineer" (early April) as well as "Ray Tracing in One Weekend". I skimmed "The Hard Thing About Hard Things", but had to return the book to the library. And, I've started: 1. Effective Java 2. Clean Code 3. Creativity Inc. (fantastic read... I will write more about it when I'm done. It kind of reminds me of "The Hard Thing About Hard Things".) I've also been skimming through some books (online and e-book) for C++ and Golang. It's kind of hard to ...

Arduino-CHDK update

I finally ordered a bunch of new toys: 22AWG hookup wire, a wire stripper, soldering gun, and heat shrink tubing. So here's how my custom wire looks now: The next thing to do is to get this to work on the LinkIt One since I need the SD card reader/writer on it. The LinkIt One outputs 3.3V on its digital I/O pins, so I'll need to step up the voltage (I think that's the correct terminology?).

The Effective Engineer

I began reading The Effective Engineer by Edmond Lau. I really wish I had discovered (or looked for) the book 10 years ago! Back when I was starting out in my career, I spent a lot of time wandering. What I mean is that if I didn't know something, I wouldn't ask someone for help; I'd google and google until I found something. My rate of learning was pretty slow in the beginning and a lot of time passed before I had a good grasp of basic web technologies. During my job search, I've heard feedback from hiring managers, and from time to time (much more than I wished to hear, but it's good that I heard it) I would get this: "You're not senior enough." It was rather frustrating for me to hear this because in all the positions I've held in the last few years, I was considered one of the "senior" members of the team. Naturally, I felt unsettled, at first. Then this unsettled feeling gave way to curiosity; of course, there was something I coul...

Arduino-CHDK camera triggering

I finally made some progress on my Arduino-CHDK camera trigger! When I first began this project, I wanted to use my Linkit One board since it already has GPS and SD card functionality (big win, because I would have less parts to buy...). I wrote a really simple script to set D13 high for 2s, then low for 2s, and set CHDK to do USB remote triggering. void setup() { pinMode(12, OUTPUT); } void loop() { digitalWrite(12, HIGH); delay(2000); digitalWrite(12, LOW); delay(2000); } It didn't work. My multimeter only read 3.3V... wonder why. I read the docs for the Linkit One and it says that the digital out pins only output 3.3V. I don't have a voltage regulator handy either (I'm not actually sure it would work either? It's been more than 10 yrs since I did anything useful with electronics). Good thing I have my Arduino Uno, because for sure it will output 5V. I set up the script on the Uno and the trigger worked! So now, I guess I ne...

Growing up

... as an engineer. I've spent some time reading and thinking about my career. One of the hiring managers I talked to recently in an interview took some time to tell me what he considered a "senior engineer" according to his criteria. It was probably the most humbling but insightful experience during my job search (the whole job search was quite humbling, but not always so insightful) and I am really thankful he took the 10 minutes to tell me what I was missing. 1. Depth. The tools I had the most exposure (in terms of time) to, I wasn't actually an expert in any of them, like Java or Javascript. Just because you write a lot of code doesn't mean you're really good at it. 2. Breadth. I had a lot of exposure to a lot of different technologies, but I certainly could learn a lot more. 3. Communication. Be direct, succinct, and honest in all things, especially when responding to questions. I think I can sum it all up in one phrase: Always be coding and alway...

Using the CropScape API

Recently, I have been trying to use their ExtractCDLByValues API to get the CDL file filtered on a particular crop value. Using the endpoint they provide (and changing the year/fips values) didn't work for me. Instead, I had to: 1. Invoke GetCDLFile (e.g. GET https://nassgeodata.gmu.edu/axis2/services/CDLService/GetCDLFile?year=2009&fips=19015) 2. From the response, use the URL for the "file" parameter for ExtractCDLByValues. From there, I was able to download my CDL file.

Reading accountability

I've amassed a ton of books just in the last month and currently have no accountability system. I'll attempt to write about what I'm reading and how I'm putting things to use (whether it's a small assignment or something I am allowed to talk about from work). One of my really big goals is to learn operating systems on somewhat of a university level. Here's where I've begun reading: 1. The Little Book of Semaphores 2. Beej's Guide to Unix IPC 3. Think OS: A Brief Introduction to Operation Systems 4. Operating Systems: Three Easy Pieces Progress summary: I haven't started #1, but I read the intro for 2 and 4. Reading about files and file systems (ch 4) from #3. I've also been trying to read more about distributed systems and working with big data. 1. Designing Data Intensive Applications 2. High Scalability blog 3. Miscellaneous engineering companies' blogs (e.g. Uber, Netflix)