Wednesday, April 29, 2015

Technodiocy and An Irresponsible Parent

Today, I was supposed to write a piece lambasting a group of irresponsible individuals that I have observed. Work was sufficiently engaging and onerous that I had to delay that piece till now. And now, after riding the public transport back, I have found yet another group of irresponsible individuals that I feel I ought to lambast.

And so now you have the dubious honour of two rants for the price of one.

Let's begin with an assertion. I am a techie. Read my posts here from time to time, do a Google-stalk of me, read my personal domain and you ought to come to a similar conclusion soon enough. I like tech---I live tech, breathe tech and work on tech. Tech is my way of life, tech is my livelihood. There is no denying that I am no luddite by any means.

I own a smart phone. I own portable computers, several in fact, and work on powerful desktops and servers. I own some e-readers, and even a tablet. So I'm not exactly completely ignorant of the so-called mobile future.

Yet you don't see me lapsing into becoming a gorram phone zombie. I wasn't fully aware of just how bad the epidemic was until I started to look about me one day and realise that, to my horror, nearly 8 out of 10 people who were standing around me on a train or bus were burying their heads in one mobile device or another. That alone doesn't make them zombies of course---it is the modern day equivalent of say reading a paperback while on a transport.

What's infuriating is when people continue to use their mobile device while they are walking from one point to another that makes them phone zombies. It's ludicrous---a person, head all hunched up, staring at their tiny (or not so tiny) screens, sometimes plugged in with earphones, and just walkingshuffling through the streets, oblivious of the situation around them. I took to observing just what it was that could make a person thus engrossed, and from my unscientific observations, more than 7 out of 10 of them were on some kind of messaging system.

Messaging system. While walking. How much more ridiculous can it get? I mean, if they were walking and watching some silly video that they had downloaded (or doing comparative shopping, which is on a whole new level of idiocy that I will not rant about today), it's probably less laughable. But on a messenging system? I fail to see just why a conversation cannot be left alone for the [short] time it takes to get from one lousy point in SIN to another on foot.

And if you thought that I was just ranting about adults, think again. I don't really care much about adults---they should, by definition, have the good sense to pay attention to what they are doing after all---but school-going children. Let me emphasize that a bit: school-going children. Not on holiday, not over a weekend out in the streets. Early in the morning while they are getting their collective asses to school. That's how stupid it has gotten.

It's an old saying to be bitching about how the newer generations are never like the old, but in this case, I feel highly justified in thinking so. I mean, wow, just how much interesting things can a sub-eighteen-year-old say particularly when five sevenths of their week is already spent in school? I have friends all over the world (mostly congregated in the North American continent), and am a techie, but I don't even see the need to be staring at the chat screen all the damn time. And lest any one starts saying any nonsense, allow me to point out that my generation was among the first to make use of ``personalised'' messaging systems or IMs (not IRC which predates all these and is an example of the ``group chat'' that the sheeple are rediscovering) on a consistent basis, and yet we don't even see the pressing need to always be staring at the stupid chat screen.

My children will never get a smart phone of that nature while they are in school. I'll get the dumbest phone I can still get my hands on and give them that, and only because payphones have gone the way of the do-do bird while the need to maintain contact between parents and children still exist. I am glad that my consort-candidate is in agreement with this as well.

And that's the first rant point. I feel a little better getting it out of my system, even though I know that this post is going to do absolutely nothing in reversing the rise in technodiocy.

The second rant point is triggered from an incident that occurred no more than an hour ago. I was on a bus heading home, and had secured my usual backward-facing seat. It's my usual because for some reason, no one will willingly choose to sit facing in the opposite direction of travel of the bus, which of course means that I have better than even odds of actually having a place ``reserved'' for the likes of me. Out of so many trips, it is on no more than five occasions that I failed to secure my usual place, but that's a mere diversion of this other point.

