An Open Letter To My Twin Daughters

Dear Ada and Ava,

You are both the blessing that rocked me to my very core. The answer to our prayers and the miracle of our lives.

As I write this, the world is adapting to the new normal due to the global pandemic. Businesses have closed down, millions of people lost their jobs and the air is filled with uncertainty. It might seem like we are headed to a life of hardships and challenges but I need you both to be strong.

Be happy. Celebrate the successes of the other and become the support needed when one is feeling down from failure. Do not envy achievements and instead turn those into inspiration to do better. Draw strength from each other and lift each other up in times of need. Do the same to people around you, especially those whom you do not know but needs it the most.

Do good. The world is already unforgiving so be kind and be the reason for someone to restore their faith in humanity. Do not look unto your neighbor and compare what you have with what they have to gain a sense of achievement or fulfillment. If you must look unto your neighbor, it is with the intention to check if they have enough and if they need help. As you interact with different kinds of personalities, always remember that there is nothing wrong with being polite but being right does not excuse you from being rude.

Become your own person. Despite being twins, it is perfectly okay to be different from each other. Life is too short to be wasting time in trying to be someone you are not. Instead, allot time to fine tune your moral compass so that it always points to what is right despite pressure from others. Do what you feel is right and keep a clear conscience. Avoid the immoral, illegal, obscene, and offensive.

Explore the world with your big brown eyes wide-open filled with awe and wonder. Open your arms and be ready to accept what comes next knowing that you will overcome whatever challenges life throws at you. Go out onto the world and enjoy every moment. Find your passion, let your imagination fly, stick your head in the clouds but keep your feet firmly grounded.

I need you to do better and reach further than I ever did. But don’t count me out just yet, I’m not done chasing my goals and dreams. I still have the burning desire to raise the bar higher and carve my own path. I hope to be a good example to both of you and maybe someday you’ll think of me when the topic of the conversation among your peers turns to concepts such as integrity, loyalty, respect and excellence in the same manner that I think about your Lolo and Lola in the same light.

Dad

P.S. I love you both – in this life and the next.

VSCode Extensions for React

Recently I’ve been learning how to develop user interfaces using React on VSCode. And one of the things I liked about it are the available extensions that makes development easier. Now this list contains an extension that is specific to React but the others are mostly extensions that, in my opinion, enhances the overall experience while using VSCode.

So far, here’s the list of extensions that I found very useful:

ES7 React/Redux/GraphQL/React-Native snippets

As the (lengthy) name suggests, this is a collection of ES7-compliant code snippets for React, Redux, GraphQL and React Native. Yes, I just re-stated what the name said. It basically saves a whole bunch of keystrokes which is why this is helpful when developing React UIs.

Instead of typing out import React from 'react';, I would just need to type imr then hit tab.

Instead of typing out import PropTypes from 'prop-types';, I just type in impt then hit tab.

For importing other modules like custom ones or from third-parties, instead of typing out import customModuleName from 'customModule';, I just type imp then hit tab, type in whatever is the actual name of customModule is then hit tab again to type in the corresponding customModuleNamethen another tab which brings me to the end of the line for the ;

You call it lazy, I call it productive! Potayto, potahto.

 

ESLint

This extension integrates ECMAScript (ES) standards and code linting (Lint) into VSCode. It checks your code as you type it and generates suggestions if it finds some patterns of code that does not follow the (coding) standards set.

Without being technical about it and its origin, ECMAScript is a standard that is followed by scripting languages which includes JavaScript.

Code Linting on the other hand is a type of static code analysis that finds pieces of code that does not adhere to the standards and/or is problematic from the point of view of certain coding guidelines.

There’s a wide range of configurable settings that can be fine-tuned to fit your coding style or just follow the default. What I like about this is that it give suggestions on how to fix your code and is also non-obtrusive.

eslint-href

 

Prettier – Code Formatter

This extension re-writes your code based on a specific set of (configurable) rules which then forces a consistent coding style. This actually works hand-in-hand with ESLint – at least with how I configured my VSCode settings.

Are you using tabs or spaces? What tab size are you using for JS? How about your brackets, are they inline or next line? When will we start wrapping code when a one-liner is too long?

The code re-write can be triggered manually for the whole file or for a code selection via key bindings. It can also be triggered for the whole file before committing code in your repository using pre-commit hooks or automatically upon saving the changes you made in VSCode.

 

