Kitchen Remodel Project

  1. Preparation and Dust Management
    Covered floors with plastic. Put up plastic walls.
  2. Demolition
    Removed existing kitchen cabinets, wall, popcorn ceiling
  3. Wall Removal
    Removed a load-bearing wall by building two temporary walls, and installing a 10’ long 6”x12” special engineered wood beam and two 4”x6” posts. This opens the kitchen up to the dining room.
  4. Custom-Built Pony (Short) Wall
    Created two short walls by a post where a kitchen island was to be located.
  5. Plumbing
    Moved a copper sink drain and a cast iron toilet drain. Replaced outdated parts (copper and cast iron) with ABS. Small soffits were created as necessary. A hole was dug in the cement foundation to cut a cast iron drain pipe. The pipe was cut and capped off and the hole was refilled with cement.
  6. Electrical
    Since I removed a wall, I moved all wiring, outlets and switches to the short pony wall and rerouted some wiring between ceiling joists.
  7. Lighting
    The old light box with fluorescent tubes were replaced with 4 recessed lights.
  8. Popcorn Ceiling Removal
    The outdated popcorn ceiling was removed and retextured with an orange peel finish.
  9. Painting
    Walls and ceiling were repainted.
  10. Kitchen Floor
    The old vinyl sheet floor was removed and replaced with durable ceramic tile.
  11. New Cabinets
    I installed new kitchen cabinets
  12. New Countertops
    I installed quartz countertops
  13. Backsplash
    I installed a backsplash
  14. Debris Disposal
    I hauled all construction debris away for dumping at the San Leandro / Davis St. Transfer (Dump) Station.

Read More

Sound Insulation in Residential Walls

There will always come a time when you wish the noise outside your room in your home could go away and that the sound that you are making, e.g. from playing music to watching a movie, could not be heard by people in other rooms. There is a unit of measure called STC (Sound Transmission Control) that indicates how much of a sound can penetrate a wall. According to Wikipedia, here are common levels.

STC What can be heard
25 Normal speech can be understood quite easily and distinctly through wall
30 Loud speech can be understood fairly well, normal speech heard but not understood
35 Loud speech audible but not intelligible
40 Onset of “privacy”
42 Loud speech audible as a murmur
45 Loud speech not audible; 90% of statistical population not annoyed
50 Very loud sounds such as musical instruments or a stereo can be faintly heard; 99% of population not annoyed.
60+ Good soundproofing; most sounds do not disturb neighbouring residents.

and here are different STC values by partition (wall) type.

STC Partition type
27 Single pane glass window (typical value) (Dual pane glass window range is 26-32)
33 Single layer of 1/2″ drywall on each side, wood studs, no insulation (typical interior wall)
39 Single layer of 1/2″ drywall on each side, wood studs, fiberglass insulation
44 4″ Hollow CMU (Concrete Masonry Unit)
45 Double layer of 1/2″ drywall on each side, wood studs, batt insulation in wall
46 Single layer of 1/2″ drywall, glued to 6″ lightweight concrete block wall, painted both sides
46 6″ Hollow CMU (Concrete Masonry Unit)
48 8″ Hollow CMU (Concrete Masonry Unit)
50 10″ Hollow CMU (Concrete Masonry Unit)
52 8″ Hollow CMU (Concrete Masonry Unit) with 2″ Z-Bars and 1/2″ Drywall on each side
54 Single layer of 1/2″ drywall, glued to 8″ dense concrete block wall, painted both sides
54 8″ Hollow CMU (Concrete Masonry Unit) with 1 1/2″ Wood Furring, 1 1/2″ Fiberglass Insulation and 1/2″ Drywall on each side
55 Double layer of 1/2″ drywall on each side, on staggered wood stud wall, batt insulation in wall
59 Double layer of 1/2″ drywall on each side, on wood stud wall, resilient channels on one side, batt insulation
63 Double layer of 1/2″ drywall on each side, on double wood/metal stud walls (spaced 1″ apart), double batt insulation
64 8″ Hollow CMU (Concrete Masonry Unit) with 3″ Steel Studs, Fiberglass Insulation and 1/2″ Drywall on each side
72 8″ concrete block wall, painted, with 1/2″ drywall on independent steel stud walls, each side, insulation in cavities

Note that a typical interior wall has an STC value of 33.

Some options for increasing the STC value in your walls:

  • National Gypsum makes a board called “SoundBreak XP Retrofit” which you place over your existing standard drywall. This increased the STC value from 33 to 36.
  • Adding fiberglass insulation in your wall increase the STC value from 33 to 39.
  • Adding another layer of 1/2″ drywall to your existing 1/2″ drywall and adding batt (pre-cut fiberglass) insulation between the studs will increase the STC value from 33 to 45.
  • For doors, try placing a soundproof curtain in front of it along with a door gasket / sweep and automatic door bottom or a draft stopper


Show Date & Time in User’s Local Time Using Moment.js

This will show the date and time 2018-08-02T10:00-07:00 in a user’s local time. To simulate being in a different timezone, change your timezone in your operating system and reload this page.

See the Pen Show Date & Time in User’s Local Time by Abdullah Yahya (@javanigus) on CodePen.

JavaScript Countdown Timer Using Moment.js

The countdown timer will disappear after it reaches zero.

