Categories
Keyboard Weekly

Weekly: Drop CTRL Keyboard

I think I missed out two weeks of entry because well… more discipline is needed when writing. However, it has been a really good two weeks because a lot of my purchases has come. One of the most notable one is the Drop CTRL Keyboard. a TKL keyboard that I’ve had my eyes on ever since it launched but couldn’t justify the purchase back then.

The version I got had a black aluminium case, with Halo True switches. This is my first experience with a more “premium” switch that isn’t Cherry MX or Gateron. It is also much heavier than I’m used to at 60g actuation force.

It felt way heavier than I’d liked at the start, but I’ve gotten used to it over the couple of weeks using it, and I’ve really gotten to liking how it feels. The tactile bump is much more pronounced than anything that I’ve tried before, and the very high force required for me to bottom out means that I rarely bottom out they keys which results in a quieter typing experience overall.

I’ve disassembled the keyboard, and lubed every single one of the switches with Krytox 205g0, also clipped, lubed and bandaid moded the stabilizers. All in all, it feels amazing and I never want to go back to using a keyboard that isn’t lubed like this anymore. The unfortunate part was that when I was lubing the stabilizers, I couldn’t get my hands on some thicker grease which would help with the dampening a little more. That has been rectified since.

I’m starting to build up my mechanical keyboard collection as I dive more into this hobby.

  • Krytox 205g0
  • Krytox 105
  • Superlube dielectric grease (PTFE)
  • 20 x Durock T1 switches
  • 10 x Durock Koala switches
  • Switch opener
  • Stem picker (4 prong)

Also bought two custom keycaps sets waiting for them to ship in a couple of months.

I’m extremely excited for GMK Mito Laster keycaps but I think it would only arrive next year, gotta keep my expectations in check.

All of these has made me realize that I really enjoy this hobby and I think I will consider getting more premium cases and boards next year. I am extremely curious about how it feels to use a keyboard with brass plate or carbon fiber plate.

Categories
Learning Thoughts Weekly

Weekly: Google Analytics and building habits

Well, skipping the things that I had to do, one of the fun things that I’ve been exploring is Google Analytics. I’ve heard so much about it, and we actually used it in my current team (just that I haven’t really worked on this portion yet).

Went through the GA For Beginners course and it actually gives me a nice little certificate of completion. So that’s nice. I’m bringing this up because I want to experiment with it, which means that I’ve integrated it with this blog, as well as my landing page. Hopefully I can get some kind of metric at the end of the month. Unless the visitors of my sites are all bots, which would be a little disheartening.

Categories
Development Learning Weekly

Weekly: MySQL benchmarking

Been busy with work and life that did not have the time to explore new things. Or maybe I did just that I forgot. Either way, the plan for the weekends is to explore Caddy as an automated way for me to deploy my portfolio/landing page, either that or cheating and using Netlify instead. The current flow I’m using relies on Ansible to deploy the page, which is a little bit manual in a sense. Hoping to change that.

We started doing benchmarking on our DB because one of our search queries has been slowing down significantly lately, and it’s affecting our user experience. In order to optimize the performance, we need a way of measuring the changes that we were going to implement.

Categories
Development DevOps Weekly

Weekly: building CICD pipelines

The past week has been spent trying to build a centralized Gitlab CICD repository for all services to bootstrap and standardize on.

I’m happy to announce that it has been open sourced! https://gitlab.com/mycf.sg/central-cicd

What’s a centralized CI? It’s basically a template repository for CI pipelines. In this case, it’s for Gitlab because I’m familiar with it and it’s what I’m working with day in day out.

This idea started with my previous project team, but is slowly maturing as I figure out the various cases that it might be used/useful and tweak it accordingly. What it has currently is more of a MVP and POC that it can be used across various projects on Gitlab. You know that because the versioning currently only support patch and not minor/major bumps. It has something to do with how my current team does versioning but it’s the top of my list for things to improve.

Currently there are 4 repositories relying on the CCI, 2 of which are external but still within my control. Features will be incrementally added onto it, and I hope that this could really be something that would help people reduce the amount of time/complexity to build pipelines.

Categories
DevOps Keyboard Learning Weekly

Weekly: AWS and Keyboards

As I am helping another team part time to setup some infra on AWS, I felt my fundamental AWS knowledge being tested all over again. I’ve gotten so used to doing the more “tricky/complex” things that when starting from fresh, got tripped up by some basic setup.

  • Internet facing ELB must have public subnet associated
  • As long as the each AZ has a public subnet associated, the ELB will be able to route to the AZ
  • Public subnets must have IGW, NAT not counted
  • NAT instance must be created in a subnet which has IGW
  • ELB does not need to be in the same subnet as Target Group to route to it
  • ELB needs at least a /27 subnet
  • ELB reserves 8 IP in the subnet for autoscaling
  • NLB does not load balance cross-zone by default
  • ALB load balance cross-zone by default
  • Smallest subnet in AWS is /28
  • OpenVPN Access Server needs EIP
  • OpenVPN Access Server needs to setup through SSH first

