that’s how i naturally know

Online Words Hurt, So What?

without comments

If you consider this as undermining of freedom of individual expression, well, yes. If you see it in another way, such governance / constraints also offer basic protection of someone else’ right to live or speak freely (without being verbally/emotionally abused) – Ong Yujing

I urge the public to think about the far reaching implications of promoting too agressively the idea of “keep your mouth shut as it might hurt the feelings of someone else”. I fear that we are raising a generation of people who have under-developed adversity quotient (AQ); who are weak and dependant on social protection, only knows to hide under the apron of the big nannies; who thinks that anyone who criticises them are bad people, unthoughtful, inconsiderate and should be publicly shamed; who thinks that they are entitled to a fairytale world where everyone treats them nicely. I also fear that governments will be taking the opportunity to implement widespread cencorship in the name of justice and protection, for they are the ones that are hurt the most since the rise of social media platforms.

The Singapore national song “There was a time, when people said that Singapore won’t make it, but we did…”. left a lasting impression on me since I was young. Brainwashing or indoctrination you can call it, but I think it made a positive impact on me. It tells me that no matter what others may think or say of you, you can rely on your own efforts to acheive great things. It is a call to summon the fighting spirit in us, to face the difficulties with courage and strength, and make life worthwhile. All these, without telling others to shut up. Sadly, we never sing these songs anymore. Instead we are always reminded how beautiful this country now is, “where this is home”, where we can always come back to snuggle in comfort. We don’t stay strong anymore, we simply take for granted that the world must be beautiful. Why didn’t we pass on the values that made us prosper?

This is not just happening to Singapore, this applies to the entire post-war generation who had not had the chance to experience what it takes to overcome the odds (the market segment).

If the intention is to make the word a better place, then we need to target the right audience. Let me start by offering a few alternatives for the campaign slogan “Online Words Hurt, Just As Much As Offline”:

  1. “Online Words Hurt, Stay Offline if You Can’t Take It”
  2. “Online Words Hurt, Come Back Later”
  3. “Online Words Hurt, and It Makes You Stronger”

… But the same can be said with laws, norms etc. – Ong Yujing

I don’t think we can use law as a comparison in this case because law itself a social construct arising from social norms – e.g. the idea that we need to be softer towards the over-sensitive and emotional – which I am currently against. There are norms that I believe in and those that I don’t. Nurturing a generation of weaklings and undermining freedom of speech and internet is one that I cannot agree with.

But as always, I strive be sympathatic at the same time. How did this norm form? This tendency to protect the weak, young, poor extends beyond the human race to the animals, environment, gays, women etc. I am guessing the older generation having been through hardship is now trying to adopt protectionistic measures against external threats on the things they hold dear.

There is wisdom when the Gods who watch over us also brings trials and tribulations; We also need to deliver our love in a way that is sustainable and heathier for the younger (maturity) generations.

Notes: Mr Ong Yujing is a great companion and listener to me.

Written by Jake

March 1st, 2014 at 2:37 pm

Posted in Sociology,Web

What is Node.js

without comments

If you are totally confused by the description of Node.js on their very own website, you are not alone.

To bring back your sanity, first of all, you need to unlearn Node.js:.
1. Node.js has nothing to do with JavaScript.
2. Node.js has nothing to do with web servers, HTTP, web pages, web applications.

So what exactly is Node.js?
Node.js is a console application very much like PowerShell, with its own scripting language and objects. Basically, you write scripts and run it in Node.js to do some tasks.
It is best used for writing servers because the library of server objects provided and the language itself has a unique concurrency and event call-back I/O model that handles asynchronous operations.

Then what’s the deal with JavaScript?
Because you do not need to learn a new language like in PowerShell, Node.js scripts are in JavaScript! Why? Because Node.js uses the Chrome V8 JavaScript parser engine.

Written by Jake

December 24th, 2013 at 3:35 pm

Manually Configure Office 365 in Outlook

without comments

With the new OWA, the “pod” address for the mailbox server no longer appear in the URL. An autodiscover configuration will reveal that accounts now use some sort of [guid] for the server. This post will explain how to get the server for your account.

Step 1: Ensure that you have the PowerShell cmdlets for administering Exchange Online. (At this time of writing, I cannot find an official download source, except this)

Step 2: Connect to Exchange using Powershell:
Set-ExecutionPolicy RemoteSigned
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session

