Thoughts on Proficiency

When I was about thirteen, we had, as part of our English curriculum at school, a class on writing telegrams. The idea was to teach us how to write in concise form, with as much legibility as possible.

At that time, I was already somewhat good at the English language and started off the lesson with some gusto. The first task was to write a telegram about a house on sale. (Why? I dunno.)

The ask was to describe the house, throw in a price, and get away with the least number of words as possible.

Most of my colleagues wrote the following phrase –

Three bedroom one bath STOP

Where as I, thinking I’m smarter than the rest, wrote –

Three bedroom bath STOP

Now, in my mind, this was perfectly acceptable, but my teacher was quick to point out that there is a lack of clarity as to whether my house has three bedrooms each with a bath attached, or in fact, three weird rooms with a bathroom built into them. It was embarrassing in the moment, but a great lesson for me.

There’s a famous quote, which since I’ve forgotten, I’ll paraphrase here. It goes something like, “if you want to change something, you have to master its basics first.”

The gist of it remains with me to this day. When, nowadays, I see people using English in every shape and form, bending it to their will, I notice this trend more and more – people who are proficient at the language are able to bend it better, so that they do something innovative and fresh, yet are easily able to get their point across. On the other hand, people who are yet learning the nuances of the language are also using all kinds of shortcuts and short forms because of the restrictions put on us by messaging systems and twitter. But these latter people are often not able to get their message across clearly.

This is not to fault people for whom English is a second language. I recently saw a meme that said that if you see someone speaking broken English, have more respect for them, because it means they know some other language as their first language. Chances are, you who are judging them will not have the exposure and mental agility of knowing a second or third language.

Regardless, when people stick to the basics, they are able to make leaps and bounds of progress to build upon. This is true for pretty much every system/language/process in the world.

Have you ever come across a badly written passage by a neural network and it’s very easy to tell that it’s computer generated? What made you realize it’s not written by a person? There would be some basic level language mistakes made by the software which you’d pick up immediately. This gives people working on NLP a clear direction – make your algorithm better at the basics of the language, and teach it fifth standard level coursework instead of Shakespeare.

Recently, I was writing some code in JS. Whenever I’m writing quick getaway code, I opt for a simple for loop. But this one time, something irked me. Writing the same code over and over again is good muscle memory, and it frees up mental space to think about ways to improve one’s process (cue hat tip to Atomic Habits by James Clear, which I heard recently as an audiobook during a road trip). I started looking at map, which is a function I’ve gazed at before, but never bothered with. As it turns out, map fit perfectly in my code, as I wanted to apply the same function on every item in the array. So I replaced the for loop with map, and from then on, I’ve started looking at other things, like filter, to further remove the for loop from my code.

I’ve probably written hundreds of for loops over the years, across many languages and projects I’ve worked on. But it took that umpteenth for loop in JavaScript to get me to a point where I was comfortable with replacing it with something better. If I was a Software Engineer by education, I might have known about, and used map and filter all these years.

But since I came to programming as a tool, I first went through years of the basics, repeating them, partly in a fog of ignorance, till I was aware of my own abilities, and hankering to change things for the better.

There’s a flip side to this – I hate reading documentation. I rather jump into learning by doing. This is not just true for programming. I hate looking into English grammar. I can never tell you about what is a pronoun, what’s a participle, or what is the correct spelling of a complex word. But that doesn’t stop me from using English in my own writing, thinking, and blogging.

When I talk about focusing on the basics, I’m not talking about the grammar and structure of whatever it is you’re learning. I’m talking about the every day basics of doing. Focus on those, and once you’ve mastered those, you’ll be able to soar.

Thoughts on the upcoming Apple iPhone event


Apple is priced for an iPhone hit. What could go wrong?

“About 40% of Apple’s install base, based on our estimates, have not upgraded for three and a half years. If you combine that into a 5G, four phone release, we believe that really creates a perfect storm of demand,” Ives said, predicting that Apple could sell more iPhones this fiscal year than the 231 million it did in 2015.

It’s yet to be seen if consumers really care about 5G, too: A study from April found that “65.7% of consumers said they weren’t very excited,” while recent analysis has shown that 5G is in many cases slower than 4G. “5G coverage is still limited, and it’s unlikely consumers will pay extra for features they can’t use,” analyst Gene Munster recently said, adding that he expects 5G iPhone sales to quicken toward the end of next year once coverage has improved.

