Articles

Mystery load on my Arch Linux laptop

This weekend PyOhio was taking place at the Ohio State University Union building. While sitting in one of the presentations yesterday, I noticed that my battery was a bit lower than I expected. This also lead to me noticing that my load average was hovering between 1 and 1.5 despite having very little running on my computer. I started investigating. I stopped a lot of services & applications, rebooted, booted into rescue.target (systemd's "single user-ish" mode), etc... No matter what, the load was consistently above 1 no matter what.

After poking around for a while, I tried unloading the virtualbox kernel modules - vboxdrv, vboxnetflt, and vboxnetadp). My load started dropping like a bag of hammers. It looks like the problem driver is specifically vboxdrv:

[root@earth ~]# modprobe vboxdrv
[root@earth ~]# uptime
 13:34:34 up 22:17,  1 user,  load average: 0.06, 0.17, 0.14
[root@earth ~]# uptime
 13:34:45 up 22:17,  1 user,  load average: 0.20, 0.20, 0.14
[root@earth ~]# uptime
 13:35:46 up 22:19,  1 user,  load average: 1.00, 0.42, 0.22

As you can see, load just immediately starts climbing. Let's unload it!

[root@earth ~]# rmmod vboxdrv
[root@earth ~]# uptime
 13:59:57 up 22:43,  1 user,  load average: 0.99, 1.07, 0.92
[root@earth ~]# uptime
 14:00:17 up 22:43,  1 user,  load average: 0.71, 1.00, 0.91
[root@earth ~]# uptime
 14:02:42 up 22:45,  1 user,  load average: 0.08, 0.63, 0.78
[root@earth ~]# uptime
 14:02:58 up 22:46,  1 user,  load average: 0.06, 0.60, 0.77

And just like that, load returns to normal. I guess now's a good time to switch to libvirt!


Planck 40% Ortholinear Keyboard Review

I have been a mechanical keyboard enthusiast for several years now. I frequently lurke at r/mechanicalkeyboards and GeekHack. At work I use a Cooler Master Quickfire Rapid with Cherry MX Blue switches and at home I use a Unicomp Customizer 104 with buckling spring switches. A little over a month ago I stumbled upon a DIY 40% ortholinear keyboard called the Planck. It was created by Jack Humbert who sells the parts at ortholinearkeyboards.com. Building my own keyboard (and having full control over the firmware) sounded like a great experiment and I've never used an ortholinear (grid keys) keyboard, so I decided to go for it.

➟ Read more

Dance Dance Revolution Arcade Unlock Codes

A couple of weeks ago I noticed that ddrfreak.com's site is either broken or a lot of content has been removed. I had installed DDRMAX2 on one of my arcade DDR PCBs and went to ddrfreak in search of unlock codes. To my surprise, they were nowhere to be found. A quick search on the Way Back Machine gave me what I needed. I decided it would probably be a good idea to make a blog post containing these unlock codes to further preserve them.

Secret Menu

Accessing the secret menu requires access to the operator menu. Once you are in the operator menu, move your selection to "GAME OPTIONS" but do not press start. Hold the 1P down arrow and the Service button and press 1P start. This should put you in the "SECRET" menu.

DDRMAX 6th Mix

Unlocks 1-3 (All): PGEKMMN-INGLOMI

That should unlock MAX 300, true... ~trance sunrise mix~, and CANDY?

DDRMAX2 7th Mix

Unlocks 1-5:        DGMBJCU - YCDPMAS
Unlocks 1-10:       MCQEMRG - KHVOBWG
Unlocks 1-15:       BARTYY_ - PDSHTBH (the seventh character is a space)
Unlocks 1-20:       USGCFHJ - JLBBYXK
Unlocks 1-25:       IJURVIT - WXFCOJW
Unlocks 1-31 (All): JCYWEKJ - DZJNBGF