The bus stopped at one of the many stops, and a mother (I think) and child came onboard. Said child was probably no more than seven, all puny and what-not, and the mother was carrying a bulky but light looking plastic bag of widgets. They made their way to the back of the bus where there was only one seat left, the centre one that opened directly into the walking aisle with hardly any thing else.

Now, if you've not taken any of SIN's public buses, allow me to make yet another diversion. The centre rear-most seat is a bloody dangerous seat---it's slippery, has no other seats in front of it for bracing against sudden stops, which is a problem because more often than not the bus driver is a maniac that likes to accelerate and decelerate really quickly due to having an automatic transmission. For safety reasons, the centre seat of the buses now have a seat belt to help mitigate some of the risks. Most able-bodied people don't use it because it is often too damn annoying to find and buckle up in.

Now this mother and child pair made their way to the seat, and the mother sat in it and led the child to stand between her legs. I got pissed---it was clearly an at-risk behaviour for the child. I saw that the mother was hugging her child, but let's be realistic here; if something were to happen, the chances of the hugging being strong enough to hold the child such that the latter doesn't fly off to injure itself is just miniscule.

So, I stood up and looked at the mother, offering my seat and telling her, ``please sit here''.

That woman merely looked back at me and said no.

I felt like running up to her, and shouting straight in her face at the stupid risks she was taking with her child. But I remembered an important lesson---one cannot teach another a lesson if the other refuses to learn. Inasmuch as I'd like the child to be safe, that child is of the responsibility of that woman, her mother. There was nothing else that I could have done that would be right while still satisfying society's notion of etiquette.

I didn't go back to my seat. I fumed and stared daggers at the mother before alighting the bus a few stops later, thinking to myself that I need to write this down to expunge it from my mind. That such idiotic adults exist is one thing that I cannot forget.

Friday, April 24, 2015

I Sped Up An Already Spartan Website

Recently I was reading about the Mobile Friendly Search Initiative by Google. On a whim, I decided to subject my domain to the test. To my utter horror, it reported that my simple design was not very mobile friendly.

Well, it wasn't exactly old news to me. I have used my own web site every now and then to look up some of the lists that I have online, from my reading list to my shopping list. I've long discovered that the ``auto-reflow'' option that was present in my phone's web browser was breaking my web site, and I never really knew why.

Now that I had a third party tool to demonstrate objectively that yes, my web site was not very mobile friendly, I started to find ways to fix it.

The first and most important thing was to add a new meta tag to my pages so that the page will scale according to the device's actual width as opposed to the raw pixel count. This is important because of higher pixel densities of the mobile devices compared to the usual run-of-the-mill generic monitor, but expect this to change over time as those 4k (and 8k) displays become more mainstream. For the sake of completeness, the tag looks like this:
<meta name="viewport"
 content="width=device-width, initial-scale=1"/>
However, that got me thinking even more, especially after using the Page Speed Insights tool from Google. They highlighted some interesting things to think about, namely:
  1. Removing blocking Javascript/CSS;
  2. Minification of HTML/CSS/Javascript;
  3. Enabling browser caching;
  4. Enabling server compression.
I tried to do the first one by adding the async="async" keyword to each of my script tags, but it failed the XHTML 1.0 DTD validation, so I had to abandon it. That was a big no-no, so I had to abandon that tip that was suggested.

Before doing the second one, I made a note of the total file size of all the files that are involved (XHTML, CSS and Javascript only)---it was 205640 bytes. To actually do the second one, I wrote a customised script in Python that made use of csscompressor and slimit together with the built-in HTMLParser object to walk through the XHTML tree and perform the minification. I didn't replace the files with the minified forms---I am still editing them by hand with Vim---but created an output directory to dump all these files in. This step alone reduced the file size to 185602 bytes, around 90% of the original set of files. Specifically, prettyprint.js shrunk from 3876 bytes to 1299 bytes, or around 34% of the original file size. This is significant considering that all the pages that I ever author end up pulling that file. This is definitely a drastic saving in the long run even without turning on browser caching.

