TypeScript & ECMAScript 6

It is hard to overstate the value strong typing brings to the table, especially in the context of teams that move real fast (and have fun doing so)!

Be Organized. Be Happy. Be on Pitch.

#snowpal #pitch #organized #typescript #ecmascript6

No, I did not come to the US because I did not have a choice.

Download Mobile App
Download Mobile App

On the contrary, I had quite a few options and I chose to come to the US because that is all I ever wanted to do.

Here’s a little bit of background about me to give context to both the heading and the purpose of this article.

  • I was born and raised in India.
  • I was not born into a poor family.
  • I had access to (good) education all my growing years.
  • India is a peaceful country.
  • Most of my family lives in India, and they are all nice people.

Now that those facts are out of the way, let me try to explain why I felt the urge to state those.

Too often, when I read the news, I get the impression that media projects the wrong impression that folks migrate to America because they had few other options – it is almost always a sob, sorry story of rags to riches. While the beauty of this land is that it is generally welcoming to folks from all backgrounds, it is inaccurate to paint a picture of the US as a place to only consider when you are persecuted in your own countries, or if there is something real bad happening there. Yes, we definitely will continue to be a country that gives people that second, third or nth opportunity to make a lovely living for themselves, but it is imperative that we also project ourselves as a better place to be even if you are not actually suffering wherever it is that you are at. You come to America not just because there are issues in your country, but also because it is a wonderful country and there simply is no place else like it. Period.

Despite all its shortcomings, America is the best country in the world. For a lot of us.

And here are some reasons why I think I am blessed to live in the best nation in the world.

I’ve done a fair bit of travel in my life (not as much as I would like to, or a lot of other people, but I have seen a little bit of the world). And every time, I am in a foreign country, I realize how much more of a home America is to me. Yes, I grew up in India but, at this point, I’ve lived well more than half my life in the States, starting with the first penny (or dollar) that I earned in my life, which happened to be in this country as well (and it was literally in the “country” – in a small town in Ohio!).

They say that when you migrate, time stops. And your awareness of those places is stuck in time. What that translates to is that you are culturally disconnected from your place of birth, and as time passes, you become more and more detached to the point that most of the early childhood years start feeling like nothing more than distant memory. I say this because whatever it is that I end up sharing about India is likely very dated (so take it with a grain of salt).

So, as “different” as I may look, or talk (oh yeah, the accent takes 2 lifetimes to leave you, trust me!), I don’t honestly ever feel like an immigrant (except when I watch the news where they beat this word to death). Does it mean America is utopia, and there are no issues, whatsoever? Of course, not. I may be silly but am certainly not that stupid. However, we have to discuss these issues in the context of Planet Earth, and the rest of the countries that it comprises of.

Life is not fair. I’ve heard more than 1 super accomplished person say that (starting from Bill Gates, to Schwarzenegger, to Will Smith, to Matthew McConnaughey). But, I don’t think it is fair to blame that on a country, unless the system promotes it. And I strongly believe that our system does not promote it. Sure, certain organizations and individuals may exploit certain loopholes, but I don’t think I would place the blame on the system in entirety, and I say this as someone, whose experience is not solely limited to living in the United States.

As an immigrant, you are bound to make a ton of sacrifices, because a better life doesn’t come at the cost of nothing. First and foremost, you don’t live close to your family (No, that’s not a good thing!). Next, you’ll miss all the festivals you dearly love (for me, one of them is coming shortly – Diwali!). If you are wondering why I might miss them when there are quite a number of Indians in the US who celebrate Diwali (and other such festivals), and there seem to be a lot of gatherings and parties around this time (I mean, in a more normal world, not in this day and age of lock downs), I suggest you celebrate one Christmas in Chennai, India (where I come from)! You’ll surely realize what I mean by this.

Sure, going back to living in India would help satiate some of these needs and wants,but I have no doubts that I will be as lost (and most likely, more lost) as I was when I grew up in India. The only thing I ever understood (even if to a partial extent) when I lived there was my family, and friends, and some of the courses (certainly, not Mechanics & Optics, or Thermodynamics!) I had enrolled in College. That apart, I was pretty much lost. I didn’t understand the system one bit – not the traffic regulations, not the application forms, not the bureaucracy (as much of it that you could be subjected to, as a 17-18 year old), and not a number of other things. India is a very nice country but it just wasn’t my cup of tea.

I landed in Houston, Texas when I first arrived in the US, and I fell in love with America right way (barring the freak out sessions that went like this, “Oh my Goodness, what did I do. I know no one here. I want to go back”). I didn’t understand a lot of it then, and I still don’t understand a lot of it now. But, the beauty of the land is that you do not have to understand or accept everything. Making social connections is a whole lot harder than professional ones, I’ve realized, as crossing the seas on a plane and getting somewhere in a few hours is made possible by technology, but technology doesn’t necessary bridge the cultural divide, not in lightning speed at least.

