How to Price Work in Other Countries

I occasionally use Upwork (formerly eLance) to hire contract workers in other countries to work on some projects. Considering that I live in the San Francisco Bay Area, which happens to be one of the most expensive places to live, I have to constantly remind myself to price my projects according to the economy and cost-of-living where I hire workers overseas. Here’s an example cost analysis.

US Cost
Let’s say that, based on the type of work you need done, a fair US wage would be $10 per hour. Let’s also say that you expect the work should be done in no more than 17.5 hours. Therefore, the total project cost in the US would be $175.

Target Country
Let’s say you hire someone in Egypt to do the work. You’ll need a way to fairly and reasonably convert wages in the US to wages in Egypt. One way to do this is by comparing each countries GPD per capita, which is an estimate of the average salary in a particular country.

GDP Per Capita
According to the World Bank, as of July 6, 2018, the GDP per capitas of the US and Egypt are:

  • 2018 US GDP per capita = ~ $60,000
  • 2018 Egypt GDP per capita = ~ $3,000

In other words, the average annual salary in the US and Egypt are $60k and $3K, respectively. Read More

How to Get Rid of Acne

Do the following before going to sleep at night:

1. Salycilic Acid 
Wash and clean your entire face using salycilic acid.
Clearasil Rapid Rescue Deep Treatment Wash 6.78oz – $6.00

2. Skin Moisturizer
Apply skin moisturizer to your entire face. This is necessary because the next step using benzoyl peroxide will make your skin red and very dry. The moisturizer will help prevent redness and dryness and will only slightly limit the effectiveness of the benzoyl peroxide.
Up&up Daily Moisturizing Lotion – $2.00

3. Benzoyl Peroxide (BP) 10%
Apply a thin layer of 10% benzoyl peroxide (BP) to entire face. Don’t go out in the sun with BP without sunscreen as sunlight hitting the BP could darken your skin. Don’t get BP on your eyes and hair. BP has a bleaching side effect and can cause dark fabric, e.g. towels and clothes, to appear bleached. BP is considered the best OTC (over the counter) acne medicine.
Max. Strength 10% Benzoyl Peroxide Gel Acne Medication – 1oz – Up&Up – $3.50

4. Sleep
Put a pillow cover, ideally one that is benzoyl peroxide resistant, over your pillow.

Read More

Console.log Displays Incorrect JavaScript Object Values

When you’re debugging some JavaScript in a browser, you might get confused to find that when you dump an object’s value to the console, you get unexpected results. Consider the sample code below.

See the Pen Test JSON Dump by Abdullah Yahya (@javanigus) on CodePen.

Here’s what you see in the Chrome console.

The first console.log statement is showing the final value of the object as opposed to the value at the time the console.log statement was called. That’s because console.log is displaying a reference to the object, not the copy of the object at the time the console.log statement was called. To solve this, always stringify (serialize) the object which makes a deep copy (deep clone) of it before consoling it out. To see a prettified display of the object, parse the stringified object. This is what’s done in the 2nd console.log statement which shows the expected value of the object.

Car Tire Specifications

When you buy new car tires, you’ll either go online and enter your car’s year, make, model, and trim or give that information to someone at a store. Unfortunately, the tire specifications you get in response will not necessarily be correct. For the past 13 years, I’ve been buying car tires for my 2003 Honda Accord DX and the tire specs I’d be given are

This information was taken from and from the tire specialist’s computer at a Costco Tire Center. It says that my tire size is P215/60R17. The tire specs in the driver side door, however, says this:

It says that my tire size should be P205/65R15. While it may be okay to go with a slightly different size, it’s probably better to go with the manufacturer’s recommendation. Read More

Nasal Decongestant: Sudafed vs Sudafed PE

If you have nasal congestion, which could also cause coughing, then one of the best medicines to take is Sudafed. However, be careful which one you get.

Sudafed (behind the counter)

This kind of Sudafed has the active ingredient Pseudeophedrine which can be used to illegally make methamphetamine (meth / “speed”). As such, it can only be gotten behind the counter, i.e. by talking to a pharmacist at Walgreens. You can get 4 hour Sudafed and 12 hour Sudafed. If you are impatient and can’t wait 12 hours to take the 12-hour version, then just buy the 4-hour version. Psychologically, taking medicine more often may make you feel better. One doctor told me that this version of Sudafed (Pseudeophedrine) is better than the kind below (Sudafed PE). Also, you can get a cheaper generic brand like Wal-Phed since all that really matters is the active ingredient, not the brand.

Sudafed PE (over the counter)

This kind of Sudafed can be gotten over the counter (on a shelf) because it’s active ingredient is phenylephrine which can’t be used to make illegal drugs. That’s why it has the PE acronym in the name.

When to Change Your Car’s Tires

Tread Depth

In the US, car tire tread depth is measured in 32nds of an inch. New tires typically come with 10/32” or 11/32” tread depths, and some truck, SUV and winter tires may have deeper tread depths than other models. A tire is legally worn-out if the tread depth is 2/32nds.  Therefore, a typical tire that starts with 10/32″ of original tread depth has only 8/32″ of usable tread depth. A tire that started with 10/32″ of original tread depth and has worn off 4/32″ (down to 6/32″ of remaining tread depth) is 50% worn. Though 2/32nds of tread depth is the legal minimum, you should change your tires when they reach 4/32nds of tread depth. At tread depths less than 4/32nds, you may experience hydroplaning when driving in the rain and lose control of your vehicle.

Tread Depth Gauge

There are manual and digital tread depth gauges. I’d go with a manual one so you don’t have to worry about replacing a battery.

Battery Charger / Power Supply (Voltage, Amperage) Requirements for Phones, Laptops, Etc

When looking to buy a battery charger or power adapter for a device such as a phone or laptop, you may be unsure whether the one you buy will be sufficient or even blow up your device. Here are basic guidelines to keep in mind.

    The input voltage from the outlet to the charger should match or be very close. In the US, this is 110 volts. Unless you are buying a charger in a foreign country where the voltage is different, e.g. 220 V, this should not be a problem.
    Like the input voltage, the output voltage of your charger should match or be very close to that of the device you are plugging it in to. The input voltage requirements of a device can usually be found on the device itself. At the bottom of my Lenovo Yoga 910 laptop, it says “Input 20 V, 2.25 A”. Therefore, this particular device needs a charger that outputs 20 V.
    The output amps from the charger should be equal to or greater than the input amp requirements of the device you plug it in to. My Lenovo Yoga laptop has an amp input requirement of 2.25 A.

    • A charger with lower amps may charge a device but slower. Or, it may not charge it at all and the power supply may just turn off as it would not be able to adequately supply the load (laptop).
    • A charger with higher amps may charge a device faster than it would with a charger with amps equal to the value specified for the device. A device will not blow up if the chargers amp output exceeds the amp value specified for the device. The device will just accept however many amps it can handle.
    Power (wattage) is calculated as V (Voltage) x I (amperage). P = V*I. Therefore, for my Lenovo laptop, the minimum power requirements to power it is 20 V * 2.25 A = 45 W (watts). Therefore, it can take any charger that puts out 45 W or more as long as the output voltage is 20 V.
  • Input and output voltages should always match
  • Power supply amperage should be equal to or greater than the amps required by the load

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.