The next step is to turn on browser caching. It took me a while, but creating a .htaccess on the root directory of the public-facing web site with the following lines did the trick:
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript
    "access plus 216000 seconds"
  ExpiresByType application/x-javascript
    "access plus 216000 seconds"
</ifModule>

<ifModule mod_headers.c>
  <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
  </filesMatch>
  <filesMatch "\.(css)$">
    Header set Cache-Control "max-age=604800, public"
  </filesMatch>
  <filesMatch "\.(js)$">
    Header set Cache-Control "max-age=216000, private"
  </filesMatch>
  <filesMatch "\.(xml|txt)$">
    Header set Cache-Control
      "max-age=216000, public, must-revalidate"
  </filesMatch>
  <filesMatch "\.(html|htm)$">
    Header set Cache-Control
      "max-age=300, private, must-revalidate"
  </filesMatch>
</ifModule>
Caching made a nice difference in that the scripts and CSS (like prettyprint.js) need to be loaded only once and everything is nice and dandy.

The last step of turning on compression on the payload turned out to be the hardest to pull off. At first, I was trying to use the deflate or gzip mods for Apache 2.2 (the server that NearlyFreeSpeech.net uses), but after not noticing any changes by spying on the response headers from HTTP in the client browser, I changed tack by using mod_rewrite instead. This meant that I had to append the following lines to .htaccess:
<ifModule mod_rewrite.c>
  Header add Vary accept-encoding
  RewriteEngine on
  RewriteCond %{HTTP:accept-encoding} gzip
  RewriteCond %{REQUEST_FILENAME} !\.gz$
  RewriteCond %{REQUEST_FILENAME}.gz -f
  RewriteRule (.*\.(js|css|html)) $1.gz [L]
</ifModule>

AddEncoding x-gzip .gz

<FilesMatch .*\.html.gz>
  ForceType text/html
</FilesMatch>

<FilesMatch .*\.css.gz>
  ForceType text/css
</FilesMatch>

<FilesMatch .*\.js.gz>
  ForceType text/javascript
</FilesMatch>
What this does is that it tries to look for a pre-compressed version of the requested file (seen as %{REQUEST_FILENAME}.gz) and returns that while adjusting the headers to inform the client that a GZIP stream is incoming. It's a form of trickery but it got the job done well. The last part of it was to adjust the minification script I wrote to generate the pre-compressed files as well. This new set of files generated an overhead of 66252 bytes, which meant that now, the total size of files hosted is 251854 bytes, or roughly 122% of the size of my original set of files. Specifically, prettyprint.js is now only 565 bytes, a cool 15% the size of the original file. The original files are needed in the event that the client browser doesn't support a gzip stream.

Even with the overhead though, I find the new set up way more responsive and totally worth it. It does mean that I need to do a little bit more work before I upload an updated file, but it does mean that now, the already spartan web site can be accessed much faster in more places.

Alright, enough of this babble talk. Till next time.

Tuesday, April 21, 2015

A Rant on Tuesday

I have no idea why I am writing so often for the past few days. Could it be a side effect from having getting away from Facebook, where I once used to leave behind some nuggets of thoughts that I happened to have at the moment, with only a handful of unblocked people being interested enough to look at them to reply?

I was out sick yesterday with a nasty cold. It was something that probably had been in the making for a while, considering how many people in the office are getting sick from the change in the weather conditions. The way colds work for me is more or less the same -- I end up with heavy congestion to the point where my Eustachian tubes become all bunged up. When that happens, I know that I have been hit with a rather nasty version of the cold bug and have to see a doctor as soon as I can before things go out of control like that time, where it led to a middle-ear infection with pus so bitter and nauseating that---let's not continue that line of thought.