IntelliSense for CSS Class Names in HTML

When you have bootstrap, material design, font awesome, themes and other custom styles for your UI, CSS class names can sometimes be hard to remember. With the IntelliSense for CSS Class Names in HTML extension, you get an auto-suggested class name once you start typing on the class or className attribute. It also throws in auto-completion for added laziness productivity. It caches the CSS class definitions on your workspace and on files referenced through the link element in the html header.

 

Bracket Pair Colorizer

Have you ever wasted time looking for that missing closing bracket because of your elegantly copy-pasted written code? Fear no more as Bracket Pair Colorizer …erm… colorizes your bracket pairs!

Angle brackets/chevrons requires a bit of tinkering as well as custom character brackets but works well with square brackets and round brackets/parenthesis and curly brackets/braces/handlebars/mustache. Unless of course if you are color blind… wait, I think this can be configured for that too.

 

Honorable Mentions

JavaScript Console Utils

CTRL+SHIFT+L gives you console.log();

Select a variable then CTRL+SHIFT+L gives you console.log('variable_name: ', variable_name);

CTRL+SHIFT+D removes all console.log statements in the current document.

Code Spell Checker

Because who wants to read code AND comments with wrong spelling, right? Yeah right, comments on your code. Haha.

 

 

PlayStation On My Workstation (kinda)

I was working on a project at home and got bored. I needed a break and thought to myself maybe I should spend a couple of hours with my PS4. I went to the living room and was surprised how high the temperature is outside. If only I can play with my PS4 where it is comfy… I didn’t want to re-setup the PS4 inside the bedroom just so I can play where the air conditioner is at. Then I remembered an article I came across where it discusses a feature such that the PS4 can be accessed remotely and the display will be shown in either a compatible Android device or a PC/Mac. Anyway, I got in front of my work area and Googled for it.

To get this going, here’s a list of things you need:

  • PS4
  • Windows PC
  • DualShock4 (DS4) wireless controller (yes, the one that you use on the PS4)
  • USB cable (Type A to Micro B – yes, the cable you use for charging the DS4)
  • PSN Account
  • Internetz
  • PlayStation Remote Play Desktop App (click Windows PC)

Here’s what you need to do on both PS4 and Windows PC.

On the PlayStation 4

Enable PlayStation Remote Play

  • Go to Settings > Remote Play Connection Settings

ps4-settings

  • Select Enable Remote Play

enable-remoteplay

Activate as Primary PS4

  • You also need to make sure that your PS4 is activated as your primary PS4. You can do this by going to Settings > Account Management > Activate as Your Primary PS4

active-primary-ps4

On the Windows PC

Install PlayStation Remote Play Desktop App

  • Once the download for the PlayStation Remote Play Desktop App completes, double-click on it (RemotePlayInstaller.exe) to launch the installer. Keep on clicking Next until the installer finishes. When it does, skip the next part below. Unless you encounter the following error.

Media Feature Pack Error

remoteplay-error

This error will prevent you from installing the desktop app and will open a browser to the media feature pack page when you click Ok. In the event that you encounter this error, which I did, here’s what you can do first to save time and effort.

  • Press Win+R and type in optionalfeatures
  • Ensure that Media Features and Windows Media Player are both checked and click Ok

wmp

At this point you can retry to install the PlayStation Remote Play app and it should finish without issues.

Connect the DualShock4 (DS4) Wireless Controller

Connect the DS4 to the Windows PC. Big end of the cable goes to the PC. Small end of the cable goes on the top portion of the controller. Windows should automatically install the drivers needed. Easy peasy.

Launch and Configure the PlayStation Remote Play Desktop App

  • Double-click on the PS4 Remote Play icon then click on the Settings button

ps4-remoteplay-settings

  • Sign In using your PSN Account
  • Select a Resolution (360p, 540p, 720p, 1080p)
  • Select a Framerate (Standard, High)
  • Click Ok then click on Start
  • The app would then start searching for a PS4 nearby.

ps4-nearby

  • Once it finds your PS4, it will show that it is connecting to it and will display the icon that it will show when the connection goes bad.

ps4-connecting

  • There is an on-screen menu from the bottom of the window that appears when the mouse enters the PS4 Remote Play screen. You can click on the full-screen button to go, er, fullscreen.

ps4-remoteplay

  • In case the DS4 controller does not work, unplug it for a bit then reconnect it again.

