When I tasted chai, wow, my life was changed. I have been adapting my chai recipe as I have learned from “chai experts” and experimented myself. The primary credits go to my mother-in-law Manju Agrawal.

Chai is very customized for the individual and the region of India. I have included the default options along with bonus options.chai in pot

Serving Size

  • 1 large cup for 1 person
  • 2 small cups for 2 people


  • Pot, Mug, Small Spoon


  • Required Ingredients
    • Water: 3/4 cup (adjust ratio with milk to your taste)
    • Chai: 2 scoops
    • Chai Masala: 1/2 scoop
    • Shredded Ginger: 1 scoop
  • Bonus ingredients (adjust per taste)
    • Black Pepper: 1/4 scoop
    • Clove: 1/5 scoop
    • Cardamon: 1/3 scoop
    • Mint: 1 scoop
    • Cinnamon: 1/2 stick
  • Phase 2 ingredients
    • Milk: 1/3 cup (adjust ratio with water to your taste)
    • Sugar: 2 scoops (adjust per taste)


  • Phase 1
    • Add water to the pot and turn on heat. Add in the required ingredients and your choice of bonus ingredients. Wait for the water to boil.
    • Bonus: wait for the water to rise
  • Phase 2
    • Add milk and sugar. Keep a close eye because the chai will rise.
    • Bonus: Wait for it to rise 3 times.
    • Hint: Put a spoon across the top of your pot to avoid boiling over.
Posted in How-To, Recipes | Tagged , | Leave a comment

Make an old laptop into a “Chromebook”

My father-in-law needed to use a web browser on an old laptop. He liked using Chrome, but Edge would open and not close. Random apps popped up and took up the screen. Windows 10 on an HP laptop was hogging memory with McAcfee and Windows Store games. He just wanted a browser and could not get that after a fresh Windows 10 install.

The “Chromebook” solution has been the right call. The computer boots up quickly and is always responsive. He gets his browser without the extra nonsense.

Chromebooks are maintained by Google, but the open source operating system is repackaged by Neverware into CloudReady. They have different versions, but the free version is the Home Edition.

To install, if you have a Windows computer

  1. Plug in a USB stick
  2. Download the installer and run it (~20 minutes to download the OS image)
  3. Move the USB stick into the destination “Chromebook”
  4. Boot into the USB stick.
  5. Play around with your “Chromebook” and then install by selecting on the bottom right of the Desktop, then “Install OS”.

If you do not have a Windows laptop, you need to manually do steps 1 and 2 on your own, but their website has instructions. It is similar to any Linux bootable USB stick.

Posted in Linux, Reviews | Tagged , , , | 1 Comment

Case positions for Overhead CodeDodger wireless keypad

When trying to set up a new Overhead CodeDodger wireless keypad (with buttons for “SET” and “PRGM”), it is very important to understand what the instructions mean by an “open” case. This is best seen at night when the buttons light up.

In the three pictures below, the case goes from closed, to open, to off. The huge difference is “open” versus “off”. Looking at “off”, there is a button on the top left of the wireless keypad. This needs to be pressed in, and it is pressed in by the case cover. You can see a nub on the case cover that will press that button in. When in position “open”, that nub will push in that top left button, and at night, you will see the keypad light up. Credit for RTKNJ for this amazing advice.

With this knowledge, you can follow the instructions found elsewhere, like here and here.

Last note, if you see the backlight on your wireless keypad, you do not need a new battery.

CodeDodger case closed

Case closed

CodeDodger case open

Case open

CodeDodger case off

Case off

Posted in Hardware, House, How-To | Tagged , , | Leave a comment

UHD 4K @ 60Hz Checklist to Get Your Monitor Working to Its Fullest

A 4K monitor that is running at 30Hz is choppy and jumpy. Everyone wants the full 60Hz for the smooth mouse scrolling. But 4K 60Hz is so much data that needs to be transferred so quickly that every hardware and its configuration from the monitor to the laptop needs to support 4K 60Hz. One weak chain will result in 4K 30Hz.

Follow this guided checklist and be ready to read your hardware’s manual!


Look at the website where you bought the monitor. Does it explicitly say it runs 4K 60Hz?

Monitor ports

Which ports support 4K 60Hz? Are there configurations you need to set? Read the monitor’s manual.

For example, for my Samsung LU28E85KRS/GO, HDMI #1 does not support 4K 60Hz but HDMI #2 does. The DisplayPort port supports 40K 60Hz, but only after setting the DisplayPort Versions  to 1.2 in the monitor’s menu.


Use the cables that came in the monitor box. If the monitor was advertised with 4K 60Hz, these cables will support it. Otherwise:

HDMI – Need 2.0 or greater. These will say “High Speed” on the cable near the ends. HDMI High Speed cable

Display Port – Need 1.2 or greater.

USB C – Need 3.0 or greater

Cable adapters

Read the specifications! Cheap alternatives could overheat and not deliver on their promises.

USB C Adapter from Apple’s website USB C Adapter

3840×2160 at 60Hz on:

iPad Pro 11-inch, iPad Pro 12.9-inch (3rd Generation), MacBook Pro (15-inch, 2017 and later), iMac (Retina 5K, 27-inch, 2017 and later), iMac (Retina 4K, 21.5-inch, 2017 and later), and iMac Pro (2018)

1080p at 60Hz or UHD (3840 by 2160) at 30Hz on:

MacBook Air (2018), MacBook Pro (13-inch, 2016 and later), MacBook Pro (15-inch, 2016), iMac (non-Retina, 21.5‑inch, 2017), and Mac mini (2018)

Computer Graphics

Duckduckgo/Google your computer’s graphics card and “4K 60Hz”. Modern computers should support this. For Macs, support varies on device and year, but the cable adapter quote above is a good reference. Just be sure to verify your Macbook type, size, and year.