See the Pen KrMRvd by Abdullah Yahya (@javanigus) on CodePen.

Remove Page Breaks / Dividers in Google Docs

In this day in age, we don’t need to print as much as we used to. While Google Docs will allow you to print pages of content, sometimes you just want to use it as a digital document to keep notes and pictures that you’ll never print. When you insert pictures into a Google Doc, due to their size, you’ll often find that they move onto the next sheet leaving a large white space before. This is annoying but easily solved by making it appear as if you were working with one page / sheet of unlimited length. In Google Docs, just uncheck the Print Layout under the View menu.

Tips on Searching for Eyeglass Frames

Searching for new eyeglass frames isn’t easy. There are so many brands and shapes and sizes. And even if you find one that fits your face, you may just find it uncomfortable to wear. Here are some tips to help minimize disappointment.

Eyeglass Frame Dimensions

On one side of eyeglass frames are some numbers.

These numbers are the

  • width of the lens opening
  • width of the bridge
  • length of the temple (side)

There is one more important dimension which unfortunately isn’t listed. It’s the height of the lens opening, which is prefixed with the left B. Read More

Home Improvement Tool Tips

Cutting curves in ceramic tile, plywood, and plexiglass / acrylic

Cutting straight lines in ceramic tile is easy with a tile saw. But cutting curves, e.g. for toilet drains, can be tricky. Diamond hole saws are expensive. Instead, use a rotary tool (e.g. Dremel) with either a tile cutting bit or a tile cutting wheel.  Or, use a jig saw with a carbide grit blade. You can also cut wood and plexiglass using the appropriate bits as well.

Drilling a hole in ceramic tile

Drilling a hole in ceramic or porcelain tile can’t be done with a regular twist drill bit. Use a diamond or carbide-tipped masonry bit. To keep the bit from slipping off the glossy surface, put masking tape on the surface.

Cutting drywall

Cutting drywall can be done manually with a drywall saw but you can also use a power tool. Though oscillating tools and reciprocating saws can do the job, they won’t give a fine cut. Instead, use a rotary tool with a drywall bit.

Trimming drywall

If you cut drywall that is slightly too large to fit an opening, instead of trying to trim it with a utility knife or saw, use a rasp plane.

Measuring long distances by yourself

Put a nail into one end of the distance you want to measure. Put the end of the measuring tape into that nail to keep the measuring tape end in place. Pull the measuring tape end into the nail and pull.

Drawing circles

Put a nail into the material at the center of your desired circle. Hook the end of a tape measure into the nail. Hold a pencil against the tape measure at a distance equal to the radius of your desired circle. Rotate the measuring tape to draw a circle.



Using JavaScript to Temporarily Prevent Clicks and Form Submissions

When you test interactivity of a web page by clicking a link or submitting a form, you sometimes don’t want to be redirected to a new page. Using JavaScript in your browser’s console, you can easily make this happen.

  1. Open your browser’s inspector and inspect the element (link or button) that when clicked on, won’t take you to a new page
  2. In your browser’s console, add the following JS
$0.addEventListener("click", function(e) {

How to F*$%-ing Hide Content in HTML Emails in Outlook on Windows!

Here’s how you f*$%-ing do it! Just wrap the content you want to f*$%-ing hide in this client-specific conditional.

<!--[if !mso 9]><!-->
This will not appear in Outlook on Windows.

Since you’re probably using HTML tables to structure your emails, and you’re probably using CSS classes to hide and show different duplicate content for desktop and mobile, your code will probably look something like this:

.showOnMobile {
    display: none;
@media screen and (max-width:684px) {
    .showOnMobile {
        display: block !important;
<!--[if !mso 9]><!-->
<td class="showOnMobile">
This will not appear in Outlook on Windows.

There you have it. Now go and do something useful with your time instead of f*$%-ing around with HTML emails all f*$%-ing day long!

Use PHP’s Built-in Web Server for Quick, Local Development

I recently need to build a simple PHP script but I didn’t feel like spending a lot of time configuring a web server, e.g. Apache. and having it support PHP. It turns out that PHP has its own built-in server and it’s super easy to use. Here are the steps:

  1. Download PHP
    If you’re on Windows, which I was at home, then go to and download a pre-compiled PHP binary. I chose the latest x64 NTS (non thread safe) zipped version.
  2. Unzip the archive
    e.g. to c:/Programs/PHP/
  3. Open a terminal window
    We start and stop the server from the command line
  4. Go to your project folder
    e.g. cd c:/Documents/Projects/mysite
  5. Start the server
    If PHP is on your path, then you can just do
    php -S localhost:8000
    otherwise, you’ll need to specify the full path to PHP, e.g.
    c:/Programs/PHP/php -S localhost:8000
  6. View your PHP site
    Go to localhost:8000 in a web browser and see your site, e.g. index.php
  7. Stop the server
    Press Ctrl-C to quit

If you want to start the server in a particular document root directory, e.g. c:/Downloads/foo, you can do
php -S localhost:8000 -t c:/Downloads/foo

View the PHP built-in server documentation

cd C:\Users\abdul\Documents\Projects\
C:\Users\abdul\Documents\Projects\>”C:/Program Files/php-7.2.9-nts-Win32-VC15-x64/php” -S localhost:8001