Those unlocks correspond to:

 1. ONI COURSE - TEMPO CHANGER
 2. "La Senorita" - CAPTAIN. T
 3. ONI COURSE - NAOKI feat. PAULA TERRY
 4. ".59" - dj TAKA
    "DXY!" - TaQ
 5. "Abyss" - dj TAKA
    "ECSTASY" - d-complex
 6. ONI COURSE - SOUL 6
 7. "Sana Molette Ne Ente" - Togo Project feat. Sana
 8. ONI COURSE - COOL 7
 9. ONI COURSE - Be For U
10. "SEXY PLANET" - Crystal Aliens
11. "WILD RUSH" - FACTOR-X
12. ONI COURSE - POP 8
13. "Holic" - TaQ
14. "TRIP MACHINE CLIMAX" - DE-SIRE
15. "SUPER STAR" - DJ.Rich feat. Tail Bros.
16. ONI COURSE - Fine Choice
17. ONI COURSE - HAPPY HARDCORE
18. "MY SUMMER LOVE" - MITSU-O! with GEILA
19. "LUV TO ME (AMD MIX)" - DJ KAZU feat. Tiger YAMATO
20. "Silent Hill" - THOMAS HOWARD
    "HIGHER" - NM feat. SUNNY
21. ONI COURSE - LOVE RevenG
22. ONI COURSE - From SOLO
23. ONI COURSE - MIDNIGHT BLUE
24. "Spin the Disc" - good-cool
25. "Burning Heat! (3 Option Mix)" - Mr. T. feat. Motoaki F.
26. ONI COURSE - From IIDX
27. "i feel..." - AKIRA YAMAOKA
28. ONI COURSE - NAOKI PLATINUM
29. ONI COURSE - Demon Road
30. "MAXX UNLIMITED" - Z
    "Kakumei" - dj TAKA with NAOKI
31. ONI COURSE - Demon Road 2

DDR EXTREME

Unlocks 1-6:        JLEDKZT - KOZGDJJ
Unlocks 1-9:        UBNRXAO - UJGPQQI
Unlocks 1-15:       PVAGUPM - UALPOEZ
Unlocks 1-18:       RVNYIXO - YKAWEM_ (the last character is a space)
Unlocks 1-24:       SQFRXYY - JSBERAH
Unlocks 1-27:       JHEDXF_ - ALZSMSH (the seventh character is a space)
Unlocks 1-30 (All): BWUVHBK - KVXFXYA

I'm not sure what these unlocks correspond to. Eventually I'll document that as well.


Changes incoming!

I'm moving some stuff around and I've been working on my blog software. Hopefully some good stuff will be coming this week!


Getting back on track

By now it's pretty obvious that I fell off of the NoVIMber wagon. I haven't made any posts recently because I've been discouraged that NoVIMber was a bit of a flop. It wasn't a total failure though! I learned several awesome things about Vim! Reflecting on NoVIMber 2014, there was one major reason that caused me to quit halfway through: Scope creep

My original intention was to write short posts about a single command (or series of commands) each day. This would be a manageable time investment and relatively easy to commit to memory. Instead the posts turned rather monolithic and became difficult to remember in a single day. It's silly to make a blog post about such things when you're not actively adding it to your repertoire. I think these were valuable lessons for all of my future projects. There's a fine line between healthy ambition and overambition.

So what am I going to do now? I've decided that it's time to get back on track with my development outside of work. I've had a subscription to Safari Books for a long time but I use it pretty sparingly - which is a shame since the service is great. When I first subscribed, I'd try to dedicate an hour each day (after work) to reading. It actually worked out really well for a while. Unfortunately, I let life get in the way and fell off of the wagon. I'm going to try something similar again. This time I'm going to guarantee at least 30 minutes per day with 60 minutes being the goal. Once I finish a book (or give up on a book if it's truly awful), I plan on summarizing my thoughts in a blog post here - a kind of informal review.

That brings me to the first book on my list: How Linux Works: What Every Superuser Should Know (2nd Edition) by Brian Ward. I started this book toward the end of November, shortly after its release, and I've enjoyed it thus far. I have a feeling a good portion of it will be review however a quick look at the table of contents leads me to believe that there will be some pretty cool information later. I'll post a full summary/review once I've completed the book.

That's all for now! Happy Holidays!