I rested at home, of course, after seeing the doctor and getting all kinds of medication that are necessary to keep the congestion symptoms down. The problem with the medication, of course, is that it does end up making me a little drowsier than usual, what with all the old generation anti-histamines and other fancy stuff that are used to handle the symptoms. I'm too lazy and tired at this point (after putting in a 13-hour day) to actually sit down and list down every single active component in the medication that I'm taking.

The social climate on the whole in SIN is not getting any better. The annual Star Awards is upon us, and with it come the natural celebration of the man-made glitzy (but shallow!) world of television. I don't really like the whole Star Awards thing, and come to think of it, I never really liked all these award ceremonies thing ever since I became old enough to get disillusioned by all these awards. To be given an award by the same group of people who are working with you day in and day out feels strangely out of place, as though it is some kind of artifice to ensure that everyone keeps on working with everyone else in the long run, that everyone will pat each others' back when the necessity arises. That is not my kind of thing, I think. I have my own small bed of coals to walk through for the ``promotion ceremony'' that is coming up, so we'll see how that goes.

I used to like winning awards and prizes. When I was in primary school, it was the one thing that I could consistently get. There was always a reason for me to appear on stage for one award or another. It wasn't so much that I was prolific, but that my primary school itself was not among the elite that even a poseur like me can do enough to be recognised. But when I started to get into secondary school, and later on into junior college, all these awards things start to get on my nerves, even though I still kept on getting them, partly as a trick to see how far I can go, and partly because there was nothing else to be done in the context of school. School work was boring, there was always something more interesting while still academic out of it, and these awards were the one thing that helped to motivate me towards working outside of the curricula. Eventually though, the phoneyness of it all got to me and I soon started to slow down and not give too much of a damn about all these awards thing.

That would also explain why after primary school I refused to join any of the school Chinese Orchestras. The school Chinese Orchestras seemed to be more interested in winning the biennial Singapore Youth Festival awards, with a lot of focus on achieving technical prowess at the expense of actual enjoyment of making music. But that's a rant for another day.

I have no real agenda here except to toss a few words out there to cool off. It is the end of the day, and I think that I have achieved some progress, despite not writing a single line of code for work. I know it's shocking, but sometimes, reading can give a lot of interesting things to think about. As I like to say these days, ``think, don't hack''.

Till the next update.

Sunday, April 19, 2015

Mumbling on a Sunday

Just a grab bag of thoughts, no real coherent theme except perhaps ``real life and what transpired''.

First off, I'm off Facebook once again. This time, however, I'm going to keep the account ``live'', but just not log in to do anything. I've left a single post on my wall indicating the ways of contacting me, and if you are one of those people who come here from that post, congratulations and thank you very much for keeping in touch somehow.

With that out of the way, let's get back to what I intended to mumble about.

Not too long ago, I made a trip to Teck Seng's place (NTS to those who play the 笛子) to get a replacement for my G-key 梆笛. That poor 梆笛 of mine had been in service since 1993 or so, and I would've continued playing on it if not for the fact that it had developed an extensive network of cracks particularly around the 膜孔---the hole where the paper-thin 笛膜 is placed. That has, naturally, caused me great grief over the past few years as I had to keep replacing the 笛膜 ever so often despite having fixed the cracks by filling them in with super glue. I had wanted to go to Teck Seng's place to get a replacement for a long while, but Sifu's timing had always been off---it was always better to go over with Sifu because then there will be lots of interesting conversations about 华乐 and 笛子 construction in general, among other sundry; it's basically like a meet-up with old friends. The new bangdi that I got is a wonderful instrument---it played wonderfully at the rehearsal last night. It's sweet and nimble, and more importantly, accurate in tuning, with the ability to hit the highest E, F♯ and G, of which the last two notes are notoriously hard to hit with any old 梆笛.