While I wasn’t the one who setup the bulk on the networking, I wasn’t able to quickly pinpoint the exact reason why I was unable to get connectivity for the VPN that I was setting up. Just proves that there are some fundamental concepts that I need brushing up on.

On happier news, I finally bought/receive the lube for my future keyboard. Over the weekends I decided to try lubing my current Filco TKL keyboard without disassembly to see how it works/feels.

Categories
Keyboard Learning Weekly

Weekly: diving deeper into keyboards

This week I finally made the plunge into the slightly deeper end of the mechanical keyboard community. I made the pre-order for Drop’s Ctrl Keyboard (Halo True switches). Total damage after shipping: 201.05 USD.

It’s my first step into the custom keyboard modding community. I was contemplating for the longest time if I should build a totally custom keyboard from scratch from sites like kbdfans for example. But the high cost of entry and the fear of screwing up made me decide to go for a semi-custom route instead.

However, while waiting for the keyboard to come, I decided to do some slight modifications to my Filco keyboard to see if I could improve the feel and sound of it.

Categories
Weekly

Weekly: slogging away

This week’s weekly came in late because to be honest, I was feeling a little burned out from work, as well as helping out with covid-19 related projects. The pace that I was working at kind of killed off my desire to do anything computer-related in my free time.

Case in point, I can’t remember the last interesting thing I did the past week, my new NAS is still sitting there, underutilized. But hey, it’s the start of a 3 day weekend so maybe next week’s entry would have something interesting.

After thinking really hard about it, I actually did fix an interesting problem that my windows desktop had for the past couple months (year?).

Categories
DevOps Learning Thoughts Weekly

Weekly: It has been a week?

The past week has been pretty hectic changing between roles as a dev and ops, helping out with other projects till 2-3am every day has really taken its toll and I feel old.

Unsurprisingly, I haven’t been able to really work on any of my own projects but I did learn something interesting that I wish to write about.

Recently facing an issue on Gitlab CI pipeline, where I want to run integration/regression tests on the latest docker build. However, since each image is meant to be production ready, it means that it will be ran as a non-root user. Which means that it will restrict what the user can do when the container starts. Here’s why this problem has caused me such a headache.

Beware, below is really more of a rant about the troubles I faced.

Categories
Learning Weekly

Weekly: Fixed images not loading on blog

This blog has went down twice in the past week. Which seems rather unstable. But I always have to keep in mind that it’s a $1 web host after all.

That 86 mins downtime right there ¯\_(ツ)_/¯
Averaging 1 second for response time, not great but not terrible

I know this because I use this service called uptimerobot which is a freemium service that can help you keep track of your services uptime. I’ve been using it for the past couple of years but I don’t think I’ve ever mentioned on this blog. It’s great because it will send you email notifications when it’s unable to reach your site!

It’s interesting that when I was self-hosting it, it only ever went down for 2 mins over 6,500 thousand hours. It’s a bit insane when I think about how far tech has came.

The logs only shows so far back on the free plan

Not sure if anyone noticed but the images has not been loading consistently on the blog, it was due to the image optimiser + caching + CloudFlare. Decided to simplify everything by relying on WordPress’s Jetpack CDN to load my images instead and it’s loading pretty much instantly now!

Categories
Learning Weekly

Weekly: Circuit Breaker

It has been 3 weeks since Singapore went into Circuit Breaker mode, which is pretty much a semi lock down situation. Been working from home a month or more now and I’m slowly getting really bored of the stay home lifestyle.

That said, I am thankful that I’m in the line of profession that allows me to WFH without much issue and business still goes on as usual. On brighter side of things, mentioned that I bought a new NAS last week, and it arrived this week. It’s definitely a huge upgrade over my old WD MyBookLiveDuo. (2 bay NAS). I remember that when I bought it over 7 years ago, it was the most expensive purchase in my life.

Synology DS918+

Why did I get something that was released in 2018? Well, because the new refresh for it was $200+ more and the only advantage was that it has an extra drive bay. I heard that there will be a new edition for this probably this year or next, but based on the past 5 years or so, there’s really not much performance improvements to expect from a NAS.

The configuration I ended up with was

  • Ram: 4GB
  • Drives: 4 X 6TB WD Reds
  • Cache: None (TBD)
  • Raid: SHR2 (similar to RAID6)
  • Usable space: 10.5TB
  • Network: 2 X 1gbps bonded