In my ahem limited time trying this feature out, I experienced that while playing Diablo 3, it stutters a bit especially when there are hordes of enemies on-screen. The audio is also affected which is why I’ll probably try to use the 720p or less (yuck) resolution to see if that helps. But if there are just a few creatures being rendered on-screen, the experience is actually pretty nice. Fluid motion and clear audio, no ghosting nor on-screen artifacts. The audio came through the audio port on the DS4. The PS4Pro was on wifi (5GHz band) and so was the Windows PC (which is actually a non-gaming laptop).

Anyway, I’m pretty happy with the Remote Play feature and so is the wife. So much so that she was egging me to find a comfy seat that’s good for working and also for gaming.

Her idea, not mine. >:)

Gallery

Asus RT-AC86U Unboxing Photos

Back in 2016, I got myself an Asus RT-AC88U router. Fast forward to 2018 and I got a new router in the form of Asus RT-AC86U. At this point, you might have two questions in your mind: (1) What’s the difference between the two? and (2) Why switch from RT-AC88U to RT-AC86U? Let me answer the first question by giving this link straight from Asus that compares both routers. But in a nutshell the differences are as follows:

Asus RT-AC88U

  • Link Aggregation (802.3ad) on Port 1 & 2 (not available on the RT-AC86U)
  • 8 Gigabit Ports (vs. 4 on the RT-AC86U)
  • MIMO 2.4GHz 4×4 (vs. 3×3 on the RT-AC86U)
  • 4 External Antenna (vs. 3 on the RT-AC86U)

Asus RT-AC86U

  • 256MB Flash (vs. 128MB on the RT-AC88U)
  • 1.8GHz dual-core processor (vs. 1.4GHz on the RT-AC88U)
  • 3 External and 1 Internal 3dBi  Antennas (vs. 4 External on the RT-AC88U)

I’ll try to answer why I switched after the unboxing photos.

The box of the RT-AC86U router is big but not as big as the RT-AC88U’s. You can also see some of the features and marketing material in front of the box.IMG_20180930_101054

Looking at the packaging closer, you’ll see that the logo for AiMesh and RangeBoost are just stickers which were added after the box was produced. This is due to AiMesh being made available to select router models via firmware update. In other words, AiMesh came out after the RT-AC86U was released in the market.IMG_20180930_101640

The actual box that holds all the hardware is just a white box. A big difference from the box of the RT-AC88U.IMG_20180930_101850

Upon opening the box, you’ll be greeted with the router itself and the WTFast flyer. Holding the router and other hardware components is a recycled carton similar to what Starbucks is using as take-out trays.IMG_20180930_101908

Here’s a closer look of the other hardware components that comes with the unit. The 3 antenna on top, 1 RJ45 LAN cable, the power brick and 3 outlet plug options.IMG_20180930_102125

Here are the box contents for posterity.IMG_20180930_102307

The power brick is much smaller compared to the RT-AC88U’s and also plugs in directly to the wall outlet instead of having a cord that goes between the power brick and the wall outlet which is what the RT-AC88U has.IMG_20180930_102447

This is where you slot-in one of the three optional outlet plugs.IMG_20180930_102514

Here’s a closer look of the three outlet plug options that came with the box. Type C on top, Type G on the left and Type I on the right.IMG_20180930_102359

Finally, the three antenna looks bland because it does not have any red color accents unlike the ones from the RT-AC88U. I think I can swap the antenna on both units.IMG_20180930_102600

So why did I switched when I’m going to lose Link aggregation, 4 Gigabit ports, 1×1 MIMO Tx/Rx stream and an external antenna? In my case, my RT-AC88U’s 2.4GHz channel died. As in dead as a Dodo. It’s not transmitting the SSID for the 2.4GHz but the 5GHz works flawlessly. I even tried flashing the latest stable Asuswrt-Merlin on the RT-AC88U which is an opensource alternative firmware for Asus routers that has more advanced features and faster security updates (which also supports the RT-AC86U). I was hoping that the newer software might fix the dead 2.4GHz but it seems like it is a common hardware issue with the router. Some folks online returned their units to Asus since they still have warranty but I think this is more trouble than its worth especially here in the Philippines. Below are some links online that shows people having issues with the 2.4GHz on the RT-AC88U:

