I had dabbled with CDN before (LiteSpeed, Jetpack), but a recent requirement around my NAS required me to move my DNS service to Cloudflare. So I thought, why not use their CDN, too and compare the before and after performances?
For web traffic, you can use Cloudflare in two modes
DNS only
DNS plus Proxy
As the names say, the first option uses Cloudflare servers as your authoritative name servers, but your traffic goes straight to your original server. There’s no caching and there’s no CDN.
Turning on the proxy is where the real benefits are supposed to be visible. I used their free plan for testing.
As you can see, I used various tools to test the difference in performance.
Network Latency
Being a network engineer, the first thing I tested was network latency difference between my web server and Cloudflare’s proxy.
I tested from Thailand, and as expected, Cloudflare’s proxy has significantly lower latency compared to my web server, which is based in the US. The benefits may be lower if tested from the US itself.
Web Server vs Cloudflare proxy Proxy Ping Results
Average 224ms latency vs 36ms.
This means that my users can experience better Round Trip Times to my website globally by connecting to their nearest CDN, instead of all focusing on one server in the US.
But ping is only part of the story. For real-life results, I used the below tools.
I ran all the tests raw with Cloudflare paused and WordPress plugin disabled. Then I re-ran the tests again, one day after enabling both.
Google PageSpeed Insights
Google PageSpeed Insights is an important tool, especially because Google uses this score as a metric to calculate its search engine Page Rankings. It is a bit simplistic, as in it doesn’t let you select a source server. But it does show results for both mobile and desktop.
Google Pagespeed Insights Mobile, Raw vs Cloudflare
Google Pagespeed Insights Desktop, Raw vs Cloudflare
As you can see, there’s a minimal performance gain, which makes sense because Google’s servers are likely in the US, similar to mine.
DebugBear
DebugBear is similar to Google, but also shows a helpful graph of the different activities happening during your page load. Again, only US is available as a location for free.
DebugBear Mobile, Raw vs Cloudflare
DebugBear Desktop, Raw vs Cloudflare
As you can see, there’s an insignificant decrease in the load score for mobile, although desktop being perfect to begin with couldn’t be improved on.
Solarwinds Pingdom
Pingdom has an advantage over the last 2 tools in that it allows you to select a server location to test from. I chose Australia, being far from USA.
Solarwinds Pingdom, Raw vs Cloudflare
As you can see, there’s an insignificant amount of decrease in Pingdom’s score, but the load time and the number of requests are down significantly.
Wattspeed
Wattspeed’s lighthouse tool allows you to test for Desktop and Mobile separately, but doesn’t let you select a source server.
Wattspeed Lighthouse Mobile, Raw vs Cloudflare
Wattspeed Lighthouse Desktop, Raw vs Cloudflare
Significant increase in scores for both Desktop and Mobile.
Overall Verdict
Test Tool
Raw Results
Cloudflare Results
Google PageSpeed (M)
80/100
84/100
Google PageSpeed (D)
99/100
99/100
DebugBear (M)
71/100
91/100
DebugBear (D)
100/100
100/100
Pingdom
75/100
74/100
Wattspeed (M)
82/100
99/100
Wattspeed (D)
76/100
84/100
The verdict is clear, in most cases, Cloudflare provides significant and measure-able improvements in page load times. Considering that the service is absolutely free, it is a no-brainer to use it.
However, performance benefits are not the only advantages
Cloudflare will stop DDoS attacks on your website.
Cloudflare allows you to set up firewall rules to block certain traffic to your website (eg on the basis of geolocation).
Even if your website ever goes down, Cloudflare can continue exposing your website from its cache.
Signing up for Azure’s free tier was pretty painless (If you don’t count opening each link within their portal in a new tab). Although, a few terms are a bit technical and require doing a bit more research.
I chose the below starting specs for my parent VM:
Zone: Asia Pacific (Central India) OS: Windows Server 2022 Datacenter Edition CPU:2 vCores RAM: 8Gb Disk:HDD 32Gb, 500 IOPS, 60Mbps
*I chose Central India as the Datacenter, because I also wanted to use this VM to access Indian websites, geolocked outside India.
I used the Windows app to remote-in to the parent VM and installed Oracle Virtual Box to host my child VMs. Luckily, the Windows app supports transfer of files from the iPad to the VM, but it is painfully slow (400-700 KBps).
Slow file copy via the Windows iPad app
Eventually, I ditched this approach, because
The on-going costs were more than I was willing to spend on this project (Especially because there is no way to accurately predict how much you will be charged)
The software is quite powerful and except clustering, almost all the features are free.
However, the Hypervisor doesn’t seem to be optimised to run such old OSes. I could get the Windows 98 installation to complete, but I couldn’t get the OS to boot however much I tried.
It was safe to assume even older OSes like Windows 95 and Windows 3.1 would never work. So I gave up.
My Retro Computing plans are on hold for the time being.
I know, I know. I got the Synology DS223j just a month ago. However, I ran across a pretty un-surmountable roadblock with it. It can’t run Virtual machines, which I really want to do. So I returned it and got a Synology DS224+ instead, even though it meant having a device with an Intel Processor.
The first thing I noticed moving from the DS223j to the DS224+ is how much uglier it is.
Synology DS224+
While the DS223j was beautiful and elegant, the DS224+ is an ugly block which has no business being on a living room shelf.
Anyway, function over form. And functionally, the DS224+ is superior to the DS23j in almost every way.
Hard disks popping out of Synology DS224+
The first thing you will notice is that the DS224+ is entirely tool-less. No need to open the entire chassis to plug in the hard disks. The front cover pops out and you can just slot the hard drives in. Also, the drives are hot-swappable.
I think not opening the chassis is good in a way that you don’t accidentally nick critical components fiddling around its insides with a screw driver.
Front panel of Synology DS224+
The second big upgrade is that you can bump up the (2GB) RAM by an additional 4GB, bringing it up to 6GB. The additional RAM allows the Synology to run VMs, among other things.
D4NESO-2666-4G 4GB RAM upgrade for Synology DS224+RAM module installed in Synology DS224+
While the RAM utilisation on the DS223j was always hovering between the 60-80% marks, the DS224+ mostly stays below 20% with my standard applications (DSM, Plex, HomeBridge, Download Center etc) running.
Synology DS224+ CPU and RAM utilisation
The NAS also comes with an extra USB 3.0 port, an additional ethernet port (10/100/1000) and a one touch USB copy feature, none of which I care for.
My biggest surprise was that I found the DS224+ to run cooler than the DS223j (Based on the un-scientific measure of the warmth of air exiting its backside). Especially, because going from an ARM processor to an x86/64 processor, I expected exactly the opposite.
Clearly, the ARM CPU is manufactured using a newer process and has half the TDP of the Intel. This means that either the remaining power consumption is from the other NAS components or that the software is not as optimised for the ARMv8 architecture.
Or that the Realtek chip is actually quite inefficient and running closer to its TDP for the same loads.
Either ways, I tried a few days, but couldn’t get used to how ugly the DS224+ was, so I returned it and went back to DS223j.
Recently, I had been looking to move my pirated media away from the Mega + Infuse combo (Mega had been throttling transfers, causing choppy videos). Additionally, I was paying monthly subscription fees for both. So I decided to move everything to a NAS. My main requirement was for the NAS to not be based on x86-64 architecture and especially not an Intel processor. After a tight battle with the TerraMaster F2-212 and ASUS Drivestor 2, I decided to go with the Synology DS223j.
Even though the TerraMaster and Asustor provided more value for money and in some cases more features (Hot swappable drives, 2.5Gbps ethernet expansion), Synology won me over with their superior software and cloud-based backend.
Overall, few weeks later, I don’t regret getting the Synology DS223j at all.
NAS doing its NAS-ing
Storage
The first action after ordering the NAS was to order the drive(s). I didn’t need much storage space, but I did need redundancy, so I went with 2x2TB drives.
WD Red Plus HDD WD20EFPXSeagate IronWolf 2TB HDD S2000VN003
Following best practice, I got 2 drives with similar performance numbers, but different models, as I didn’t want them to fail around the same time. This happens especially if you buy 2 drives of the same model from the same batch.
The DS223j does not support hot swap of drives, you need to open up the NAS chassis and install the drives using screws.
Synology DS223j with 2 hard drivesSynology Hybrid Raid with Fault Tolerance
Synology DSM 7
Synology DSM is a web based interface to access your NAS. It is extremely intuitive and powerful. The first time it needs to be accessed using the local IP; once signed in to the Synology account, you can access it via Synology’s cloud-based web app (QuickConnect).
Synology DSM 7.2.2
Although Quickconnect can allow inbound connections to your server natively using UPnP, I strongly recommend keeping that disabled on your router and using manual port forwarding rules, instead. It can also check if you configured your router correctly or not.
DSM 7 Control Panel Port Forwarding check
The Control Panel lets you configure almost any aspect of the NAS, I didn’t have to login using the Linux Terminal even once.
There was a short learning curve over a few days to understand what “storage space”, “volume”, “shared folders” meant and I was able to settle down on the configuration in a few days.It even lets you adjust the brightness of the LEDs on the front of the unit and auto-change them during different times of the day. (The Blue Power LED is especially irritating early mornings).
Next, its time to install apps.
Media Server-1 : Plex
Media sharing was the primary reason for getting the NAS. I created a separate encrypted Shared Folder to store my media on.
I spent sme time researching and comparing Plex, Jellyfin and Emby. I installed Plex because the Pros outweighed the cons
Plex Pros
Functional, powerful settings
Fast Library scanning
Cloud/Plex Account based connectivity <—Some self-hosting purists would consider this a con
Accurate metadata retrieval
Natively installable from Synology Package Manager
Plex Cons
Hardware transcoding does not support ARMv8 processors.
Hardware transcoding is a paid feature.
Interface is cluttered, Plex tries to shove its streaming services down your throat (Can get around this by using A 3rd party client like Infuse)
Plex Relay is massively bandwidth limited, even with a paid subscription. Without this, need to pay for a public IP and also setup port forwarding.
Plex can see what you have and what you’re watching.
Plex Client, via browser
Once installed, the web interface is enabled. You only need to use the local web interface once to sign in to your Plex account. Further access can be via Plex’s cloud-based web app.
Although Plex can allow inbound connections to your server natively using UPnP, I strongly recommend keeping that disabled on your router and using manual port forwarding rules, instead.
Plex Port Forwarding Setup
It can also check if you configured your router correctly or not.
Streaming performance is great even without transcoding. I never saw the CPU go above 30% when streaming, nor did I experience skipping and buffering.
Media Server-2. : Jellyfin
I also installed Jellyfin to test it against Plex.
Jellyfin Pros
Completely open source
Completely free
No requirement to have a JellyFin account (The connection is directly between the client and the NAS)
Jellyfin Cons
Indexing is slow and painful.
Movie/V Show matching is not as accurate as Plex
Requires more technical involvement to get it working
Since there’s no cloud component, you have to manually choose between a local connection and an internet-based connection (Some may consider this a Pro)
On Synology, the easiest way to get Jellyfin up and running is as below:
Install Jellyfin from Synocommuity using this guide
Enable https access for Jellyin
Set up Dynamic DNS and SSL certificate using this guide
Set up reverse proxy on DSM and point it to Jellyfin using this guide
On clients, you can install the Swiftfin client. However, there’s a catch:
For devices like TVs, you will obviously connect to Jellyfin server using your local IP
For mobile devices like iPhone/iPad, the switching is not automatic (Like Plex). When on the same network, you need to connect (over http) using the local IP, when outside, need to connect (over https) using the dynamic DNS name set up previously. I didn’t bother and set up the WAN connection permanently. This means even when I am at home, I am streaming over the internet.
The interface is cleaner than Plex, as in it is not trying to shove its own services down your throat.
Eventually I found Plex to be a better match for me and got rid of Jellyfin.
Private Cloud : Synology Drive
Having a second backup of all my photos (First backup is on iClown) was the other reason for buying the NAS.
The NAS comes pre-installed with Synology Cloud Sync, which can automatically sync with a public cloud. I would have preferred this way, but unfortunately, iCloud is not among the list of supported clouds (The fault is likely on Apple’s side for locking down their ecosystem). So I decided to use my iPad to backup photos from my iCloud to the NAS.
Now, there’re two apps which you can use to backup your photos From your iDevice to your NAS – Synology Drive and Synology Photos. Synology Drive works quite like the Google Drive and OneDrive apps; it can be used for file management and backup. Synology Photos, on the other hand focuses on photos and can also act like a media gallery. Both can backup photos equally well and do, to the same location on the NAS. Both apps are quite well built and designed.
I wanted to treat my photos as files and didn’t want the photo management features, so I went with Synology Drive.
The options to backup files and photos are quite extensive.
The app automatically backs up new photos in the background, but this process is quite throttled because of Apple’s restrictions. For the first upload, there’s a special focussed backup mode which can keep the app in the foreground, but lower the screen brightness. Using this, I was able to upload all 18000 photos and videos overnight.
Synology Drive Focussed Backup
Backing up files and documents is a more manual process. You need to frequently copy your files to a dedicated sync folder and the app syncs them from there on.
Synology Drive sync task settings
Apart from requiring manual sync every few days, your device also needs to store 2 copies of each file, which is not ideal. Luckily, it takes less than 10 minutes to upload <20GB of documents (~1800 files).
It’s also a waste of bandwidth, because it synced and overwrites everything, every time, not just changes.
Local Storage : SMB
For local storage and backup, I debated between SMB and AFP. Although AFP did provide faster transfer speeds, I went with SMB because of dwindling support for the former.
DSM provides granular control for multiple users, allowing you to choose which user can access which part of the file system. Eg, I created a separate account for my daughter and assigned a file storage quota on a dedicated shared folder for her MacBook to make nightly automatic backups using Time Machine.
IoT Management : Homebridge
Homebridge allows your NAS to emulate itself as an Apple HomeKit bridge, which further allows you to see non-HomeKit accessories in your Home app. The app is completely open source, and so are the plugins. Ideally you need 1 plugin for each non-HomeKit device you have. I used the below plugins
Your IoT devices need to have a consistent IP address on the local network, I suggest setting up DHCP binding on your router. Some of the plugins have quite an involved process of adding devices, but thankfully it is a one time thing. Once done, the data from your accessories will appear in the Homebridge UI.
Homebridge showing data from IOT
Once you add your Homebridge as a HomeKit bridge in your Apple Home, the data is further relayed to the Home app on all your devices.
Xiaomi Air Purifier data on Apple HomeKit via HomebridgeApple Home Room statistics
The experience is not as seamless as native HomeKit devices and this is not what I bought the NAS for, but it was a pleasant bonus, nonetheless.
Antivirus : Antivirus Essential
Antivirus Essential is Synology’s antivirus solution. I am not sure how effective it is, but it is a pain to run the first time. The first “full scan” took 4 days with the NAS too busy to do almost anything else during that time. Even the first time update of virus definitions takes hours.
Antivirus Essentials on Synology DSM
Thankfully, if you enable “smart scan”, subsequent scans are much faster (Around an hour).
Probably the performance is much better on more powerful units.
Download Manager : Download Station
Download Station is Synology’s web based download manager. For a first party app, it is quite powerful. It can download files from a wide variety of URLs & P2P file types.
Synology Download Station URL dialogueSynology Download Station file dialogue
You can even download using RSS feeds. It is not as powerful as some dedicated clients, but it is good enough that I don’t use a 3rd party utility.
Recently I found out how to get rid of Ads on both WhatsApp and Line. The concept is same for both, pretend to be from a country where the service is not popular.
Get Rid of Ads on WhatsApp
Ads on WhatsApp while subtle, are still irritating for me. The ads are mostly in form of “channels” that some losers pay WhatsApp to promote. Since WhatsApp is very popular in India, using an Indian number to register WhatsApp causes several distasteful channels to be recommended.
WhatsApp channel promotions
The solution was simple (at least for me), change your WhatsApp account to use a number from a country where WhatsApp is not popular. Voila, ads gone.
WhatsApp with an Indian number vs Thai number
Caveat: If the other country doesn’t have Meta AI, you won’t be able to use it in WhatsApp anymore.
Bonus: No more spam from Indian vendors and services.
Now, I understand it may not be possible for everyone to have a number from another country and also, the WhatsApp ads are not so intrusive.
Get rid of bloat and Ads on Line
Line is so much worse when it comes to Ads, bloat and intrusiveness. Just look at how bloated the app is, trying hard to be like WeChat and Facebook.
Line chat list with adsVoomLine TodayLine contact list with ads
There are Ads on almost every page, even on top of the chat list. On top of that, it comes bundled with unnecessary (for me) social networking features. So I tried the opposite trick with Line.
I deleted my Line account which was using a Thai number and registered again with my country selected as India. Voila! A much cleaner app!
Line Chat list without adsLine contact list without ads
The best part is, you don’t need a phone number of the other country at all. You can simply sign in using your Apple or Google ID and be done.
Caveat: You cannot search for other Line users using their phone number, only using their Line ID.
I had been using the Apple iPhone 14 Pro for more than 2 years. But I started yearning to upgrade it as soon as iPhone 16 Pro was announced. I did try to convince myself to wait for another year, but last month, I gave up and bought the iPhone 16 Pro.
The iPhone 16 Pro is a delight to hold without a case
My views on the iPhone 16 Pro
The battery life is much better than the 14 Pro. The phone, now, easily lasts a full day without a top-up. Although I do top-up during the day most days.
Charging is much faster (Including wireless) and the phone emits less heat while charging.
The cameras are a modest improvement. I don’t see a big difference in picture quality most of the times, but for low-light photos, I do see an improvement. Portrait photos are also faster now, with motion frozen. The 5x zoom is useful, but I, personally haven’t found a use-case for it till now. Disappointed that portrait mode photos are still 12MP.
The phone feels much cooler while using. It didn’t overheat once during initial setup, which was more or less guaranteed on the 14 Pro.
It is such a relief to remove the last lightning port personal device from my life and get rid of all remaining lightning cables.
The display is slightly bigger (Although with similar specs) and the bezels slightly smaller, but I don’t notice any of that because I switched from using my phone with a case/screen guard, to using without it, which made a bigger difference.
I can finally fulfil my desire to use my phone without a case. Overall, the phone is extremely pleasurable to hold naked.
The Titanium sides are not glossy like the 14 Pro, almost matte. Looks beautiful and elegant. Doesn’t slip when holding.
The edges are not as sharp as on the 14 Pro.
There’s a pronounced slope when the phone is resting on its back, because of the huge camera island. And since the island is on one side, not in the centre, it is impossible to use the phone when it is lying on a flat surface, as it flops around.
iPhone 16 Pro slope because of camera bump
iPhone 16 Pro Titanium White
Lessons learnt when selling the old Phone
Going to great lengths to keep the phone in pristine condition without a single scratch is not worth it. At the end of the day, it hardly earns any extra money while selling it.
Things like cases, screen guards are all dead weight.
Paying to replace the battery is useless because no one pays extra for battery health.
I’ll go back in time now and make a list of all the mobile handsets I have owned till date. You may notice that the list is quite long, with it being especially dense in the first few years.
The iPhone X still holds the record of the longest used mobile handset by me (almost 3 years).
Good phone, died on the flight to Palo Alto. I spent an entire weekend in San Francisco and many days in Gurgaon trying to get it repaired, but failed.
As you can see, my mobile handsets have gone through different eras:
2003-2005 : Feature Phone era. I generally bought any handset I liked. 2005-2011 : Symbian Era. I mostly had Symbian phones with some other platforms sprinkled in between. 2012-2015 : Lumia Era. I purely had Windows Phones. 2017-Present : Apple Era.
I have been using the Apple Watch Series 7 for almost 3 years without any complaints, nor had a yearning to upgrade. However, the battery health went down gradually over the years. Eventually, at 79% health, I couldn’t even complete a 10k with it playing music while connected to LTE. Fighting back the urge to get the Series 9 or Ultra 2, I decided to wait for the Apple Watch Series 10 and buy that. Strangely in Thailand, it was launched much later, even after India.
Since I experienced a financial windfall, I decided to move up to the Titanium variant.
Apple Watch Series 10 Natural Titanium with Natural Milanese LoopApple Watch Series 10 showing silver colour
My views on the watch
Titanium is absolutely gorgeous. As you can see in the photos above, the watch has a golden hue in warm lighting and silver in cool lighting. At some angles, looks jet black, too.
I had planned to use the Milanese Loop only when going out and my old Braided Solo Loop all other times for comfort. However, I found the Milanese loop much more comfortable than I had assumed, so I almost always wear that.
Wrist temperature monitoring is good to have, but I wasn’t yearning for it.
I can see the difference in screen size, but don’t find it revolutionary. I thought it would look comically big on my wrist, but thankfully, doesn’t. The bigger bezels are also hardly noticeable.
I don’t find the watch any faster or any better in any other way.
I don’t see any changes or improvements to exercise tracking (Except the better battery life, of course).
I can’t remember to use the pinch gestures to decline calls etc.
Apple Watch Series 10 on the dawg’s wrist
Overall, I can say that the upgrade from Aluminium to Titanium is a bigger upgrade, compared to technical improvements (From Series 7 to Series 10) which are nice-to-have but not revolutionary.
Windows 98 SE was the first OS on my first computer, so this was a huge trip in nostalgia. I made an ISO from my old and scratched Windows 98 SE disk, mounted it in UTM SE and let it boot.
Windows 98 SE, Start Computer with CD ROM Support
The boot screen sent me into throes of nostalgia. So did the next steps.
Windows 98 Setup, Formatting Hard DiskMicrosoft ScanDisk, Checking File System
I could feel myself going crazy when the setup GUI came up.
Windows 98 Setup, To begin Setup, click Continue
I got stuck for a while here because I couldn’t make my keyboard and mouse work. Eventually, I figured out that I needed to disable support for USB peripherals and I could continue.
Setup is preparing the Windows 98 Setup WizardWindows 98 Setup Wizard, Select DirectoryWelcome to Microsoft Windows 98Windows 98 SE Setup, Easier to get HelpWindows 98 SE Setup, More Entertaining
After the first reboot, I was presented with the famous “first time” Windows 98 boot splash screen. Another huge dose of nostalgia.
Microsoft Windows 98, Getting Ready to run Windows for the first time
The second phase of the setup is (was) my favourite. I especially like the part with the beating drums animation.
Windows 98 is initializing its driver databaseIs Windows now detecting non Plug and Play hardware in my computer?Windows is now setting up the following itemsUpdating Shortcuts: ProgramsWindows 98 Setup, Updating System Settings
Eventually, after an hour and 50% of my iPad’s battery, setup was complete and it booted into Windows.
New Hardware Found, Standard Display Adapter (VGA)New hardware found, Default Monitor
Last week, something unthinkable happened. Apple finally allowed emulation of any and all OS on iOS and iPadOS. The intended purpose is to emulate retro Windows based games, which matches their recent trend of approval of gaming-system emulation apps. However, for me, it restarts a long-time hobby of running retro OSes purely for nostalgia and hobby purposes. This was not possible before because I don’t have a real computer, just an iPad. The first app to take advantage of this change of heart from Apple is UTM SE.
Now, UTM SE has been available on macOS and jailbroken iOS and iPadOS for quite some time, but this is the first time the app is officially available through the App Store.
Overview
The process to configure a new VM is much like most virtualisation apps out there. You use either an existing image or create a new one, select various parameters like RAM, HDD, CPU architecture, cores etc.
UTM SE: New VMUTM SE: Mount CD/DVD or Floppy imageInside UTM SE: Select Platform, CPU architecture, RAM and CPU CoresUTM SE: Select HDD Size
Your Bluetooth mice/keyboards can be mapped to the guest OS via USB or PS/2 emulation. For older OS (Pre Windows ME) which don’t have out of-box support for USB peripherals, you need to disable USB support for Mouse/Keyboard so that they are emulated as PS/2. Even touch gestures can be used in lieu of a mouse, although the experience is clunky.
UTM SE: Switch between USB or PS/2 for mouse and keyboard
Another useful feature is that you can map a folder on your iOS/iPadOS filesystem to the guest machine allowing you to transfer files easily.
Select Shared Directory
Also, you can choose to include your VMs in your iCloud backups.
For me, the performance is roughly similar to my first Celeron 400Mhz computer. Which, when compared to the 4×3.49Ghz high-performance cores on the Apple M2 means there is an approx 35x performance penalty for emulation. No wonder the “SE’ in UTM stands for “Slow Edition”.
Also, switching to another app causes UTM to suspend the VM after a few minutes. None of this is UTM’s fault, but needless restrictions from Apple to stop iPads from cannibalising Mac sales.
Also, the iPad screen locks after inactivity, which I think is on UTM, because apps (especially games) have been able to keep the screen unlocked through inactivity.
But the good thing is, you can resume from where you left off. Also, you can run multiple windows of UTM itself, even with multiple windows mapping to multiple monitors on the guest.
Battery usage is also extremely high because of the inefficiencies.