I've also got a G-key 大笛, thus fulfilling one of the items in my shopping list items. This instrument plays with the same range as a regular concert flute, with the chief difference of the added ``buzzing'' provided for by the 笛膜. I like its material feel; the bamboo is dense and even, it felt solid to hold and had a solid tone that resonated well. The only [minor] defect was that it was a little top heavy---the headjoint would feel much better if around two to three centimetres of the bamboo were sawed off. But with a change of fingering technique to use a more ``open'' holding method (I was using the concert flute style of holding with the index finger ``shelf'' resting on the 笛子 body), the weight imbalance can be mitigated almost completely. I have great hopes for this lovely instrument, and am looking forward to the day where I get to use it for a piece in the orchestra. There are a couple of pieces where the use of the 大笛 is necessary, but those have been elusive in rehearsal these days due to the rebuild phase of the cycle. The day will come, I'm sure.

Recently too, I had a big surprise---I got promoted at work. I wasn't expecting it because in my mind, I didn't fulfil the time-dependent criteria that HR set out due to my time in and out of studying overseas. But I'm not complaining; I feel a little more mollified that my work is getting recognition officially. That's a good type of incentive. Now I'm just wondering if they will keep promoting me a la Peter's Principle or will they know where's the sweet spot that best meshes my interests, abilities and capabilities. Only time will tell for this one.

I have started reading S. and it is a very interesting piece of work, with all the sub-texts here and there complete with their own conspiratorial tendencies. Unfortunately, much of S. is of a tactile/haptic nature with a lot of feelies and false documents to further enhance the frame story, it is not a book that I can easily read while I'm on the bus or MRT. Because of that, I am also simultaneously reading The Illuminatus! Trilogy on my Nexus 10, having switched over from my Kindle DX just for variety. The Trilogy can also be loosely described as being somewhat ergodic in nature, with the simul-flow texts and slight time independence in which the concurrent events are sometimes described with, though it still maintains a relatively linear layout without the fancy typographic adjustments the way House of Leaves uses to heighten the emotive content it is trying to convey.

I have finished reading The Book of the Thousand Nights and a Night just a few days ago, and it has been a wonderful journey of slightly more than a year through it. The stories are at times moralistic, sexy, and sometimes just pure comedy, and I feel a little sad now that it is all over. It is a different sense of achievement as compared to reading say the KJV. Incidentally, I have placed the NIV on my list of things to read, just to compare and contrast between that and the KJV to see how imagery and interpretation changes over time. I have also added the Saheeh International Translation of the Quran to my list as well---it serves as a good complement to 1001 Nights because a lot of the imagery and moral lessons highlighted in 1001 Nights are strongly steeped in Islamic practices. I think these will all be excellent reads in the future---just not right now. I've read too many epics and need a little break (the Dune series is an epic).

On a last note, I think I will have to break a promise I made with a friend over War and Peace. We don't even talk much anymore, and even if we did, we barely trade a dozen of words. Somehow, I don't even think my friend is going to ever read War and Peace, so I will just go ahead and do whatever I want.

I think that's enough mumbling for a Sunday. Till the next update.

Saturday, April 18, 2015

Motivation, Drive, Discipline

motivation
The psychological feature that arouses an organism to action toward a desired goal; the reason for the action; that which gives purpose and direction to behavior. (WordNet)
drive
The trait of being highly motivated. (WordNet)
discipline
A system of rules of conduct or method of practice. (WordNet)

Motivation is the prime mover for people to work towards their goals, for without motivation, there is literally no reason for the person to be doing whatever he/she ought to be doing. Everyone should have some form of motivation to get things done if they want to get ahead in life, or as I would like to call it, to improve upon what they are currently experiencing in life.

Drive is the kind of can-do spirit we often find in those we look up to as leaders and luminaries. It is the trait that manifests itself as the relentless pursuit towards excellence, the hyper-enthusiasm that surrounds the particular person that many are aware of but know that they cannot emulate for one reason or another.

The two traits of motivation and drive are what most people will tend to associate with the generic notion of a ``successful'' person in life (and society), but to claim that that is all that is needed, is a serious lie.