Another big reason that convinced me to switch to the RT-AC86U instead of buying another RT-AC88U (AiMesh anyone? But then again AiMesh promises mixed routers should work) or going through the hoops of returning the unit to Asus is the age and design of the hardware. Just by looking at the model numbers, you’d think that the RT-AC86U is a generation behind the RT-AC88U. But that is not the case. The RT-AC88U was actually released back in October 2015 while the RT-AC86U was released in August 2017 – almost a two-year gap between the two. Given the two-year gap, the routers used a processor that’s available at the time of release (Broadcom’s 1.4GHz BCM4709C0 on the RT-AC88U  vs. 1.8GHz BCM4906 on the RT-AC86U) which explains the difference in speed. The difference in speed is really noticeable when booting, navigating, modifying settings and rebooting the routers and the RT-AC86U comes out on top.

My Last Day At Aprimo

As many of you know, this is my last day as an Aprimo employee.

Why did I decided to leave? A matter of principle. Let me first share the creed that I follow in life – a variation of Elbert Hubbard’s Loyalty Pledge.

If you work for a man in heaven’s name, work for him, speak well of him, stand by him and stand by the institution that he represents. Remember that an ounce of loyalty is worth a pound of cleverness.

If you must growl, condemn and eternally find fault then resign your position and when you are at the outside, damn to your heart’s content. But as long as you are part of the institution, do not condemn it because if you do, the first high wind that comes along will blow you away and you will probably never know why.

So why did I decide to move on? Truth be told, I lost hope. I conceded to the thought of things not getting better with the leadership, or lack thereof, in Manila.

Many sacrifices were made. Some were shoved aside, others did not get the point across, but collectively came to fruition. I am not sure how much damage was done and how deep it goes as far as the morale of the Manila center is concerned but with the recent changes and with a familiar face soon at the helm of the Manila center, things are finally taking a turn for the better, moving forward. I did not expect the needed change to come so swiftly and abruptly but it did.

Everyone now knows that there is hope, myself included.

Despite how things turned out and the generous counter-offer, I still decided to move on. Every time I think about the people I consider as my family at work, I could not separate the thought of how much injustice has been allowed to persist for the longest time and from how it should have been if only the right person was placed in the right role in the first place. As a result, there are those who are putting their self-interest first instead of the greater good. Not long after the buyout, I witnessed self-preservation over truthfulness, favoritism over loyalty and weight on tenure over merit. I can no longer do my responsibilities without being cynical. I think that at this point, moving on is better than second-guessing actions and motives. Trust is the only currency we need, for without it, there is nothing more to say.

I will not ask you to be happy for me nor to be worried for me nor will I tell you that I am surprised to make this announcement because I am doing this on my own accord and not because I am being pushed out of the company with a graceful exit. I am moving on in pursuit of maturity in my career and to temper my emotions when the subject matter turns into my work family because the recent experiences left that much bad taste in my mouth that I cannot stay.

But in spite of the things that went wrong, I met you. To each and everyone of you whom I have been able to work with, share light moments with, laugh with or even suffer with… I thank you for making this chapter in my career worth looking back to.

To those who are asking which company I will be moving on to, it is Within The Walls of this building. 😉 So if there is something that needs to be said, you know where to find me.

In any case, don’t be a stranger and say hi every now and then.

Andy

Five Sinigang To Try Before Getting Acid Reflux

Over the course of history, there have been a lot of innovation and experimentation in different industries. None more true than in the food industry where the simplest ingredient can transport you back to your childhood days or reinforce your cynicism towards the true intention of the one who prepared your food. 😀

Today, we have here a list of Sinigang dishes that you should try before getting an acid reflux and forever miss out on the sheer delight of mixing patis, kalamansi and sili before chowing down what’s right in front of you. So swallow down that lump in your throat and go over each of these variations.

5. Fried Pork Belly & Shrimp Sinigang
by Max’s

Nope, that is not two dishes. A unique twist on the homey sinigang by combining pork and shrimp. Land lovers and seafarers can gather around the dinner table and share a quick meal, even just once. Quick meal because the serving is a bit small.

4. Sinangag na Sinigang
by Kanin Club

Now this is by far the embodiment of the street vernacular “kanin palang, ulam na!” Instead of having a sour soup or broth, this dish gets a couple of slices of pork and deep fried gabi leaves as toppings. The rice itself has all the sinigang flavors one could ever ask for. Comes with siling labuyo on the side.