Watch Apple’s stock after the iPhone event on Tuesday. Facebook’s new Oculus ships on the same day.


I’m becoming a frequent reader of Protocol, if for no other reader than that they publish every day and the pressure of it flooding my RSS makes me scan it for interesting reading every day or so.

I’m one of those 40% install base that hasn’t upgraded in a few years. My family sometimes laugh at how old my phone is, since I’m on an iPhone 7 Plus, but when I buy a new phone this winter (because I’m not expecting to get it in the first run of phone sales, and because Apple screws up the first set of hardware anyways because of the sheer volume of hardware they put out), I’ll have a phone that’s newer than anyone in my family by at least a year and change, so that’s that.

But regarding 5G, I’m going to steer clear from those phones. First, I know that Apple will price them differently. But would you buy a phone with a network technology that’s not supported by a majority of the geographical area yet? Sure, in some places you’ll get faster-than-WiFi speeds, but those will be far and few between for at least two more years. Knowing USA’s shit record at rolling out new network technology (network vendors love spending on backend networking hardware that saves them money, but they’ve always been slow on customer-facing rollouts because those take a lot more money), I’d say 5G is still a good 5 years out.

This is the same as when we were buying a TV three years ago. The choice was between a Ultra-HD 65 inch behemoth that was moderately priced (this model’s price has fallen to CRT-TV rates now), or a 45 inch 4K TV that was grossly overpriced. I stayed away from the 4K even though my brother was trying hard to convince me otherwise. His ideas on 4K content being the norm are still not true, three years past. It’s just too much to expect from media and backbone tech companies to move too fast on expensive technology. Not their thing. Maybe with the coming 5G, 4K content will get a boost. But again, that’ll be 5 years from now, when South Korea will be swimming in a sea of 7G and 8K content.

Now, the fear is that Apple will introduce something radical in the 5G phones that will not be present in the 4G LTE phones. They’ve done this before with the larger phones getting an extra camera module, or OLED screens instead of LCD. They could very easily toss in a much better camera, making their 4G models less appealing, or add back the fingerprint scanner, which is infinitely more convenient than face scanning at night, or when you’re wearing a mask, or when you’re on the move, and so on.

But will they? They might have some ridiculous hardware thing up their sleeve – like a heart rate monitor (from Android phones of a few years ago), or a dedicated Siri button that you could customize to run shortcuts (again from Android phones a few years ago). Or maybe they’ll do something stupidly expensive, like throwing in a pair of airpods with the 5G phones (though this would fail if the airpods are not in the iPhone box, because them being a separate product will feel very un-Apple like, as in a small physical discount to get you to buy their product).

But most likely, they’ll toss in a year (or two) of their Apple One software subscription with the costlier phones. That would be perfect, because I couldn’t give two shits about their software subscription model. I’m not into Apple Arcade, or Apple TV+, or Apple Music, or News+, or extra iCloud storage, and certainly not their Fitness+ product.

I exclusively play one or two games on the iPhone – mostly sudoku and Call of Duty: Mobile. I have subs for Netflix and HBO and a good Plex Media Server. I prefer Spotify for their content and their high availability on Google Home devices. I find News+ to be a stupid, overpriced offering that everyone should run away from. I am impatiently waiting for Dropbox’s Family plan to drop, because that will forever solve all of my storage problems. And, well, have you seen the freely available catalogue of fitness videos on YouTube? Blows everything else out the water. Get lost Peloton, YouTube is the king of fitness videos!

So, yeah, if Apple sticks to only offering Apple One for free with their 5G phones, it’ll be very easy for me, and millions of others to stay away from those phones this cycle. Will this hurt Apple’s stock? Maybe.

I found it interesting that Protocol mentioned that Facebook’s Oculus ships the same day. Does it matter? No. Facebook took and effectively killed the Oculus. The latter was probably burning money like crazy and needed a sugar daddy, but Zuck isn’t the kind you want. Maybe, maybe, the next iteration of AR/VR will be propped up by 5G, ML-GPU chips, and Nvidia-ARM superchips. But as of right now, the more interesting thing Protocol could have pointed out is that Amazon’s Prime Day is on the same day as well! Amazon has granted me a $10 credit, which I’ll feel obligated to spend on something a lot more than ten dollars that day, as I ponder upon how much I’m going to enjoy my new iPhone, when I finally get it a few months later.

