Random Notes

Viewing posts for 2019.

Node.js Profile Processing Taking Forever

I was doing some Node.js V8 profiling work at the office near the end of the day and noticed my profile processing was taking a long time. I figured it is just processor intensive and left it running for the day while I went home. To my surprise, the next day it was still running! htop showed me it had accumulated 12 hours of CPU time and was still not finished. This led me to track down a related issue and how to fix it.

Read more…

Code::Stats Server Migration and Sticker Sales

Read more…

Filter uWSGI Logs Based on Path

I was wondering today how to filter uWSGI logs based on the request path because we had an endpoint that was filling our logs with meaningless information. At least for me this was surprisingly difficult to find. So here is an example command line option:

--log-filter '^((?!/api/foo/bar).)*$'

The log-filter flag takes in a regular expression that is used to include lines that match the filter (so it works as a whitelist). To filter lines that don’t contain something, you can use a negative lookahead.

Ultimate Hacking Keyboard Review

History (or How I Got the UHK)

So it turns out mechanical keyboards are like a drug to me. After I tried my first one at work, I had to get more. At the same time I started to pay attention to the ergonomics of my typing. I noticed that when I typed a lot, my fingers and wrists would start getting fatigued quickly. My typing style also had space for improvement, with my left hand stealing a lot of work from the right hand and my fingers hitting the wrong keys. I was a touch typist, but following my own style that was hardly optimal. All this got me looking for something different, an ergonomic keyboard.

Read more…