3. Sinigang Na Short Rib & Watermelon
by Manam

It has watermelon without the seeds. It has kang kong. It has sitaw. It’s more sweet than sour. The combination really shouldn’t work and yet manages to pass as one of the best sinigang ever. Pair it with plain steamed jasmine rice or two for maximum appreciation of its flavor.

3. Sinigang na Baboy in Guava and Pineapple
by Mesa

The pineapple is an interesting addition to the guava mix common in the provinces. It adds an extra dimension in terms of taste and gives off a surprising feeling once you bite into that pineapple in your mouth together with the pork and rice in guava broth. Again… pineapple together with pork and rice in guava broth. Dunno what just happened there.

2. Sinigang Na Ribs ng Baboy sa Bayabas
by Alex III

Not all things come easy. For the first-timers, this dish would smell funky. But don’t let that initial impression and smell stick with you even after you’re done eating. This is as close as it gets to an authentic guava-based sinigang here in the Metro.

1. Sinigang Na Corned Beef
by Sentro

So it has come to this. The classic. The Sampalok provides the right amount of sourness with a hint of sweetness to boot. The siling gulay provides a subtle spicy kick without the burning pain. The beef, ever so tender. On a slow day, the staff would even let you taste the broth before it gets served to give you a chance to fine-tune the flavor.

So there you have it. The fivesix sinigang dishes you need to try before getting acid reflux. Whether its a new spin on an old recipe or just the classics, the noble sinigang is always a good reason to gather friends and family around the dining table. All these are good for sharing so please do share, unless acid reflux is really your goal.

How To: Upgrade QNAP TS-451+ NAS To 16GB RAM

According to the product’s website, the QNAP TS-451+ has a ton of features that goes beyond just being a NAS – like real-time video trans-coding, virtualization platform and utilization of LXC and Docker containers.

When a NAS is no longer just a NAS

The available configuration for order is either a 2GB model (TS-451+-2G) or a 8GB model (TS-451+-8G). And based on literature on that website, the maximum supported RAM for the QNAP TS-451+ is 8GB. 🙂 8GB?! But we want to maximize the features of this NAS unit! I guess we would have to add more since one cannot have too much RAM. 😀

20161101_212629-copy
We have the base model (TS-451+-2G) that comes with 2GB of RAM

Based on literature online, other than the manufacturer’s advertised specifications, it is fully capable of supporting 16GB of RAM! So I went online and purchased this 16GB kit. This SO-DIMM is the same as the ones used for laptops (your mileage may vary):

G.Skill F3-1600C11D-16GSL, DDR3L-1600, PC3-12800, CL11-11-11-28, 1.35V

A closer look at the memory chips used for this 8GBx2 kit:

Each chip is 512MB and each stick has 16 of them which makes up the 8GB per stick

As mentioned earlier, the NAS unit that will be receiving this RAM upgrade is the TS-451+.

Step 1. Remove the drives.

Step 2. Remove the four screws at the back of the unit.

Step 3. Slide off the casing backwards to set the indicator at the bottom of the unit to the unlocked position.

Step 4. Lift the casing upwards to completely remove the case itself.

Step 5. Remove the screws that holds the hard drive cage. For a 4-bay unit, there is a total of six screws.

Step 6. Pull the drive cage straight up since there is a connector that connects the drive controller with the mainboard

Intermission: Let’s take a look at the mainboard after removing the drive cage

We can see the RAM slots on the left and on top

The 2GB RAM that came with the unit is from Transcend.

A word of warning: the second RAM slot is a bit hard to get to especially with fat fingers.

Last look at the mainboard with the RAM slots installed with the 8GB sticks.

Step 7. Reseat the drive cage, tighten the six screws that holds the drive cage, slide back the casing and tighten the four screws at the back. Connect all the cables and fire up the unit. Check if the additional RAM has been recognized by the system.

Hardware Information says we have 16GB total memory and both memory slots are correctly recognized too.

Done. 🙂

How Shakey’s Sponsored My Birthday After Almost Ruining It

It’s my birthday!

I woke up almost lunch time due to a get together the night before. It was raining so we decided to order in lunch from Shakey’s. Wifey ordered a lot because I heard her say “…change for PhP 1,500.00…”. I also heard the her give my number in addition to her number – maybe so that they can make sure that the order isn’t bogus since it’s a lot. So that’s done. We just needed to wait for the delivery to arrive.