Playing with Townscaper

Mont Saint Michel, Normandy, France

I have been adoring Oskar Stålberg‘s budding idle gamer Townscaper for some time now, but today I realized that it’s available on Mac on Steam! So I immediately got it and started playing with it. It’s a blast to have a beautiful blank canvas to play with!

Here are some towns I’ve built. I’ll be adding more here over time. (design saves at the end)

My first design! I love the colors, and the lighthouses look fabulous!

I went a little crazy with this one. It was interesting to build a town that’s accessible even to it’s own residents mostly by water. The houses on the right are beautiful single family (single person?) homes and the central tower is 29 floors! I had a different design in my mind, but this one just came about.

I love the French town of Mont Saint Michel and hope to visit it one day. It’s a strange place and Oskar has said that it’s one of his inspirations for Townscaper, so getting this game was just meant to be!

building structure near body of water

Wishlist for the game –

I hope Oskar adds the following –

  1. Actual lighthouses – I would love these!
  2. Proper beaches – right now, in certain cases, a small beach shows up near some houses. I’d love a proper beach area!
  3. Trees! I would love trees that I can manually place!
  4. Little people – Birds are aplenty in Townscaper and it’s a lot of fun to watch them fly around. But I’d love to see little humans cycling around our towns!

If you’re reading till here. Go buy the game. It’s awesome and only six bucks!

Design saves (for people who own the game) –

First –

IDCH3OIEL3Wi39T0SEy7xE9T0aEyPRLg8TQ6Lq-kf_Q6Pymvf_T2AEvW_s57n-EJGyjkvW_spZvf_TA48S4TiR824wm27n-EAOyLhPJ__5PRivf_06bsAEyjtAEv6GREywPyPooPp_FW63Qi-EJ_Tk4PRiyvNhV9

Long Tower –

pSiAeJWiciaNjtmD3u4BztUezcvYkngkwhnM-jRehDPZ_Fi8EHudyDkbp8k5_QIv5Hf6Hf6Hf6Hf6Hf6Hf6Hf6Hf6HfzGfqFnyWPRiPthHph-gh3oh3shjEXLObc-4QzFlVNtg2YW1Tj5U3eaMX42Tj5x2eaM3w2Tj5M2eaMXvWPNmjWpnGwymt6s5ntDtBptMtJqtVteKTbiaVVVVVVVVVPBptMtJqPdoNR9JAsmf2E1nqwmo2U36J2sJq90Y2E1eSLbiaPFlNR9misn4yOwG7zWsB

On the price of the new Apple Watch Braided Band

I missed watching the Apple event live yesterday. Late in the evening, I looked at my phone and realized that I’d missed a notification. As I browsed YouTube to find an appropriate explainer video to watch, I also messaged my brother to ask if he’d seen the event.

I settled to watch the official video from Apple. Of course, I didn’t want to sit through the whole thing, but their human interest stories in the beginning are always nice. Most of the times, these stories help Apple get a theme across. But this time, I noticed one that was out of place – one of the participants talked about their diabetes and how the Apple Watch helps them somehow. This story would have been a great preface to if/when Apple releases a watch with a glucose monitor. If they’re able to miniaturize a transdermal glucose monitor, and launch it without unnecessary health insurance companies in the way, that there would be a great sell and a true service to people with diabetes!

But till that happens, look, new watch bands!

My brother replied that he didn’t see it live, and then followed it up with this ridiculously succinct summary of the event –

New watch, cheaper watch, cheap ipad, new straps, new bundled service with multiple tiers

nipun khanna

No surprises there, I guess, other than the new straps/bands.

I stopped watching the video and we got to discussing the Solo Loop and the Braided Solo Loop. He rued that the braided will cost a hundred dollars. I joked that soon there will be Amazon knockoffs priced at twenty five dollars. Then I jokingly plugged the name into Amazon.

?

Introducing to you, the Tefeca Colorful Braided Elastic Compatible/Replacement Band for Apple Watch! It’s priced at, you guessed it, twenty five bucks!

