This year, for the very first time in Mumbai, LetsTuneup is hosting an exclusive, invite only Secret Santa gathering.
I was one of the firsts to be invited (yes!). We’re planning to have a fun filled, gift exchanging afternoon sometime during the Christmas week. The venue is yet to be declared. If you’re looking for an invite, tweet to LetsTuneup!
More information about this event is available here.
We’re looking forward to meeting all of you out there!
How it all came about
Yesterday, the morning show producer of Ishq FM messaged me, and asked if the RJ could talk to me the very next morning for a brief chat about LetsTuneup. The producer had read about LetsTuneup in an app review which was published by one of our fans a couple of weeks ago.
RJ Sangy hosts a morning show called Ishq Hangouts. We did a brief interview which lasted for about 12 minutes this morning.
For those of you who missed it earlier today, here’s the audio recording of the chat, split over four parts.
Personally, I’ve never been on air before. I loved my first experience, albeit I was extremely nervous just before it – the quick fix, I was listening to Mirrors by Niall Horan on a loop for about ten minutes just before the interview :)
With absolutely zero knowledge of Go 54 days ago, I decided to contribute to the Go project. Why? Put simply, I was bored. The thrill of learning something new, and contributing to a massive OSS project like Go caught my attention.
- Find an issue that’s tagged as HelpWanted.
- Go through their Contribution Guide.
- Although I skipped this part at first, the commenting guide.
- I split the issue at hand into two parts, one that provided the resource, and the other to actually fix the reported issue.
- On my very first CL (change list), my commenting style varied greatly. I was asked to review the commenting guide. Read it. Seriously, read it.
- A must read before starting, Effective Go.
- Take a tour of it, in A Tour of Go.
- Use Gogland (I love JetBrains for their outstanding IDEs).
Learning Go from scratch was a fairly simple task. It’s just a new syntax, nothing more. Moreover, there’s always Stack Overflow to help you out. Think of SO as a passive mentor, who gives you advice when it’s asked.
I’ve got to thank a couple of people who helped me along the path, @kevinburke, @bradfitz and @andybons. They reviewed my code, and gave my changes a +2, and submitted them.
What does it feel like?
It feels like the first time you try to dive into a swimming pool. You don’t know whether you can do it, but you do it nevertheless. Getting my first two CLs accepted was a little challenging, but definitely enthralling. Talking to other like-minded people across the globe, committed to fixing issues and innovating, is a completely new experience to me. I’m now set on a path to contribute to Go, as it’s a fun weekend exercise, and moreover, just because I can.
LetsTuneup has grown tremendously, and with it, we’ve introduced new features too. We identified that a few of our users couldn’t use the app to it’s full extent because they didn’t have music on their devices.
We’ve solved that. Users can now pick their favourite artists, powered by a location aware scoring algorithm, which recommends popular artists in their area.
Leading the recommendation list in Mumbai is Arjit Singh, followed by Eminem, Linkin Park, Coldplay and Pink Floyd. Honey Singh is #11 on the chart, and some nostalgic users love Akon, making him #28.
Stay tuned and look forward to our next big feature, very soon.
TL;DR: A giant American toy company threatens to sue Matchbox. Having no resources at hand, Matchbox is forced to change it’s name to Tuneup.
On the 14th of March, I received an email from Apple (via the giant toy company) with the following content:
The developer of the reported application is using the registered
Matchbox trademark in the description of the application without
authorization from the right holder. Also he is offering services by
unlawfully using the registered trademark which is causing bad
influence for the Matchbox brand values. Furthermore, this application is
not authorized from the right holder. This is a trademark infringement
causing damages to our client xxxxxxxx, the right holder for the
Matchbox intellectual property. I would kindly ask you to proceed and
remove the infringement/application from all stores worldwide.
This company, had the trademark for Matchbox registered under the following classification codes: US 001 002 003 005 021 022 023 026 029 036 037 038 039 041. Each and every G & S description was related to toy products, fabrication, stationery products, and manufacturing processes.
Looking up these classification codes on the United States Patent and Trademark Office’s website, absolutely none of them are for computer software, or anything that even crosses paths with Matchbox.
The million dollar question: If there was absolutely no case for “confusingly similar”, why did Matchbox change it’s name?
It’s simple really. Big guys always bully the small ones. They threatened to sue us if we didn’t stop using it. Even after proving to them that it wasn’t even remotely infringing to their use of Matchbox, they wouldn’t budge. Had I fought them legally, I would’ve won. Easy peasy. However, due to the lack of resources, I had no choice but to change it’s name.
If I had to call Matchbox anything other than Matchbox, I’d call it Tuneup. “Tuneup” is imagined by Joelle Fernandes, the co-founder of Let’s Tuneup.
This was completely unexpected. Matchbox got accepted yesterday into FbStart’s Bootstrap track, and has received a lot of freebies (worth $40K USD) to kickstart the platform’s growth.
Matchbox is born and bred in Mumbai, India. To be a part of the few apps in India to be accepted, means a lot.
Thank you for all your love Facebook!
There’s no doubt that music defines us. It influences our moods, for example, making us happy by releasing a chemical named dopamine. It can affect what we wear, what we eat, and perhaps even who we enjoy being together with. It affects our thought process too (it’s well known that ambient noise can improve productivity).
In a study conducted amongst couples who were eighteen years old, it’s been found to predict personality traits. According to the same study, it’s what we’re most likely to discuss about when we meet somebody new, within the first few weeks. Psychologically, men and women who listen to similar music tend to be better communicators, and have longer lasting relationships.
It’s probably one of the most important things in our lives. If I were to place music on Maslow’s hierarchy of needs, I’d place it at the physiological stage. It’s a fundamental part of our society. Even the Hollywood movie directors (e.g. the scene from Interstellar) would agree.
Why not extend this to the social discovery apps we use today? None of them base their core on this. One of the most popular apps for social discovery, Tinder, uses Facebook page likes and interests, to match people together.
This is why Matchbox was created. It bridges the gap between “truly anonymous“, and “hey there“. The app shows you the top ten artists that are common between you and the person you’re looking at, giving you a fair knowledge of what that person would be like:
You’re more likely to be at ease knowing that the opposite person is a little similar to you. Matchbox was crafted with the sole intention that music is the key that connects us, and binds us together. It has evolved for over 9 months, before being made available to the world.
As it stands right now, Matchbox has a hundred active users, and is growing slowly.
Go ahead and test drive the app, and see for yourself how Matchbox re-defines the social discovery platform.
Tim, iOS has always been known for it’s user interface, until recently. Your new take on notifications have not only made them very loud, and unsettling, but do not flow with the entire look and feel of Apple:
See that white background? While you’ve done a good job of highlighting the content, it breaks continuity. There was nothing wrong to start with. The way notifications used to render on my iPhone was simply perfect! The content did not need to be highlighted the way you’ve done so in iOS 10. I really loved iOS for not cluttering my life, and making it simpler, compared to Android (the new style does look like inspiration from Android, doesn’t it?).
Comparing this to iOS 9, what you’ve lost is absolute ingenuity:
I’ve been using the beta version of iOS 10 for a little more than a few hours now, and the Today screen has also been ruined. Oh! I almost forgot – what you’ve done to the control centre is horrible. Do you know what this reminds me of? It reminds me of the Red Wedding – Lord Bolton murdering the King of the North, Robb Stark. That was truly gruesome, wasn’t it?
Tim, iOS 9 was the epitome of creation.
I truly hope that this letter talks solely about iOS 10 preview, and that it doesn’t speak for iOS 10 final.
At CleverTap, we had the need to mock the new HTTP/2 Apple push gateway API. After trying to do this in Java, and then in Python, I succeeded in getting it to work in Go.
Go out of all languages! To me, Go has a completely strange syntax, compared to Java and C.
This mock server is hosted here, on Github.
At CleverTap, we’ve recently started using LESS for dynamic CSS. While it has it’s upsides, the biggest downside was that most of our developers couldn’t use the hot deploy feature for their local deployments.
After an hour or so, we came up with a neat solution.
There are two parts to this:
- Just before deploying the app into the web container, compile all the LESS files within the exploded artifact output directory
- Have the File Watcher plugin re-compile a modified LESS file within the IDE, and copy it over to the artifact output directory
Both parts above utilize a bash script (since everybody uses a Mac for development, it’s cool).
- The LESS compiler – can be installed using npm (npm install -g less). If you don’t have the Node Package Manager, just search on how to install it (most likely you’d use Homebrew)
- Install the File Watcher plugin in IntelliJ
- Go to Preferences in IDEA, then to Plugins
- Hit the “Install JetBrains plugin…” button, and search for “file watchers”.
- Install the plugin and restart the IDE
- A run configuration that is configured to deploy an exploded WAR (can be either Tomcat/Jetty/anything)
- Knowing where your exploded artifact resides (in my case, it is /Users/jude/developer/WizRocket/out/artifacts/Dashboard_war_exploded). If you don’t know how to get this, follow these steps:
- Go to File -> Project Structure
- Click on Artifacts (in the left menu)
- Select your exploded WAR artifact
- On the right, you’ll see the output directory
Part 1: Compile the LESS into CSS just before deployment
Copy the following script and save it as /Users/username/bin/lessc-idea:
Note: You will need to update the variable exploded_artifact_path in the script above.
Make it executable:
$ chmod +x /Users/username/bin/lessc-idea
Now, open up your run configuration, and scroll all the way to the bottom (where it says Make, followed by Build artifact …). Hit the “+” button, and select “Run External Tool”.
Hit the “+” button to add a new External Tool, and configure it as follows:
Ensure that the build order in your run configuration is as follows:
Once this is done, your LESS files should be automatically generated when you deploy your web app. Go ahead and give it a shot.
Part 2: Configure the File Watcher plugin to re-compile LESS files edited:
Go to Preferences, and navigate to File Watchers under Tools (left menu). Hit the “+” button and select “Less”.
Configure your new watcher as shown in the screenshot below:
Before your hit the OK button, a few things to do:
- Clear any output filters added automatically: Press the Output Filters… button, and remove anything inside there.
- Select your scope: Select the CSS/LESS directory within your web module (ensure you click on Include Recursively after you’ve selected the directory)
You’re all set. Hit OK, then Apply, and OK.
Test drive your new setup. The moment you change a LESS file, it’ll get re-compiled into the corresponding CSS file within the corresponding directory in the artifact output, and you’ll be able to see the changes immediately.
HTTP/2 is still very much new to Java, and as such, there are just two libraries who support it – Jetty (from 9.3), and Netty (in alpha). If you’re going the Jetty way (as I have), you’ll need to add their ALPN library to your boot classpath.
Note: Jetty 9.3.x requires the use of Java 8.
A full library for this is available here, on GitHub.
Here’s a quick example:
Developing an openFrameworks app with AppCode is pretty easy. However, if you just open and run the project created by the project generator, you might see the following errors:
Why doesn’t it just work?
This is because openFrameworks doesn’t support 64 bit builds yet on the Mac, due to a dependency on the deprecated QT framework. More on that here.
What’s the quick fix?
Set your project’s architecture to i386 (32 bit) in it’s build settings:
Once you’ve done this, your run configurations should shortly say 32 bit Intel instead of 64 bit Intel:
Kudos! Run your project now, and it will work right out of the box!