I remember Mommy and Daddy bringing us to Shakey’s for some birthday celebrations when we we’re kids (can’t recall who’s birthday though). But I can clearly remember the Bunch-of-lunch with pizza, spaghetti, chicken and mojos and the super shakes! Even during and after high school, I’ve celebrated a birthday or two at Shakey’s.

Then things turned for the worse. The agent told us during the first call that if our order was not delivered within an hour, the order is going to be free of charge. After waiting for an hour and a half, wifey called the hotline to follow-up. To our surprise, the agent told her that the branch assigned to our area can no longer accommodate the delivery and since nobody followed-up before the hour was up, the order was not going to be delivered. Why do I need to follow-up before the hour is up? Why did they asked for two numbers if they are not going to contact us anyway? Wifey asked if that’s it and if there is nothing the agent can do with the current situation after making us wait for an hour and a half. The agent just kept on apologizing and saying that there is nothing they can do.

At this point, I took the phone from my wife and asked the agent to connect me to the manager of the branch assigned to our order. Daddy always said to talk to the manager regardless if it is a complain or a complement. The agent then placed me on hold for a few minutes and when she came back, she told me that the manager doesn’t want to talk and that there is really nothing that they can do. I insisted that I needed to talk to the manager and that I would go to their branch personally if the manager would not talk to me over the phone. You wouldn’t like me when I’m angry, much more when I’m hungry. Hell, I don’t even like myself when I’m angry. The agent placed me on hold once again but longer this time around. When she came back, she told me that all was taken cared of already. She gave me the order tracking number (03107191) which I was to present. We can get our food either by pick up or by dining in but the catch is, it’s on a different branch. And it’s all for free. Bleh! The concept of free food in exchange for the inconvenience doesn’t sit well with me. So anong pinaglalaban mo? Prinsipyo, teh. Prinsipyo!

We decided to agree with the arrangement since the branch was near the mall where we were going to later in the day. They didn’t say that we need to go to the branch right then and there so we did so only when it was convenient for us. They’ve inconvenienced us too much already.

When we got to the branch, I talked to the manager and told her what happened. I gave her the order tracking number and I also told her that I am a SuperCard holder and that today is my birthday. We were just attempting to celebrate and not be inconvenienced by all this miscommunication and irresponsibility. She went back to the counter and found our food all packed up and ready for take out. I could imagine the pizza being soggy, the chicken not being crispy, drinks stale due to the melted ice and the pasta no longer al dente with cold meatballs. Lo and behold, the manager ordered the crew to cook-up a new meal and in a few minutes, we were served with freshly cooked pizza, pasta and others – the way it should be served – hot and fresh out of the oven. The manager also gave us a pair of iced-tea and another pizza on the house.

At the end of our meal, I talked to the manager and she urged us to file a formal complaint via email (wecare(at)shakeys(dot)biz(dot)ph). It turns out that the agents in the hotline knows (or should know) which areas are no longer covered by which branch and that the order should not have been accepted in the first place. There have been instances similar to mine and that the branch would have to absorb the losses when it could have been avoided if the agent(s) in the hotline did their jobs properly.

Anyway, the order tracking number can be traced to the agent and a thorough review of historical transactions would certainly reveal a pattern – if there are any.

TL;DR

Called for food delivery. Delivery promo: If it’s late, it’s free. (1-hour grace period)
Waited for one and a half hour.
Talked to agent. Got apologies.
Wanted to talk to branch manager. Got turned down. Got more apologies.
Insisted to talk to branch manager. Threatened to physically go to the branch.
Informed that I need to go to a different branch. Bribed with free food. Got some more apologies.
Went to a different branch to pickup my food for delivery which I decided to just dine in.
Branch manager did what any decent manager would do.
Faith in Shakey’s restored.

Special thanks to Shakey’s Lagro branch for the hospitality and to Ms. Kate Tonogan, the Manager On Duty who did the right thing.

Gallery

Asus RT-AC88U Unboxing Photos

I’ve been looking for a WiFi router that has support for link-aggregation, dual WAN, dual-band (802.11ac), has good range, built-in network security and traffic analyzer, has USB 2.0 and 3.0 and has eight gigabit ports. Only a few routers are in the market that has all these features so it’s a quick decision to make which I did couple of months ago to replace my aging Linksys DD-WRT 54G. Below are the pictures I took during the unboxing. 🙂