But that’s not the best part. THE best part (found by my brother), if you scroll down that Amazon product page, is that this band was first made available on September 6, 2019. So who stole from whom? Did Chinese manufacturers get wind of this upcoming accessory way back when and started producing it a year ahead? Did someone at Apple see this, buy it, love it, and decide to pirate it? I don’t know the answer, but it’s awesome!

The other day, my wife was showing me her iPhone leather case. It’s her first official case, and the one she’s proudly had on her phone for a long time, though she’s had other cases for a longer duration. But it’s also her first case to actually fall apart. The outer covering slowly started peeling away and is almost ruined now, to the point that it’s ugly and almost destroyed.

Official Apple accessories are not something they’re particularly good at. Their cables get ruined easily and are better replaced by Anker braided cables, their wired earphones were always too easy to tangle, and their iPad smart cases are always overpriced and under-performing. So if you’re going to ask me to buy a $100 band that I can absolutely get for $25 outside, I’ll go for the latter.

Really enjoying Call Of Duty: Mobile nowadays

I’ve been playing COD:M on my iPhone since the last few… months, and I’ve been really enjoying it. It’s a no-fuss game, with graphics settings to match even my older iPhone 7, and really good development cycles and fast moving seasons (storylines and season passes).

They’ve done a bit of work to gamify the interface though, with lots of pre-game notifications and pop ups that try to convince you to buy the season pass or individual weapons and characters. It’s just enough to not irritate me and feels not more than a hurdle to cross and get to the actual gameplay.

I’ve been getting good at the game. So good, in fact, that in the last five days I’ve gotten banned twice. Both times, I was playing really, really well, and came in first on the scoreboard, so I assumed that one or more players from the other team reported me as probably using a cheat.

I’m not, but that’s a sort of rite of passage of playing FPS games well – you get accused of cheating. Problem is, the first time I was banned for an hour and the second time, for a day! Now I’m worried that if I play too well and get reported again, I might lose access for even longer! And in typical fashion, there is no recourse in-app to contact the moderators when banned.

I wouldn’t say I’m addicted to the game, but who am I kidding. I’m afraid to lose access and this might affect how well I play in the future. But hey, every time I got banned, I ended up spending time on coding on side projects, which is awesome!

All said and done, I’m really enjoying Call Of Duty Mobile and I’d recommend it to everyone! It’s a free download.

[rant] I hate podcasts

Ok, listen up. Podcasts are stupid.

I’ve got good reasons too, if you read on.

There are two types of blog posts – ramblers (like this one) and informative. That’s generally what you’ll see on the Internet.

Most personal content is a rambler type of blog post. It may be the most succinct two line update, but it might contain content that you’re not interested in. You might be following a world-famous author (cough GRRM) for his book updates and end up reading more about his travels to various conventions instead of focusing on his books. So personal blogs (and personal blog posts) come with a disclaimer – here be ramblings.

Most professional content is, conversely, not a rambler. It’ll be informative, to the point, with a few asides. As any programmer will tell you, those asides are the true saving graces of the Internet – the aside might be an anecdote by the author about some small issue they faced and it’ll end up being the key that solves the reader’s biggest pain point! So in general, even with asides, a little rambling, and generally useless intro and outro content, professional content is mostly informative.

And it doesn’t have to be that personal and professional content is separate. My blog is personal, but my most visited blog posts are related to devOps and setting up certain software in cloud environments for free. Similarly, professional blogs, specially by indie hustlers, often contain gems about their personal travails which are amazing to read.

But podcasts. Ah, podcasts.

I’ve never come across a podcast that wasn’t an indie production and wasn’t a mishmash of nonsense. See, I figure that when people are given a chance to write, they edit. But when they’re given a chance to speak, they ramble on.

I’m a fan of conspiracy theories. They drive me nuts, they’re fun to analyze, they’re fun to call out the stupidity of people. I’m a sucker for flat-earther-takedowns. Those idiots!

