I have a big gripe with how children are taught things. Each lesson is shoved down their throats without an effort to steer their curious minds. In an insidious manner, this creativity-inhibiting process creates a deep-rooted habit of rote-learning things without using the critical thinking intellect. The hows and whys gradually disappear from children’s conscious creating a subservient bot rather than an inquisitive person. Sometimes, forced rote-learning is fairly obvious but often it’s rather subtle.
I enjoy having a Subway; it’s delicious, light, and convinces me, although a bit superficially, that I had something healthy. But, my first experience there wasn’t a pleasing one.
I entered to order assuming that I only have to pick one of the option on the walled pictorial menu. I asked my “sandwich artist” for a “Veggie Delight Sub”. Soon enough I learned how having a Subway wasn’t exactly like picking a choice and grabbing your wallet. I tried anxiously not to appear foolish by picking random options in case of veggies and sauces, and turning down requests for cheese and condiments. For obvious reasons, the sandwich didn’t taste all that well and I didn’t consider going back again. Few months later, my friend suggested his selection, telling me how I need to avoid certain sauces. I subserviently followed his suggestions to eventually understand how you order in the chain.
The barrage of choices that I dreaded on my visit apparently turned out to be Subway’s appeal — selecting ingredients to land one of the two million possibilities. Subway doesn’t have any standard ready-to-serve offerings; every sandwich is prepared from six obligatory choices — bread, flavour, extras, veggies, sauce, and salt / pepper. It’s ostensible why my first visit wasn’t joyful — there were too many choices to be made, some of which, like sauces, being disproportionally hard.
For a significant time, computer programming meant filling designated coding forms and requesting a keypunch operator to convert them into a stack of punched cards that a whirling mainframe could process. Back then, computing power was a scarce resource; to run a program you had to fill a separate form to get the card stack in the processing queue and patiently wait for its execution. Each mistake, however minuscule, meant a massive turnaround time in going through the coding forms, rectifying the mistake, getting new cards punched, and pushing a fresh job into the queue.
Should the rich garner hate for extravagance? Along the Altamount Road in South Mumbai, stands the world’s most expensive private residence, Mukesh Ambani’s home — Antilla. Completed in 2010, the billion dollar home runs 27 storeys high with six floors solely dedicated to cars. It sports a health spa, a salon, a ballroom, and a 50-seat movie theatre and employs a staff of six-hundred for its upkeep. But a construction like Antilla upsets a fairly large number of people including prominent industrialists like Ratan Tata who called it a showcase of lacking empathy for the poor.
“So dude, do you know hacking?” asked my friend.
“See, that’s not how it works. A great deal of hacking depends on ….”. Nah! We didn’t really have that conversation. I just answered with a “No” because “Maybe” would’ve been harder to explain.
The Hollywood stereotype suggests that hacker is a nerd, wearing a hoodie, incessantly hitting keystrokes on his black–green screen (btw, you don’t really need to type so much since computers have had an ultra-convenient “Save File” feature since eternity). As technically ridiculous it is, I don’t normally lose my mind over it. The exasperating part of this stereotype is a misbelief that a hacker —
a) can take control of anything from someone’s telephone to national security servers.
b) has mastered a complex art to do every single thing.
News of websites getting vandalised, accounts getting hacked and photos getting leaked without the technical details simply reinforce the misbelief but the truth is that real-world hacking is much simpler than it seems — at least logically simple.
My SaaS attempt didn’t work out. So another failure story? Should I write a bucket list of lessons to be learned, things that went wrong? Well, I could but honestly, there are no apparent reasons for it not working — I mean you could think of various issues but it’s hard to imagine if winding the clock back would put me in a better place about what I was trying — maybe it’ll or maybe it won’t. Here, ‘it’ refers to Blipmetrics, a SaaS application that I was trying to build for content marketers but I failed short of building any momentum with it. “It’s niche, it’s focused, that would have a visible impact on my success”, I thought but it didn’t carry much effect.
We conceived the idea of “Bouncelytics” as a small analytics tool to help people understand their bounced visitors I saw many blogs mentioning how bounce rate wasn’t a useful metrics since it didn’t account for the time spent on the page. As lean guys, we set-up our landing page with what we were planning to build and posted it wherever we could. We got about 170+ sign-ups and we were terribly excited about having so many people interested in our product.
For any marketer, tracking social performance is almost synonymous to evaluating social shares. We all know how the internet went crazy with the demise of Twitter Share Count API. The epicentre of sharing can be variety of sources but social media buttons still form a big part of how people share content from websites. Since the time unknown, Social Share Buttons, have served as tiny little widgets gently suggesting readers how the helpful content could be useful for their friends and acquaintances as well.
Six years ago, I was taught my first lesson of C++. Soon after learning about loops, came a subsidiary lesson about the goto statement. The teacher made it clear that using goto was a horrible practice because of unconditional-jumps mess it creates and should always be avoided. A bit of googling followed and I ended up with a well known essay of E. Djikstra’s ‘Goto is considered harmful’ and I committed myself to never use the statement even if it meant creating a frivolous flag variable.
For most of the times, debugging is easy – a silly logical error or an oversight, quick to correct and move on but some problems are hard – because you don’t know where it is wrong. The bigger the involved stack is, the higher are your chances of getting stuck at them. In such cases, tools like strace can be of great aid as they can help you give a hint about where things are getting screwed up.