The box of this router is big. And I mean really big! In all honesty, I wasn’t expecting it to be this huge.
20160915_163429.jpg

You can see in this photo how it sizes up compared to my Thinkpad x260. It’s much bigger and the laptop might even fit inside. 😮
20160925_142331.jpg

Once you remove the top part of the box, you’ll be greeted with the router in it’s plastic cover.
20160925_142551.jpg

After removing the router itself, you’ll be greeted with the Asus logo and it’s tag line. You’ll also see three of the four antenna peeking out.
20160925_142753.jpg

What I loved in this unboxing was the attention to detail made by the manufacturer. They have cutouts and thumb holes that helps in the removal of the packaging without damaging the other parts or ruining the unpacking experience for a peripheral that cost this much.
20160925_142708.jpg

Once the upper layer that held the router is removed, there is a small compartment underneath the Asus logo that holds two LAN cables, the AC adapter and cord options.
20160925_142848.jpg

Removing the four antenna reveals another compartment that holds a cord option, CD and user’s manual.
20160925_143351.jpg

Here are the contents for posterity. Notice the different cord options which is a nice addition since there wouldn’t be a need for a plug adaptor if the available wall socket is not compatible. It has different wall socket options from different regions like US, UK and ASIA.
20160925_143806.jpg

Here’s a close-up shot of the AC adapter.
20160925_144656.jpg

Lastly, here’s how it compares to the Thinkpad X260 when all the antennae are attached. Almost but not quite. 🙂
20160925_153441.jpg

Gut Feeling

It all started when Joey decided that she wants another litter.

She got busy with Benjie on 09/09/2016 despite our efforts to keep them apart. Unlike her first litter where we did not know when she got it on with Benjie, this time around we know the exact date. With that in mind, I went ahead and downloaded an app to determine when she would be whelping her second litter – yes there’s an app for that. The screenshot below is what I got:

screenshot_2016-11-05-19-07-45.jpgBred: 09/09/2016. Whelping: 11/11/2016

We wanted to be prepared when Joey whelps her second litter so we were closely monitoring her health, diet, temperature and temperament. I also committed to myself that I would create a whelping box similar to the first one where her pups would be kept safe for the first couple of months.

20161011_100014.jpgJoey on 10/11/2016. One month to go before the expected due date!

Right after All Soul’s Day (11/01/2016), I already had this nagging feeling that Joey is close to giving birth. I had to keep looking at the app and tell myself that I still have 10 days to go. I started to buy the materials for the whelping box on the morning of 11/05/2016 hoping that I would have enough time to finish. I guess Joey had other plans! She gave birth to her first pup for the second litter right after lunch. Exactly when I was in the middle of constructing her whelping box.

20161105_130451.jpgJoey and her first pup for the second litter!

It was a bit hard constructing her whelping box while also being kind of her nurse. Wifey and I would take turns watching over Joey as she gave birth to each of her nine puppies. We would then move the pups out of the way when she is resting or when she is having spasms when another puppy is about to come out. Although she gave birth to nine puppies, only seven survived. The other two were not breathing when they came out. We declared them unrecoverable only when Joey has already gotten too exhausted trying to revive them and only after we tried to do a CPR on the lung cavity. The final indicator that the pups were dead was when they let out a small amount of pee which signaled a loss of muscle control – much like in humans on their final seconds.

The whelping box I made measures 4ft. long by 3ft. wide which I think is enough for 7 puppies and Joey to fit in. Unlike the first whelping box, I made sure that the whole front is open and can be closed for safety reasons. I used a piano hinge to attach the front ramp to the whole box.

20161105_194513.jpgWhelping box with the ramp down.

20161105_194536.jpgWhelping box with the ramp up. Kinda reminds me of Bravestarr’s Fort Kerium in Fortress Mode 🙂

Although I was able to finish the box within the day, we decided not to move Joey and her litter from where she gave birth and just let her recover from exhaustion. We just prepared her box for their movement the following day. We added towels to keep them try and warm as well as some electric fan to keep them cool during days that are hot and humid.

20161105_194603.jpgAnother look of the whelping box from the different angle. 3/4″ marine board all around!

Here are some pictures of Joey resting after whelping her second litter while a curious pup snuggles with her.

20161106_111318-copy
20161106_105122-copy
20161106_111358-copy