Blog

  • Flash crashing with vSphere Client, fix for Mac

    Flash crashing with vSphere Client, fix for Mac

    Looks like a new Adobe Flash (a.k.a. Shockwave Flash) update caused widespread panic with users of the web-based flash vSphere Client 6.x leaving them with a “Shockwave Flash has Crashed” message and no vSphere Client. The immediate fix is to downgrade Adobe Flash.

    VMware has released an official KB 2151945 but it only provides instructions for Windows users.


    Here’s how to fix for Mac users

    1. Go to Adobe’s Archived Adobe Flash Player versions page.
    2. Scroll down to Flash Player Archives and download Flash Player 27.0.0.159 (released 10/10/2017) or use this direct link.
    3. Once the package is downloaded it should extract automagically. If it does not, extract it.
    4. Open the folder fp_27 and sub-folder 27_0_r0_159.
    5. Double click uninstall_flashplayer27_0r0_159_mac.dmg to mount the image, and run the Adobe Flash Player Uninstaller. This should uninstall the existing Flash Player on your computer.
    6. You will need to close your browser(s) at this point. Bookmark this page for reference later.

    For users of Firefox

    1. After uninstalling, double click flashplayer27_0r0_159_mac.dmg and then (re)Install Adobe Flash Player. Your browser(s) should still remain closed at this point.
    2. You will be prompted to select how you want Adobe to update Flash. Be sure to select Notify me to install updates.
    3. Unmount the two disk images you mounted earlier.

    For users of Chrome

    1. Delete the current flash version. Open Terminal, and run these commands:
      cd ~/Library/Application\ Support/Google/Chrome/PepperFlash/
      rm -rf 27.0.0.170
    2. Double click flashplayer27_0r0_159_macpep.dmg and then (re)Install Adobe Flash Player.
    3. You will be prompted to select how you want Adobe to update Flash. Be sure to select Notify me to install updates.
    4. Unmount the two disk images you mounted earlier.

    You should now be able to get back to work in VMware vSphere Client. Drop me a note if the instructions do not work for you, I’ll be glad to update the content.

  • Why are multiple subnets needed in vSphere ESXi?

    Why are multiple subnets needed in vSphere ESXi?

    Most know that having different subnets for management traffic, vMotion, storage, etc. is a best practice but some may not understand why.

    Routing 101: Two paths to the same place

    Let’s take for example you have a laptop and is connected to both wifi and LAN at home/office (on the same subnet). Which connection is being used when you browse the Internet or even print to a local network printer?

    The answer is the first connection you are hooked up to, or the more technically correct answer is the route that is of a higher order of preference. When two NICs are connected on the same subnet, your local routing table will have two entries to the directly connected subnet, e.g.

    192.168.1.0/24 via en1 metric 100
    192.168.1.0/24 via en0 metric 100

    When a packet is sent (e.g. to your gateway at 192.168.1.1), the operating system will look up the route table and pick the first match, and in this instance it would be en1. Of course if the two routes have different metrics, then the metric of a smaller number gets the preference.

    But if you have both NICs connected to different subnets, e.g.

    192.168.1.0/24 via en1 metric 100
    172.16.1.0/24 via en0 metric 100

    Then it becomes clear which path to take when you try to get to your printer at 172.16.1.15 or your NAS at 192.168.1.100.

    The same thing happens when you have two (or more) vmkernel NICs on the same subnet. Separating the subnets will ensure that the desired traffic takes the correct path out.

    Interface binding

    Some may wonder why can’t interface binding be used, similar to running ping -I <intf>? The answer is yes! Interface binding is used for Multi-NIC vMotion (5.1 and newer) and for the Software iSCSI initiator where iSCSI multi-pathing requires two or more different vmknics within the same subnet. But this works only with vMotion, the Software iSCSI initiator, or other specific ESXi services designed to have NIC binding.

    To allow NIC binding to work, the general requirement is that only one active physical NIC can be present in the NIC teaming configuration, e.g.

    // vSwitch setup
    vSwitch0 = eth0, eth1
    vSwitch1 = eth2, eth3
    vSwitch2 = eth4, eth5
    
    // No port binding
    vmk0 management 192.168.1.11/24 via vSwitch0 (active: eth0, eth1)
    vmk1 iscsi-hb 172.16.1.11/24 via vSwitch1 (active: eth2, eth3)
    
    // Port binding services
    vmk2 iscsi-1 172.16.1.12/24 via vSwitch1 (active: eth2, unused: eth3)
    vmk3 iscsi-2 172.16.1.13/24 via vSwitch1 (active: eth3, unused: eth2)
    vmk4 vmotion-1 172.16.2.11/24 via vSwitch2 (active: eth4, standby: eth5)
    vmk5 vmotion-2 172.16.2.12/24 via vSwitch2 (active: eth5, standby: eth4)

    vSphere 5.1 and iSCSI heartbeat

    iSCSI heartbeat which uses regular ICMP ping does not bind to a specific interface prior to vSphere 5.1. Back in the good old days, it was a best practice to create 3 vmknics and leave the vmknic with the lowest index number for iSCSI heartbeat to give it a routing priority. In vSphere 5.1 and later VMware addressed this and made iSCSI heartbeat bind to an interface but there have been reports of it not working as intended.

    vSphere 6.0 and TCP/IP Stacks

    VMware introduced independent routing tables (know as TCP/IP stacks) in vSphere 5.5 but it was cumbersome to configure via CLI. In vSphere 6.0 three different TCP/IP stacks are available by default so that Management, vMotion and Provisioning (cloning, snapshots, etc.) traffic can be configured to route differently. For the Cisco guys this is easily explained as VRF. This introduction allows vMotion and Provisioning traffic to be routed. Although not usually needed, vMotion routing will be required if you want Long Distance vMotion to get across two different (routed) subnets.

  • Lessons from Downsizing

    Lessons from Downsizing

    Some friends were in shock when I told them that I’ve moved to an apartment that is slightly less than 900 sqft in size with my wife and my (now) 2 year old son. Yes, you heard that right — I went from a 1,200 sqft “5I” HDB apartment to a 900 sqft 2-room private apartment.

    “Can stay meh?”

    “Not very small meh?”

    I didn’t think much of it until I moved in. And when I did, I thought: Jit bai siao liao. (I’m in trouble now.)

    It was easy to go from a bedroom at my parents’ (approx 150 sqft?) to a 1,200 sqft apartment all to myself (and wife), and I thought downsizing to 900 sqft with a additional human being occupant (the baby) shouldn’t be a problem. In fact, it was such a challenge that it made some significant changes to my/our lifestyle. And I think to myself: How could I have amassed so much material junk in a short span of seven years that I can no longer fit all my belongings in a house even though it is easily 4 times the size of my old bedroom? It is scary.

    “How could I have amassed so much material junk … that I can no longer fit all my belongings in a house even though it is easily 4 times the size of my old bedroom?”

    Let me also, for the record, just point out that this has got nothing to do with money or being wealthy — a person of low or average income can also hoard enough to fill a 5-room flat.

    I have been on a mission to minimise since 2014, possibly even a little bit earlier. It first started with clearing out old hardware at my parent’s office, where I realised that it was actually more difficult to get rid of things than to acquire them. I wrote another blog entry in 2015 after continuous effort to minimise seemed futile, and then again in 2016 detailing all the crap I had unearthed from moving to a temporary rental apartment.

    In spite of the multi-year effort to reduce, I still had loads of junk with me as I move once again in early 2017 into my new tiny apartment, and this is when I also realised that part of the problem with our rampant consumerism is the abundance of seemingly permanent storage spaces. (My USA friends be like: “Really? We have an entire basement/garage.”) Most Singaporean families buy instead of rent their homes which means people feel more settled and are more willing to buy things to keep/hoard. Our apartments aren’t getting any bigger, though, so some of this mentality needs to change.

    “… part of the problem with our rampant consumerism is the abundance of seemingly permanent storage spaces.”

    So moving into a small apartment forced me to really downsize. I more than halved my wardrobe. I threw and donated a bunch of stuff away. I actually felt bad, because it seemed wasteful to throw useable stuff away, or unkind to donate crappy items that the poor volunteers at Salvation Army have to sort through. I also sold stuff away on Carousell — usually things of higher monetary worth such as furnitures, gadgets, car parts, collectibles, crap, crap and more crap.

    Because of all the trash I threw out, I actually started reading up on waste management in Singapore and found out that we generate a shocking 8,559 tonnes of waste per day in 2016! That is 8+ million kilograms per day! Where the hell does all these go? Before we run out of space to build houses, we probably run out of space to dump waste! And I am not proud that I am contributing to this. In fact, I think the government may need to introduce an initiative to reduce waste.

    “… we generate a shocking 8,559 tonnes of waste per day in 2016! That is 8+ million kilograms per day!”

    There was also a blessing in disguise — the building where I temporarily stashed my stuff was on fire. The corner where my items were was not burnt, but SCDF flooded the entire building with about one inch of water on every floor to cool it down and several items sitting on the floor got damaged in the process, so I took the opportunity and wrote some items off (even though some were not really damaged) and got an insurance payout.

    But I’m not done yet. When I renovated the house, I designed it to have as much storage space as possible but I still have so much stuff that I rented a warehouse to store things that I do not need on a regular basis.  I am paying close to $2K a year for a warehouse to store items that may possibly not even sell for that amount of money in total.

    “I pay close to $2K a year for a warehouse to store items that may possibly not even sell for that amount of money in total.”

    So my friends were somewhat right — can stay meh? Can. Only if I change my way of life.

    I was used to buying things and just storing them away hoping to use them later, “just in case” — like a piece of furniture, or some gadget, or a tool, etc. I would also buy things in bulk due to bulk discounts and there’s nothing really wrong with that, except that I sometimes stash them away and forget what I have and end up buying them again. My parents recently renovated their house and in the midst of packing found out that they have so many boxes of tissues that  could probably last them an entire year!

    “… I sometimes stash them away and forget what I have and end up buying them again.”

    And then of course, I am used to a house full of things I could just reach out for. All this had to change.

    I am now extra careful when making a purchase; as a result I spend less money. You may think that’s something probably insignificant, but it adds up. A small house is easier to clean. Less stuff means less work taking care of, dealing with, cleaning, or fixing them. I also indirectly channel extra time (and money) on people and experiences instead of things.

    I think we can also teach the young a thing or two about consumerism and materialism. I have a friend who says as kids grow up they’ll need space at home and he actually dedicates a room for his kid’s toys and stuff. I don’t really agree. Kids need only the same basic stuff adults need. For anything else such as sports or  hobbies, they should seek other places to enjoy them and make friends in the process — not lock themselves at home.

    If I had a choice, would I want a bigger house? Yes, only if I needed extra space for another kid. But if I had a bigger house, it would be to have more open spaces, not storage spaces. With that, the one piece of advise I’d like to share with friends who are buying their first homes — it is OK to start small.

    “With that, the one piece of advise I’d like to share with friends who are buying their first homes — it is OK to start small.”

  • 3 biggest mistakes you should not make with your HDB

    3 biggest mistakes you should not make with your HDB

    Here’s the biggest problem with the baby boomers generation (now turning retirement age) — they have been sold the idea of an asset by buying into a HDB, and many are hoping to cash out upon retirement. After all, their HDBs should have been paid off by now after having serviced the mortgage for more than 30 years. But the question is: Can they really cash out?

    I’ve seen enough cases of old folks with flats they bought for maybe under $100K, worth close to maybe $500K right now. If they are lucky, some place like Duxton can get them closer to $1m.

    But the question is, can they sell? The house is in a constant state of mess after some 20-30 years of not having a chance to properly renovate with 3 kids and a ton of stuff in the house. What is not reported in the news is that a lot of these houses fetching good money are likely well renovated.

    Even if they sell, what can $500K of proceeds do? If they sell the place, they’ll have to find a new place. How long can it sustain them? For Healthcare? Paying insurance premiums? Travels? I’m not even going to talk about CPF accrued interests here, which will return to their CPF Retirement Account (RA). After 30 years, this can be a hefty sum.

    Houses, in general, are getting smaller, and it is becoming harder for multi-generations to live under one roof. If they get to live with their children — which is the best scenario — they can rent out the entire flat. Otherwise, they may sub-let a room or two to get constant cashflow from rental. It is true that HDB has the best rental yield of all properties in Singapore, but how many old folks really want to live with a tenant? After all, it’s time to enjoy a peaceful retirement.

    Yes, HDB is a great initiative by the Singapore government to give everyone a home; it is also a great stepping stone that many fail to utilise. I’ve been telling my friends not to make the mistakes their parents made, but I think writing this into a blog might save more people.

    1 – Keeping the HDB “till you die”

    National Development Minister Lawrence Wong has already clarified that not all HDBs are eligible for SERS. What this means is that you are at the mercy of HDB to en-bloc your flat. If it does not get selected for en-bloc, it will continue to rot till it is 99 years old, and then the value of the property goes to zero.

    Private 99-year properties are different in that they can call for a private en-bloc, which is more in control of the private owners.

    It is OK to buy a BTO or a resale and be thankful for all the discounts and grants from the government. But don’t sit on those money. Keep it moving. Money that is stagnant does nothing. Buy with a plan to sell or upgrade (i.e. buy another) in 5, 10 years — this is important, because you will then also upkeep your property in a state where it is sellable/rentable. Remember this!

    2 – Waiting too long to upgrade

    Seek to continually upgrade from a HDB, and do that early. In a lifetime, we probably get two chances at an upgrade before we hit an age where we cannot leverage further. Each cycle is typically 5-10 years.

    Always bear in mind that you can not leverage past the age of 65, which means that when at the age of 35, the amount of tenure you get out of a mortgage is at its maximum (30 years). At current interest rates in Singapore, it would be silly not to leverage. Although this may change, it is still low enough.

    3 – Cashing out too early

    It is quite often that I hear about people downsizing and cashing out on their current properties; I have had friends who moved from Serangoon, to Kovan, to Sengkang just to cash out on their existing property all too early. They (or their parents) will soon realise that they are out of options pretty quickly.

    While it’s a good idea to cash out while the market is hot (e.g. sell your Clementi HDB for a million dollars, why not?) it is always a better idea to use such opportunities to upgrade or acquire additional properties for constant rental cashflow in future.

    Happy property hunting.

  • Why you should seek a specialist care ASAP

    Why you should seek a specialist care ASAP

    Just something I would like to share, based on my real personal experience.

    18 Jan, Wed. Night. I had severe right upper quadrant (RUQ) abdomen pain and went to Ng Teng Feng (Jurong Hospital) A&E, and was warded for 1 day. They had originally suspected me to have a gallstone attack at A&E. I was given IV painkillers (Tramadol), did some ultrasound, sent me home with painkillers (more Tramadol) and then scheduled for a follow-up about a month later.

    5 Feb, Sun. Night. I had a 2nd episode and did not go to the hospital. I took the painkillers (Tramadol) which was not much help.

    8 Feb, Wed. Afternoon. Went for my follow-up appoint at NTFGH. Doctor (mis-)diagnosed me as having Gastritis (“Gastric”). I even double checked with the doctor TWICE and described my pain because when symptoms were not typical of Gastritis. He said I didn’t need my OGD (gastro scope) but I insisted to have it done to confirm it is Gastritis (or not). The OGD was scheduled on 13 Feb (Monday). Pay attention to this date.

    8 Feb, Wed. Night. I had another episode (my 3rd). My episodes are getting more frequent. Once again, I took the painkillers (Tramadol) but they did not help.

    9 Feb, Thurs. Afternoon. Sought private doctor opinion and was immediately diagnosed as having gallstones. Doctor said my described symptoms were obvious, but he did an ultrasound anyway to confirm.

    12 Feb, Sun. Night. Had my 4th episode, which was more severe than the first 3. Note at this point, my 2nd, 3rd, 4th episodes all occurred within a week. Checked myself into Farrer Park Hospital. Was given morphine to reduce my pain, and a surgery was arranged for the following day.

    13 Feb, Mon. Afternoon. Surgery done. Doctor said my gallbladder was already inflamed by the time I had my surgery, and was lucky to have done the surgery and not have it delayed otherwise it would have been more complicated if inflamed further.

    Lesson learnt

    Go straight to a specialist. Thankfully I sought 2nd opinion instead of waiting for atrociously long follow ups at NTFGH. Any further delays would have lead to complications. During a short period of 3 days (9 Feb – 12 Feb) I had immediate medical attention which was necessary. If I had a more serious condition, I could have possibly died from waiting. Realize that my surgery was done even BEFORE my scheduled appointment for the OGD at NTFGH. This is how slow the government hospitals are.

    Bump your insurance coverage to the max. I had purchased only medical insurance coverage for up to Government Hospital (Private/Single Bed Wards) since a long time ago, when I was younger. I haven’t thought of upgrading it. My hospital and surgery bill came up to $20k. I had to pay $8k+ cash because I didn’t have full private hospital coverage. This is not including the money I already paid to NTFGH previously.

  • Why IT tender and PIC is bullsh*t

    Why IT tender and PIC is bullsh*t

    This is in response to Ben’s note on Faecbook.

    No money, no honey.

    Businesses have limited budget for technology as it is a usually a cost center (regardless if it is classified as CapEx or OpEx) unless the business is like Uber where technology drives the business profits. The quality of a technology is often intangible and difficult to measure, and so the pressure is on the price. This is a sad fact.

    If you can’t beat them, join them?

    It is a battle day-in and day-out on my job to either convince customers (very difficult) or to beat cheaper vendors by price (easy) simply because, like it or not, I am running a business and not a charity and I need to pay salaries. As an unfortunate result of price competition, I may not be able to deliver the quality of work that I desire. I cannot afford to spend all my time trying to deal with customers who do not appreciate the value of good technology and that is also the reason why I tend to be selective with my customers.

    What’s (not) cheap and free?

    What needs to be fixed is the notion that technology is cheap and consulting is free. This bullsh*t idea started with the Singapore Government and has trickled down to several MNCs and Government-linked organisations. I’ve stopped attending long meetings and helping write tender specs only for jobs to be given to the lowest bidder with an outsourced team. Not forgetting it usually takes forever to get a bid out, then when the bid is awarded, they are behind time and want it done now.

    Even if a tender comes in with a spec, it is often terribly written and participating in a bid is a hell lot of paperwork with not much money to be made, and on top of that — many unknowns and liquidated damages to bear.

    Tenders only make sense for off-the-shelf and boxed products and should go away for bespoke products and consulting work. Nobody walks into LV or Prada to pick the lowest bidder.

    The fever medicine dilemma.

    Try going to a pharmacy and say: “I want a drug that reduces my fever.” There are easily 3-4 different types of medicine with different applications, strengths, safety and side effects. Most of us only know Panadol, but is that really what we need?

    You see, even with well written specs (not usually the case), no two bids will ever be exactly the same (except maybe for boxed software licenses, like Microsoft Office.) How can price be a major selection criteria? Such a notion is simply flawed. If you have ever done a home renovation and gotten quotes from contractors you will know how incredibly difficult it is to have apples-to-apples comparison because every contractor will have their own ideas, style, materials and workmanship. There’s no telling until the actual work is being done.

    IT projects are many times more complicated, and more often than not there will be changes to specifications as the project progresses (which brings me to a different discussion about not billing by project and scope but instead by time.)

    I can say with confidence and years of experience that technical specifications do not and can not normally prescribe software quality.

    Free legal advise.

    Ask a lawyer: “I want to sue this guy; tell me how much it costs.” You will almost always get a range, and it can be a huge range.

    There’s a reason why lawyers charge by time and do not limit themselves to a scope. Software developers and technology consultants are no different: We take into consideration a situation or requirement and analyse them, then we act upon them and then also react on the results. The latter part is often missed.

    Good advisory can save your ass and a whole lot of time and money, but it is very common that businesses expect free consultancy prior to work being done. Working on a software project is not just software alone; there are many moving pieces including the choice of technology (frameworks, databases, etc.), infrastructure design and operational expertise.

    Expecting free consulting is no different than asking a building architect to work for free, and then paying only for the building construction costs. And no, we can not and should not “build in” the costs of consulting into development. They are two different things.

    The graduate stagnation syndrome.

    Let me make this clear that the ones who suffer are going to be the employees of businesses, not the business itself or the bosses. Businesses can and will always find ways to create profits, and if the profits can’t be had from sales, it will come from expenses (i.e. benefits) and salaries. We graduate some 4-5 thousand technology students from Polytechnics and Universities each year. The good firms can not hire everyone. It is not the fault of these young graduates that their skills stagnate over the years — they simply have been put in an environment that does not cultivate their growth.

    As a technologist myself, I understand how good work gives growth and satisfaction to passionate people, and this is also something difficult to measure but will significantly improve corporate culture.

    Which is cheaper: iPad software or waiter?

    With regards to the Productivity and Innovation Credit (PIC): PIC has made a lot of people (aheem, fly-by-night vendors) rich, but it has also made it difficult for people like us who are trying to do real business and deliver good services because we do not actively sell PIC. In our experience, the real customers will never ask: “how much can we claim from PIC?” PIC is a bonus to them — their priority is to get stuff done.

    I’ve seen countless people burnt by PIC and what’s worse is that it gives people an impression that technology acquisition is cheap. We can not use cheap technology (as is the case of a sushi joint with a sub-standard iPad software) to replace a trained employee (waiter). This causes job and salary issues because employees are now measured against “cheap” technology.

    The ABC food market story.

    I met this old man at the ABC food center: He was with his classmates and I got to know him from a car club. I have to make a point here that these old folks aren’t your normal uncles or aunties; their classmates were Goh Chok Tong and Tan Cheng Bok, so they are pretty well off.

    One of his classmates married a wife — I can not remember, but is either Thai or Viet — and he has migrated there to live with her family and has a farm and rice field. He says he hires the locals in the village to work in his farm and he gives away the crops because people are poor. I asked why he did not use technology to help with his farm (agriculture is a very technologically advanced business), and he said something that really struck me — why replace the jobs when there are many poor people there who need the jobs.

    With that, I leave you something to think about.