You see, motivation and drive aren't things that are around forever. There are days where one will feel unmotivated (or worse still, de-motivated, the kind of motivation-killing often ascribed to external influences), and if all that one runs on is mere motivation, productivity under its many guises will fall drastically. Leaders have their ``off'' days, and it's usually not a concern because these people don't always have to be making decisions all the time. So their ``off'' days can be covered up a little.

For those of us who are a little more minion-like (rank-and-file as they call it in a more politically correct way), we cannot afford this kind of ``off'' day. In fact, there may even be cases where we aren't even motivated with what we are doing at all, because the going is hard, is monotonous or is otherwise torturous, but we like the end result (being strong, having money), we know we have to keep chugging along despite the lack of motivation.

That is humankind's superpower: discipline.

Discipline is what gives you your steady gains in life, it's what keeps you going when motivation decides to take it easy in Tahiti. And the best part is, discipline can be cultivated, unlike motivation and drive.

Yet few people actually realise that simple fact. And that's what makes me sad/angry some times.

I don't like baseball, but I like a metaphor that is often associated with them. In a game of baseball, there are many innings, and the idea is to score as many runs through the bases as possible for each inning. There are many strategies to do that, but the two most extreme ones are going by singles and going by home runs. In a home run, the batter thwacks the ball waaaaay out and tries to run through all the bases at once, thus scoring a run on a single bat. It's high risk, but high return---similar to that of being driven. But the other strategy is to hit singles---have the bases loaded, with each runner advancing one base at a time per bat. It's lower risk, but it yields a steady stream of successes---but it requires discipline. You can keep going, but you won't get spectacular results on the get go.

Life's like this most of the time; small moments of overwhelming triumph with large amounts of just regular survival/living stuff. You need to grind through some stuff in life; it's inevitable. Don't rely on motivation for that, instead, rely on discipline. It keeps the output going while you are still feeling down, thereby reducing the negative impact from your lack of motivation. Can't wake up on time? Develop the discipline to---when your alarm clock rings, sit up right immediately and get off the bed. Do it till it becomes systematic. Now if you want an out, find a new motivation and build a new discipline while abandoning the old system.

If you want to be an innovator, then you will need to learn how to balance these two in a different way. Unfortunately, I have no words of advice for that for now---you're on your own. The proper balance between motivation and discipline is in itself a secret superpower that only the best in the world have perfected.

To paraphrase,
Discipline is what keeps you doing the thing after you've lost your motivation.

Wednesday, April 01, 2015

Patterns and Anti-Patterns

Patterns and anti-patterns. Conformity and deviation. One cannot live without either. With patterns and conformity, we stagnate through complacency, entrenchment, and hubris. With anti-patterns and deviation, we course all through the known knowledge space, each on its own, losing synergies from mutual survival dependence, each fighting each other on their own principles, and end up with chaos.

So the trick is the balance between the two extremes.

The current SIN-'net [in]famous A. Yee is a manifestation of the anti-pattern, the deviant. Except he is without balance, which caused him to end up in his current predicament. I pity him. An easy mistake to make, one that could've been avoided easily had he chosen to do so instead of letting the inner chaos erupt and take over. I envy him, because by sheer matyrdom, he managed to draw attention to the exact struggles that many have in the latencies of their consciousness but have been too comfortable to dare to voice it out in a repressive environment.

It's hard to decide which of the two feelings I have towards him is the dominant, since I only have this one-shot snapshot of the person himself. Maybe he's choice of a shock delivery was a calculated move, his choice of matyrdom for the greater good as his form of altruism -- never mind the self-death if the sheeple learn! Or it could just be the naïveté of one who hasn't figured out the right balance between patterns and anti-patterns, between being conforming and being deviating. The choice between interpretations of his intent itself is probably more revealing on me than on him.