But conspiracy podcasts? Oh, they suck! Never have I ever come across one that was by any measure good. I came across one recently that showed some promise. One episode was the podcaster just telling us a story. That felt good. A single person talking to you is a great medium to learn something new. But the very next episode was an interview with an author of a conspiracy book. Now, when the episode started, all was well – the podcaster introduced everybody, gave us a short intro of the book and the backstory, and then opened the floor to discussion. Then all went to hell. The book author first talked about his backstory. Then stopped midway to talk about how he knew the podcaster. Then stopped midway from that to talk about how he had been “permitted” to visit a certain telescope in Arizona AND THEN he stopped midway to give us the dang history of the Church’s involvement with…

At that point my eyes glazed over. I glanced through the wikipedia article and that was enough to educate me on the “conspiracy”. They’re idiots, the lot.

I’ve almost never had a good experience with a podcast that has more than one person talking. It’s not even about the rambling all the time too. Too often, you’ll have the podcaster sitting in a home-studio environment with an excellent mic, a windscreen, and a crooning voice. Then they’ll cut to their guest, who will be in the middle of the Savannah on a shaky Internet connection talking into Skype! The podcaster won’t even have the decency to tape the audio, clean it up, and then plug it back into the stream. Who wants to do all that work? Let the listeners suffer, I say! It’s the only way they’ll learn! Those times when I have to constantly toggle the volume between the well set presenter’s baritone and their shaky-Internet guest’s squeaky voice are the ones when I rue ever having learnt the concept of podcasting.

Then there’s the problem of followup. I love listening to science and tech podcasts. But unless the content is professionally produced (and then too it’s not common), there are almost never any cliff notes. No links to the products or websites mentioned, no “here’s where to go to get more information”. Most of these folks just seem to wing it. If you, the listener, can remember a URL after an hour of someone talking to you, kudos to you! “But Nitin,” you say, “my podcast app allows me to bookmark points of interest, or does automatic speech-to-text so I can read along or find links easily!” Well, good for you. I don’t have those apps, and neither does the majority of the world. Unless that’s the standard, there’s no point in referencing these fancy tools. Notes are a must. That’s all! If you’ll notice, I’ve not linked to any of the stuff I’m talking about in this blog. None of the podcasts are linked to, no link to my own “most popular content” mentioned above. How irritating is that? Yeah.

Lastly, there’s the problem of finding a good podcast. You have to sit through multiple episodes to understand if you like the content and the author. This is much easier on YouTube, where you’re actively looking at the content, or on Instagram, where a few pics will set the tone of the page, or on blogs, because I can just scroll forward 🙂 Further, on any subject, there are dozens of podcasts and looking through that small search space on your phone is just not enough to know if you’ll end up liking a podcast. You kinda just have to dive in, and that sucks.

It’s not like there aren’t podcasts I like. Philosophize This does a great job of a single person, Stephen West in this case, talking into an excellent mic, and following up with text transcripts of the entire content. It’s not perfect, but it comes close to a podcast that I respect.

Spotify has been pushing me these past few days to get into the Michelle Obama podcast. My music app giving me podcasts? Blasphemy! I might check it out. But if she rambles, I’m out.

A new attempt at writing

My capacity for longform, or even longer than a few lines, seems to have evaporated from lack of use.

This is not good. I enjoy blogging, or at least, I used to. Nowadays, all I do when I visit my blog is to update the plugins and shove off.

Perhaps it’s time to try it out again? Writing regularly? Even if it’s a few lines here and there?

It’s not like I don’t have things to say. It’s just that most of my thoughts fit into tweets now. Perhaps I should embrace the tweets-as-a-blog-post model?

But no, that just doesn’t feel right. It’s not who I am. Over the course of the last week, I listened to the book Atomic Habits in audiobook form, and one of the takeaways from it was the concept of a presumed identity. If I tell myself I’m a certain type of person, and reinforce that with proof, and ask myself regularly, “what would this type of person do?”, then I can become that type of person over time.

So here’s me telling myself that I’m a person who likes to blog.

Update: To the end of putting writing front and center of my habit, I removed the static About Me page that I’ve had as my site’s front page since the past year or so. That static page was just too irritating to see every time. An eye sore and a writer’s block in one. Good riddance.

Refreshing my RSS feeds list