Step 3: Query Exchange Online to get the list of GUIDs, optionally output to a file if you have a huge number of users that will not fit into the screen
Get-Recipient | select Alias, ExchangeGuid
Get-Recipient | select Alias, ExchangeGuid > c:\o365.txt

Step 4: Note the guid for the account that you want to manually configure.

Step 5: Start the outlook account settings manual configuration process and use the follow settings:
Server: [guid]
More Settings > Connection
Connect to Microsoft Exchange using HTTP: Yes (checked)
More Settings > Connection > Exchange Proxy Settings
Proxy Server for Exchange:
Only connect to proxy servers that have this principal name in their certificate:
On fast and slow networks...: Yes (checked)
Proxy authentication settings: Basic Authentication

Note that if for any reason you have to resort to a manual configuration like this, chances are some features will not work as per Microsoft’s documentation and the tech support folks in the forums will also be clueless as to how to help you since there are too many possible grounds to cover. It is claimed that features such as User Archive, Out of Office, Calendar etc. may behave erratically or not appear or function at all.

Written by Jake

November 7th, 2013 at 10:47 am

Posted in Computer

Excel custom formatting to display blank instead of zeros

without comments

If you want to hide specific zero values, but not all, you can use a numeric format instead:

1.Select the cells that contain the zero values that you want to hide.
2.Click the Home tab and click the Number group’s dialog launcher (the small arrow in the bottom-right corner. In Excel 2003, choose Cells from the Format menu.
3.Click the Number tab (if necessary).
4.Choose Custom from the Category list.
5.Enter 0;-0;;@ in the Type field.
6.Click OK.


Written by Jake

October 25th, 2013 at 9:37 am

Posted in Programming

Free Float vs Total Float

without comments

In a project activity network diagram, the formula for float (or slack) of an activity (there is no float of project) is extremely simple, yet I have trouble recalling whenever I need them. The names “Total Float” and “Free Float” can be very misleading themselves, and doesn’t tell much of what it really means. So here is my final attempt to remember what they are once and for all, just by using common sense.

Total Float and Free Float are properties of a single activity, in units of days (or time). When people unfamiliar with the term “total float” tries to guess what it means, they may tend to think it has something to do with summing up all the “free floats” in the project. No, that’s not what they terms mean. The good news however, is that you probably already understand the float concept with your own terminology.

What Are Floats Used For?
Total Float of an activity answers the question “How many days can I delay this activity without delaying the end project date?”. Using common sense alone, you know that if a project is at the brink of being delayed, all activities must then be starting at their “late start date”. Hence if you delay an activity by the “Total Float” number of days, you will be forcing all subsequent activities to start at their “late start date”.

Free Float of an activity answers the question “If I finish this activity early, how many days do I have left before the next activity starts?” OR “How many days can I delay this activity without forcing the next activity to start later than planned.”. When all activities are planned, common sense tells you that everyone hopes to start the activities at the earliest date possible. When there are parallel tasks in progress, and if we are on the easier task with a shorter duration, we want to know how many days we can delay before the longest/slowest task completes. This gives us some slack to slow down our pace, without affecting the earliest start date of the next activity.

Total Float of an Activity = LF – EF
Note that if this activity finish late, subsequent activities must all start late and hence project schedule is at risk. But, the total float is still a property of the activity, not of the project itself.

Free Float of an Activity = ES of next activity – EF of the current activity
Note that this formula gives the answer to “If we finish early, how many more days till the next activity starts.”

EF = Early Finish Date
ES = Early Start Date
LF = Late Finish Date
LS = Late Start Date

Written by Jake

October 18th, 2013 at 8:30 pm

Posted in Project Management

DSF Management tips and tricks

without comments

DFS replication may suddenly not work as expected and you need some ways to check its status and to further fix it if possible.

dfsrdiag is a diagnostic tool that can be run on the DFS server to help give diagnostic information.
dfsrdiag ReplicationState will give you the current file replication status.
dfsrdiag Backlog gives information about the consistency between member of the replication group.

The Event Viewer on the DFS server can also give information about the DFS application. Event ID 2213 is an error/warning that will be logged if the DFS server unexpectedly shutsdown. When it happens, the DFS replication will not be resumed (default) and it needs manual intervention to resume the replication using the instruction in the event log description to use the wmic command to call ResumeReplicate on the dfsrVolumeConfig.

Written by Jake

August 7th, 2013 at 4:25 pm

Posted in Networking