But back to the point: the balance between the two extremes. Patterns are comfortable, they streamline the decision-making process by providing an easy pattern of ready-made questions with relatively ready-made answers. Routines and procedures are exactly the type of ready-made questions with automatic ready-made answers -- the decisions have been made before, and it is merely the execution of the decisions. Computers are excellent at following routines and procedures, as are most orthodox bureaucrats. There is a danger to that of routines and procedures though, as many a person who has used a computer can tell. If the input to the routine or procedure varies vastly from the assumptions behind the designed routine/procedure, the results are unpredictable at best and detrimental at worst. Most system designers know of that limitation, and so they end up trying to account for as many such assumptions as they can to make the routine/procedure seem ``resilient''. Much of debugging falls into that category as well.

That, however, ends up hiding the fact that as time goes on, the assumptions themselves change beyond the scope of the changes made to the routine/procedure, and it will be time to rewrite the routine/procedure. We know this for computer systems, but the same thing can be thought of for social constructs.

Laws are like routines/procedures. They are patterns -- patterns of society that has undergone codification and formalisation. ``One may not generate noise greater than 90dBA after 2100hrs'' can be one such law. ``Everyone must kow-tow to the local Inquisitor should he/she show his/her authority medallion'' can be another such law. Both are patterns, both are routines/procedures to guide behaviour under specific circumstances.

Both are also not always right.

That's where the anti-pattern/deviation comes into play. Anti-patterns/deviations serve as the search frontier for the novel -- new ideas to solve existing problems, new problems that the current patterns do not already solve. We codify this as ``research'' (yet another pattern!) but have mostly confined it to the fringes of human existence, and at a level that is more impersonal than most. Anti-patterns/deviations relating to science (both hard and soft) are acceptable only when confined to those researchers -- people invested with the power to research via their PhDs and their research tenure.

Once you bring it to the mainstream it's no longer research and is an implementation and with it comes different levels of expectations. Implementation of social change has become much harder ever since we gained better communication connectivity. Yes it's much harder, not easier. It's a contrary view and let me explain a little on the why.

You see, bottom-up social change is never smooth nor gradual. It comes like a whiplash in the form of an uprising or revolution, peaceful or otherwise. It is the accumulation of too many patterns that anger people past the point of repression into downright oppression that makes them spring back with a vengeance. And that is how it gets messy, since all the patterns that were present before now get swept away at once by the angry mob. A society without patterns to guide it (in the form of law, bureaucracy or authority) is a mob, and all mobs have the intelligence of the lowest common denominator, until a leader emerges that can somehow influence the mob towards a more patterned behaviour. Ease of communication provides a feedback mechanism for such bottom-up affairs, which can be seen in the Arab Spring of recent times, as well as the Maidan protests. Some of the feedback is from the local people involved, but due to the 'net's reach, we end up having feedback from outside of the local region, which can be good or bad depending on who's evaluating the situation.

What about top-down social change then? It has always existed, but it is confined to the patterned-thinking of whoever is in charge. After all, if it ain't broke, don't touch it, right? If the current set of laws and bureaucratic mechanisms are working, there is little to no incentive to shake them up in any way. More importantly, most of such top-down social changes are too feeble, particularly when it is done by committee. For some things that affect the status quo, the changes will come swift, but for those that can impact on whoever's in power's power base, the changes will be... less swift. Top-down social changes done by a Prince (feudal lord, warlord, dictator... well you get the idea) moves much faster, though the Prince is not immune to the lure of maintaining or elevating his power base.

Much of the [economically] developed world suffers from too many patterns, while much of the less [economically] developed world suffers from too many anti-patterns. International laws, trade agreements, even the status quo itself are patterns that get enforced ad nauseum, whether or not they are actually as effective as they were before. These patterns raise the barrier of entry into the mainstream, which partly explains why the less [economically] developed world remains so. Internally, the less [economically] developed world has too many anti-patterns, which naturally leads to the anarchy that is chaos.

Clearly, I've been reading too much of the Dune series.

Balance. Balance is key. But balance is hard to attain. Seeking a balance between the pattern and the anti-pattern is the goal that we should all strive for, especially in SIN city.