Computer ports

Read your computer’s manual! You cannot tell what version a port is by looking at it.

On my LG Gram 15Z975, there is an HDMI port and a USB C port. The HDMI port is version 1 and does not work, but the USB C is 3.0 and does support 4K 60Hz.

Windows – Display Settings

Windows lets you select the resolution and refresh rate in a deep menu. In that menu, you can verify what refresh rate your monitor is running at, and increase or decrease it. Additionally, you can pick the highest resolution that supports 60Hz. 

Open Display settings from the Control Panel. Scroll and select “Advanced display settings”.

display menu

Some additional monitor information is displayed. Select the Display # from the dropdown menu and then click “Display adapter properties for Display #”.

advanced display settings

This could be different depending on your Graphics adapter, but the next step is click “List All Modes”. Pick your preferred resolution and refresh rate. 

graphics card and list modes

Mac – Display Settings

Macs do a cool little thing for their retina displays, which they extend for high resolution monitors. They scale smaller displays up to a monitor’s full resolution. This means they send the full resolution to the monitor but the computer has smoothed all of the text edges. This avoids the monitor pixelating the text. 

But this cool trick makes it difficult to verify if you are running at 60Hz or 30Hz! If you are stuck at not being able to run 4K 60hz, you can also pick a lower resolution that supports 60Hz while you wait for new cables to arrive in the mail. 

Macs simplify the amount of resolutions shown in their Displays menu, but by Option clicking on “Scaled” and then selecting “Show low resolution modes”, all the display modes are visible. 

mac display menu default

Now it is trial and error. Pick a low resolution mode, check the possible refresh rates, and if not 60Hz, keep going down. For me, 2560×1440 worked for me!

mac displays with low resolutions


Posted in Hardware, How-To | Tagged , , , , , , , , , , , , | Leave a comment

Move Google Contacts to Nextcloud Contacts

The process is easy. Go to the Google Contacts website:

Expand “More” and select “Export”.

Export all or some of your contacts, but select vCard format and save to your Desktop.

Go to your Nextcloud website’s Contacts app: https://<your-nextcloud-website&gt;.com/index.php/apps/contacts.

Expand “Settings” and click “Import Into”. In the file dialog, select your downloaded vCard.

Wait for the import to finish.

Now if you are using Google Contacts on your phone, you will want to disable that sync so you do not get duplicated contacts. You can sync your contacts with CalDAV/CardDAV Android app.

You can also delete all of your Google Contacts as well, but I will not include those instructions in case people are just looking at pictures.

Posted in How-To, Nextcloud/OwnCloud | Tagged , , , , , , , | Leave a comment

Add Nextcloud calendar to Google Calendar

Below is how to see (read-only) your Nextcloud calendars in Google Calendar. I do not believe Google supports writing to Nextcloud calendars from Google Calendar. This example is for my Calendar “Example Calendar”.

From the calendar app page:

Under your list of calendars on the left

  • Click the share button
  • Select “Share Link”
  • The click the second share button

Your browser will open to a new Nextcloud Calendar page that is for public viewing.

On the top right, click on the Subscribe button.

Your browser will either ask you how to handle this type of link, or will redirect you directly to Google Calendar, where you can add your calendar in this format.


Posted in How-To, Nextcloud/OwnCloud | Tagged , , , , | 3 Comments

SmartRG router cheatsheet

The SmartRG router (supplied by Sonic ISP) has a bad user interface. There is no easy mode, just very network centric terminology to maneuver. 

Local Server Walk-through

Let’s say you plug in your laptop to Ethernet or connect to the Wi-Fi. First, go to the “Connected Devices” section and get your IP address and MAC address. Second, go to “Static IPs” and add to the Static IP Lease an entry for your MAC address and IP address (you can change the IP address if you want, but you have to restart your device). Third, go to “Port Forwarding” and forward ports to the IP address, like 22 for SSH or 80 for HTTP. Lastly, if your device is using a domain name, you can add a “Static DNS” route so you can reference your laptop within your local network (this solves the problem of NAT loopback). 


Connected Devices

Static IPs

Port Forwarding

Static DNS


Posted in How-To, Networking | Tagged , , , , , , , , | Leave a comment

SmartRG network hard drive – SAMBA version too old

The SmartRG router (supplied by Sonic ISP) has the option of mounting a hard drive for access by all computers on the network via the SAMBA protocol. But the SmartRG router supplied has an old version of the SAMBA protocol, that Windows 10 will not use due to major security vulnerabilities with it. Getting a firmware upgrade for the router is not easy on their SmartRG website, but has a firmware upgrade that can be used. But again, an old SAMBA protocol is used, so Windows 10 will not connect to the networked hard drive.

Sharing the Hard Drive to just be denied

If you want to go ahead and still try to access the hard drive, follow these instructions with the following modifications/highlights:

  • SmartRG’s device configurations are located under: Advanced Setup > Storage Service > Storage Device Info
  • On the router, give the device a name in this menu
  • In Windows, you will be Mapping a Network Drive
  • This will be your address: \\\given-name
  • When prompted for a password, use the admin password for your router
Posted in How-To, Networking | Tagged , , , , | Leave a comment

Nextcloud on AWS with S3 and Lightsail

Running a Nextcloud instance in AWS rather than at your home has some benefits:

  • S3 storage means unlimited storage
  • Static IP
  • Fast bandwidth
  • Always able to SSH into machine and restart it

I suggest this blog that provides a few steps to get you up and running in less than 15 minutes, along with getting a free domain name at

To avoid:

  • Do not use Amazon Linux
  • Do not use encryption (my server stopped being able to retrieve files)



Posted in AWS, Nextcloud/OwnCloud, Reviews | Tagged , , , , | Leave a comment