Welp, I’ve done it this time. I was fiddling with some settings in my current feed reader of choice – Fiery Feeds – and I hit a sync button that’s meant to download everything from iCloud and rebuild the database. Turns out, iCloud is, as usual, not good at actually saving important data. Part of this is my fault. I have had some 14,000 unread items in there, and about 900 feeds. Sync would often time out and almost never complete.

So I lost all my feeds. As I stared at it dumbly, waiting for the feeds to come back, a calm came over me. This is what inbox zero feels like. When, after multiple forced syncs later, nothing happened, I was relieved.

I thought about it. The last OPML export I have is from December of 2019. I’ve added maybe 20 feeds since then, which are now lost. If I import the OPML, I’ll get back my starred items and general state, but I’ll not get back the calm.

So, I’ve decided to do an overhaul of my feeds. I know a lot of sites I’ve subscribed to either don’t exist any more, or haven’t updated in a while. So it’s time to shed the load.

Working through this large an OPML file is a chore. First, I tried to do it manually. Too much work. Then I tried to find tools to help. I found a six year old github repo to find dead feeds. It found a few, but mostly got it wrong. Instead, I’ve imported the OPML to my Firefox LiveMarks extension. It’s not the perfect solution, but at least I’m able to go through the list faster and cull it satisfactorily.

Other than the feeds that are dead, I’m also striving to shed some weight. At some point, I subbed to some GTD and Productivity feeds. Deleted those. It’s no longer my area of interest. Older still are feeds related to Network Engineering. It’s what my MS is in, but it’s no longer my main area of concern. So I’ve removed those. I’m also removing webcomics that haven’t been updated since mid-2019. There are quite a few of those. Frankly, it’s fine if the authors want to take a break. I, too, don’t update my blog often. But there are other ways for me to discover their content. Tapas and Instagram are doing a good job, so I’m going to lean on those for my comic needs. This doesn’t mean all webcomics are going away from my feeds. On the contrary, I’m keeping most of them, specially long-running stories that I follow keenly, like Gaia comic, and Slack Wyrm. But others are out.

At some point I also subscribed to a lot of programming related blogs. Those are nice navel-gazing, but ultimately worthless to me. I’m not a programmer, I’m a scripter. I’m not into deep programming concepts even on the languages that are my bread, butter, and jam – python and JavaScript. So for me to sub to serious computer scientists and programmers was a mistake then, and is a mistake now. It’s not that I won’t glean something off them, just that I don’t need to, right now.

This is tough work, but it’ll be worth it in the end. Recently, I found out that a friend has a very strict gate on who she follows on Instagram. She has a roster of 99 people and whenever she has to follow someone new, she forces herself to remove one person from the list. I’ve never, ever removed a feed from my list. This is the same list I’ve been carrying around since my first RSS feed reader – Fever – and some items are even carried forward from Google Reader. I’ve always thought that at best, the feeds that die are not much extra weight than some processing cycles, and at worst, the items I don’t read get deleted at the end of my 15 days, one month, two months, 90 days limit. That moving limit is part of the cause of all this trouble I’m in.

But the largest forcing function is my feed reader. Fiery Feeds is an awesome piece of software and Lukas Burgstaller is an exceptional dev, and a highly responsive support person. But I made a conscious choice at one point to move away from all server-side RSS feed services and use Fiery Feeds’ native, on-device accounts. I’m paying for the app because I love and want to support it, so I might as well use the biggest feature Lukas has introduced. But this on-device, synced-via-iCloud system has its drawbacks, and this means that I can’t be an ignorant buffoon about my feeds any more. I have to shed, cull, strip, whatever you want to call it.

One very interesting thing I’ve done over time is to use kill-the-newsletter.com to the best of its abilities. I do not like newsletters, but there’s a LOT of content that’s going to email newsletters exclusively nowadays, and that sucks. Kill The Newsletter converts these emails to RSS feed items. It’s not a perfect solution, specially since it’s a bit of a blackbox, but it works just fine for now and it’s FOSS, so I’m happy. So, these are a guilty pleasure I’m not getting rid of. We’ll see how this decision pans out. Maybe I’ll have to figure out a way to merge all newsletters into one RSS feed. Or use a dedicated app to read newsletters on my iPhone. There are a few of those out there now.

All in all, this is an exercise in refreshing and rethinking what I consume online. Hopefully, it’ll lead to a better feed reading experience for me.