But, the beauty once again lies in our differences as much as it is in our similarities. It would be boring if we are all too alike.

At this point, you may ask (and justifiably so) what the purpose of this article is, and what am I trying to get that. And to that, I would say one of 2 things – (1) be a tiny bit more patient, and (2) You didn’t sign up for a Pulitzer prize winning author’s article in nytimes, did you? So, don’t expect too much 🙂

But, I do have a point (as long winded as I might be, getting to it). Too often, I see America projected as a place to consider when you have no other options, or you or your country is in a state of turmoil. And that offends me as someone who loves this land for what it truly is. It is a place to be even if you are not struggling, and even if you have plenty of other options, and that’s simply because, you will not feel as much at home anywhere else as much as you feel at home here (not even in your place of birth, at times). And yes, I say this, as a colored person who doesn’t understand a ton of things about America.

Despite what we see in the news, I think there is more unity in America than in most places in the world. And we surely will become even more united.

While each of us finds inspiration in different things, here are some things about America that continue to blow my mind (I used the word “things” loosely because as someone who isn’t a native English speaker, I can’t immediately think of a better English word, and even that shortcoming is perfectly alright in America!).

  • Where else do you have someone like Clint Eastwood who has been making movies to satisfy so many generations? My dad used to watch his movies growing up, then I did, and now my son does.
  • Where else do you have someone like the Wright brothers, or Steve jobs, or Dennis Ritchie, Thomas Alva Edison (maybe, UK – another country I love!)?
  • Where else do you have something like Hollywood that entertains the whole world?
  • Where else do you have companies such as Apple, Google, Microsoft, Amazon, Tesla, or Facebook, Uberthat continuously innovate, and change the way we all live everyday?
  • Where else do you have a New York City (simply the best city in the world)?
  • Where else can you get pizzas this (super) size? 🙂
  • Where else do you get the opportunity to interact with people from all parts of the world?
  • Where else can you enjoy the beauty of all races, religions, sexes, and everything else that actually unitesus?
  • (…and one day not so much in the distant future, I hope this list will include Snowpal, and the productivity improvements it has brought to this world!)

I made my first dollar in the US, I got my first job in the US, my wife and I met for the first time in the US, my son was born in the US, I bought my first used & new car in the US, I bought my first home in the US, I founded my first company in the US, I built my first product in the US, I built my first Mobile App in the US, and during the course of my lifetime, there will be a lot more of these…

So, to everyone who has ever tried to tell me that America may not be the best country in the world, I will say this: you are dead wrong.

Yes, we have a number of issues as a nation, but who doesn’t? I am confident that America will get through all of this, and we will continue to be the best country in the world, a country that is not only welcoming to anyone & everyone who has a desire to lead a better life but also serves as an incomparable source of inspiration to every human on Planet Earth (and beyond) for years and generations to come. I have no doubts.

God bless America.

Time flies. Quick recap of our accomplishments in the last year.

A big thanks to our team!

It’s a year since we went LIVE (with our web platform). We’ve implemented a ton of things in the last year. To simply name a few big ticket items (specifics to follow in a follow-up article):

  1. Feature: Kanban Views (for Kanban lovers)
  2. Feature: Project Key Service (for Project Management)
  3. Feature: Scheduler (to manage all your System & Standalone events)
  4. Feature: Relations (to relate all your content)
  5. Enhancement: More Charts (Data Visualization)
  6. Enhancement: Numerous UI/UX improvements
  7. Feature: Caching on multiple tiers (Performance Improvements)
  8. Feature: Infinite Scrolling (on List View pages)
  9. Number of Bug Fixes (for a more solidified platform)
  10. Huge Refactors (to expedite development)
  11. Feature: Templates (to help create content quickly based on predefined templates)
  12. Feature: 2 brand new Native Mobile apps which have been on the App/Play Stores for about 3 months now.
  13. Design work for future services
  14. Marketing Videos (Animated + LIVE), DevOps improvements, Blogs, and yada, yada, yada!

As you can imagine, that’s a lot of work. We are a small group of extremely committed & passionate individuals, and while we realize there are more mountains to climb, we also know that we’ve come a long way.

Super thrilled!

Sign up on https://snowpal.com, & enjoy the power of our platform.

Snowpal Pitch: Technology Stack, Deployments and Releases

First of all, hope you are all staying safe. If the last few months have taught all of us something, it is simply that we have to appreciate life – both for the things we already have, and putting us in a position of privilege to work towards the rest of the things we desire to have.

I would like to begin this article by quoting one of my most favorite poetic lines from Robert Frost’s Stopping by Woods on a Snowy Evening:

and miles to go before I sleep…

We are coming up on our first product anniversary very shortly and I wanted to take some time to reminisce about the journey thus far, talk about where we are currently at as a SaaS Startup, and touch a tiny bit on our roadmap, and the challenges that lie ahead of us.

If you like numbers (I certainly do), you may enjoy this next section. But, before I share the specific numbers, let me give you a high level overview of our Product, Technology Stack and Environments so you get some context to these numbers that I am going to share with you.

Technology Stack

We are a small team of highly self-motivated engineers who wholeheartedly believe that the best way to solve any problem is not necessarily how we’ve done it all along. To rephrase that and put it slightly differently, we believe that –

Just because we did something a certain way in the past does not in any way, form or shape mean we have to do it the exact same way in future.

So, we are constantly on the lookout to doing things in a better, more current and recommended way, and that, in this current environment of Software Development, is changing constantly – literally by the week or month. Gone are days where you could do the same thing, the same way, every single day.

So, every time we implement a feature (be it UI, API, deployment, or integration related), we pose the exact same question to ourselves – how should we go about implementing this? The answer to this question from a Technology Stack standpoint has rarely been the same. Given that, here are some languages, frameworks and libraries that our stack currently comprises of (and I promise you that if I had written this a week later, it would’ve been slightly different, and most likely, lengthier) –

Ruby on Rails, Flutter, MongoDB, Bootstrap, React, Sass, CoffeeScript, Mongoid, ECMAScript6, Backbone, Sinatra, Haml, Node, Handlebars, amCharts, Webix, DHTMLX, Heroku, EC2, …

Sure, not all of these play an equal role in the composition of our stack but they all play a part, not to mention an important one, in keeping all aspects of our platform functioning, performant and highly available. Some (as in the list below), you would experience directly, and others, not so much, at least directly.

Product

Whether you like to manage your projects, and your life at work and home, on your Desktop or your Mobile Device, we have you covered.

1. Web App (+ Responsive Mobile App) – https://pitch.snowpal.com

No alt text provided for this image

2. iOS App: https://apps.apple.com/us/app/snowpal

3. Android App: https://play.google.com/store

Here’s a Tidbit – when we started building our Native Mobile App, we were hoping that we could piggy back on the countless UI/UX discussions we had had for building the Web App and, thereby, save a good amount of time in not having these discussions.

But, as it turned out, and rather unsurprisingly so, that wasn’t to be the case. While we knew things wouldn’t translate verbatim to a smaller real estate, we didn’t quite think (or perhaps want to admit) that building a Native Mobile App would require the same number of discussions, and pixel pushing, that the Web App required out of us.

Yes, we were solving the same set of problems on the mobile device, but they had to be solved very, very differently so the end user had the best experience. I don’t know why I felt the urge to mention this as this wasn’t any easier or harder than any of our other challenges, but who knows – maybe, this piece of information ends up helping you if you find yourselves in the same boat.

Take a look at the infographic below to get a sense of the breadth of our features.https://www.linkedin.com/embeds/publishingEmbed.html?articleId=7091529328682790787

Environments

While I’ll admit that we lack what we need on our DevOps side of things (we expect to cross this bridge in the coming months), we didn’t compromise on the number of environments we needed to ensure that our app functioned smoothly across platforms and clients (with a 100% uptime). Here’s an insight into our environment setup –

We have 4 environments for each of our apps:

- Development
- Testing
- Staging 
- Production

We also have a 5th environment to manage our cron jobs.

In addition, we also have Native Mobile Apps that get deployed to the App and Play Stores (which work very differently by the way).

Branching Strategies

When you have a Web App, a Mobile Web App and 2 Native Mobile Apps, that’s a handful (for any sized team, let alone a smallish one). Add to it active development of new features and enhancements, and bug fixes, we need to have a pretty robust branching strategy so we have a handle on the various PRs, code reviews, testing processes and deployments.

This is a detailed topic in itself (much like each of the other items above) but, at a high level, we have these branches (outside of the feature branches):

(feature-branches)
develop-interim
develop
master

And, here’s a trivialized form of our git workflow process:

No alt text provided for this image

Deployments

At this point, you should have a pretty good, high level overview of our product, environment, technology stack and branching strategies, and given that, maybe you are ready to join the team? 🙂

Jokes aside, this is a good time to delve into some interesting numbers!

Web App Version: 1.0.170

API Version: 1.0.171

Mobile App Version: 1.0.41

Without analyzing the rational behind these numbers, a simple way to interpret that is that we’ve had at least 170 deployments of the Web App(s), 171 deployments of our API App(s), and 41 deployments of the Native Mobile App(s).

Each deployment goes through a git workflow process requiring further deployments to each of our lower environments, so once again, to keep things simple, you can treat it this way:

Web App: 170 * 5 => 850 Deployments

API App: 171 * 5 => 855 Deployments

Native Mobile Apps: 41 * 2 => 82 Deployments

TOTAL: 1787 Deployments

Let’s break that number down further –

Deployments in a year: 1787

(Average) Deployments in a month: ~148

(Average) Deployments in a week: ~34

(Average) Deployments in a day: ~5

That’s right.

We’ve had about 5 deployments per day across environments and servers during the course of the first year that we’ve been in service!

What that translates to you as an end user (either as a current one, or as a potentially future one) is that we’ve had that many opportunities to enhance our apps so they can play a role in your life on a daily basis.

Roadmap

My original intent was to discuss our roadmap in this article but that was before it was a 100 pages long! Given the length of this article, I think it is best if I did it in my subsequent write-up.

Hope you learned a bit more about us, and don’t forget to sign up on https://snowpal.com!

Be Organized.

Be Happy.

Be on Pitch.

Weekly Brown Bag Sessions | Web & Mobile Software Development | Learn | Teach

The number of messages I’ve seen off late on LinkedIn (and elsewhere) related to folks looking for work (either starting recently, or in many cases – for quite a while) absolutely breaks my heart, and I am sure it breaks yours too.

As a consultant, I find myself in that position rather frequently but I’ve done this for a long time now, so I can (almost) say that I am used to it as that’s pretty much the nature of the beast when it comes to consulting (so you really sign up for that lifestyle as a consultant).

On the contrary, if you are a W2 (aka, permanent) employee, you aren’t necessarily expecting to be in this position (and certainly not as frequently) so it is understandable that one’s mindset is not oriented to being (perennially) in the “looking” state

While I hope everyone finds the job they are looking for and, more importantly, in their field/career of choice, it is possible that some of you may entertain thoughts of switching to the (and may I dare say, beautiful) world of Software Development.

I use the word development loosely but what I really mean by that is pretty much everything that falls anywhere in the space between “I have an idea” to “Our product is now in Production!”. Having done this for longer than I might be willing to admit, I would like to believe I can help, even if in the tiniest ways possible.

I am not a recruiter so I can’t directly help you find your next job but I am more than happy to take an hour of my week to guide you or teach you so you do land that next software (related) job.

And how do I propose to do it? I am not certain I’ve a concrete, or definitive answer, and certainly not one that is tried and tested but, as they say, we live and learn and more importantly, need to start somewhere.

So, what I am hoping to do is set up weekly 1-hour Brown Bag sessions over Zoom. We need 2 sets of people to make this happen.

  1. First – a group of people who’ve experience in different areas of Software Development willing to contribute an hour of their time every week, or when possible.
  2. Second – folks who can benefit from these sessions.
  3. Last but not least, I am happy to take the additional responsibility of moderating this, and making them happen consistently.

If we can help even 1 person land a job (and hopefully, a job to their liking), I would consider this effort a grand success!

Send me a direct message if you would like to contribute, or benefit from these sessions (and needless to mention, they aren’t mutually exclusive, so we are all going to both learn and benefit at the same time).

Apple Final Cut Pro X | Bugs and Workarounds | Video Editing

Apple’s Final Cut Pro X is a good piece of software for Video Editing but it isn’t without its share of bugs. Here are some I’ve run into, and the workarounds I’ve resorted to.

Final Cut Pro X | Bugs and Workarounds


## Manage your projects, at work and home, on Snowpal Pitch!

Be Organized. Be Happy. Be on Pitch.

Process Efficiency – what you do repeatedly better be efficient!

It is imperative that what you do repeatedly is efficient. I’ll take one example to discuss the implications of an inefficient process.

1. Our SaaS Product – https://pitch.snowpal.com

2. LIVE (Web-only) demo – https://consulting.snowpal.com/pitch

3. App Store: https://apps.apple.com/us/app/snowpal/id1502153924

4. Play Store: https://play.google.com/store/apps/details…

Be Organized. Be Happy. Be on Pitch.

Process Efficiency

Working from home? Keep an eye on time spent in meetings.

Now that a lot of the world is working remotely, there are probably even more meetings than there already were, and there used to a lot to begin with!Keep an eye on the time spent in meetings.

  • Do you need to have as many meetings as you do?
  • Can they have fewer people?
  • Do you have a sense for the collective human hours spent in them?

Snowpal Pitch

You can track these things on our SaaS platform as well!

1. Our SaaS Product – https://pitch.snowpal.com

2. LIVE (Web-only) demo – https://consulting.snowpal.com/pitch

3. App Store: https://apps.apple.com/us/app/snowpal/id1502153924

4. Play Store: https://play.google.com/store/apps/details…

Be Organized. Be Happy. Be on Pitch.

Meetings, and more meetings!