First try of migration from Terraform to AWS CDK

After few months of hesitation and following different blog posts and news about AWS CDK, I finally decided to give it a try and build infrastructure around simple integration between S3 and CloudFront to distribute different assets and see if this something that I can replace Terraform with - have one project with Terraform 0.11 and AWS provider 1.19 to migrate. First confusion came from CloudFront OAC (Origin Access Control) and it’s actually not supported in both interfaces S3OriginProps nor S3OriginConfig and then I found this GitHub Issue #21771 opened since Aug 26, 2022!

Set MacOS Location based on WiFi name

Sometimes you want to have different network settings based on your location. For example in my scenario I need to have custom defined DNS for my home WiFi network, however in the office I’m fine with the default automatic settings. Unfortunately unlike Linux MacOS (OS X) doesn’t allow you to set custom per WiFi network settings, however you can overwrite DNS per Location. I use DNS ad blocking at home, but unfortunately my router doesn’t support setting custom DNS name network-wide, so I have to reconfigure it on per-device basis.

emacs slow startup time

Before tuning, it worth of checking Emacs startup time itself. Firstly you would need to create a file, let’s call it emacs-startup-time.el and put follow content into it: (add-hook 'emacs-startup-hook (lambda () (message "*** Emacs loaded in %s with %d garbage collections." (format "%.2f seconds" (float-time (time-subtract after-init-time before-init-time))) gcs-done))) then run it: emacs -q -l emacs-startup-time.el In status line you should see time that was needed to load Emacs.

remove bloatware on samsung smartphones

Nowadays Samsung smartphones contains a lot of bloatware. This methods of removing or disabling such apps build with using Android Debug Bridge (ADB). Before we start, make sure that you have ADB installed. For example for macOS, you need to tap a cask: $ brew tap homebrew/cask and install android-platform-tools: $ brew cask install android-platform-tools After that enable USB debugging on your smartphone: Settings -> Developer options -> USB debugging

Monitoring screens on Raspberry Pi

At my company we watch dashboards powered by Grafana, Kibana and OpsGenie. For OpsGenie we use following dashboard with custom modifications. Of course it would be nice to have dashboards always in front of you. Our DevOps team decided to put dashboards on big TV screens hanging on the walls in our room. First version of screens were running on Linux laptops connected over HDMI cables. That was not scalable, was expensive and required manual support to update Linux, restart laptops, etc.

How to root Xperia X from Linux

I was tired of aggressive and annoying ads on my smartphone, especially Youtube ads pissed me of most. To completely disable ads i decided to root my phone. Basically «rooting» a phone gives you super privileges in Android OS. You can modify any system files or install any apps that require root. For me modifying /etc/hosts and blacklisting ad servers there was most important. My phone is Sony Xperia X model F5121 with one sim card.

Install nokogiri on macOS Sierra (10.12)

I tried to install nokogiri for macOS and found few issues: $ gem install nokogiri Fetching: nokogiri-1.6.8.1.gem (100%) Building native extensions. This could take a while... ERROR: Error installing gollum: ERROR: Failed to build gem native extension. current directory: /Users/admin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/nokogiri-1.6.8.1/ext/nokogiri /Users/admin/.rbenv/versions/2.3.1/bin/ruby -r ./siteconf20170226-74031-14etkrn.rb extconf.rb checking if the C compiler accepts ... yes checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no Building nokogiri using packaged libraries. Using mini_portile version 2.1.0 checking for iconv.