If you're the smartest person in the room, you're in the wrong room.

Power User Series – Tip 1 — December 22, 2016

Power User Series – Tip 1

Hey there!

Ever felt that you use too many messengers and accounts for comfort. Do you have different friends on different sites? Is checking each app on your phone consuming too much of your time? At work, do you constantly switch back-and-forth from your phone to your PC?

Today, I will talking about a few desktop applications that will enhance and optimize the way you use your  smartphone (and tablet) I will be covering Franz, Pushbullet and SHAREIt.

1. Franz

Franz is a desktop application that aggregates all your social media, email and communication into one interface. It spawns one WebView-style tab for all of the accounts you configure and handles notifications for each account.

Image result for franz screenshots

As of 22nd December 2016, it supports 34 communication applications, from WhatsApp, Telegram and Messenger to Hangouts, Gmail, and Slack.

The best part is, since each application within it lives in a sandbox(a WebView instance) the application does not read your messages, which are processed only via the service that you are using at the moment. Personally, it has spared me from having to check for new messages and post every so often, which has saved me a ton of time.

Get Franz over here. It is compatible with Windows, Mac and Linux.

2. Pushbullet

Image result for pushbullet screenshot

Pushbullet is a service that mirrors phone notifications on your computer. It helps you transfer files to and from multiple-phone to phone or phone to computer, you choose! Next, the in-built messenger helps you contact friends and even share links among devices. Furthermore, the “Quick-reply” feature helps you respond to text messages from your device(be it through SMS or IM).

Messages appear as part of “chat heads”, similar to the ones on Facebook Messenger, ensuring the conversation thread remains visible.

Another cool feature is the ability to follow feeds such as comics and news, updates of which keep coming in on all the screens on which the app is installed.

To work effectively, Pushbullet needs to be installed on all devices that need to be connected. Distributions are available for Android, iOS and Windows and for Chrome, Firefox, Safari and Opera(as add-ons / extensions).

There are a few API limitations though:

  • Sending and receiving text messages through a computer works for Android only
  • iPhone notifications can be seen only on Mac devices whereas Android notifications are viewable through all device

3. SHAREit

Image result for shareit screenshots

SHAREit is a file-sharing app that works using WiFi Direct standards and using temporary personal hotspots. You can use it send and receive files between phones and between a phone and computers. Since it works on WiFi and does not use mobile data, it offers blazing fast transfer speeds, purported to be 200 times that of Bluetooth.

Ever gone on a trip and during the journey, wanted to play a LAN game you see others playing? But, don’t want to waste money downloading the game consuming precious mobile data? Then SHAREit(or Xender xD) is the solution for you. You can use SHAREit to transfer the application from someone else’s device to yours and start playing the compelling game. It’s perfect for sharing apps(particularly large ones that you absolutely cannot download), photos, videos and any other files. In fact, because of the Group Sharing feature, you can set up a group and invite some more gamers to join in(the more the merrier, isn’t it?). Anyone on the group will have access to download the file, which is faster than repeatedly sending the file individually.

Don’t have SHAREit? No problem…as long as the person having the app you want, has it. SHAREit can create a server on a temporary hotspot with a link to download files. Anyone you connects to the hotspot and who visits a particular site, can easily download them(and SHAREit too, ’cause why not?).

Through the remote view feature, you can view files that are on your computer, on your phone. Photos on your phone can also be viewed on your desktop, with a nice transition effect. As you swipe right, the picture on the computer changes, as well.

Finally, SHAREit also comes with a PPT control feature that does exactly what it says: change slides.

This is what I call a feature-packed app.

With these three apps in your arsenal, you’re well on your way to becoming a smartphone power user. Using all three in synchrony will ensure that the only reason you are picking up your phone is to answer calls or to game.

Hat tip: If you have Xender on your phone, SHAREit won’t display it in the app selection screen, thus preventing you from sharing Xender over SHAREit. That’s just evil, don’t you think so?!

SHAREit official website

The app is compatible with Android, iOS, Windows Phone, Windows and Mac.

That’s all, folks.
This is Prad signing off for the day.

Ahead Stop - XKCD No. 781
Ahead Stop(XKCD No. 781) They actually started the reversed-text practice in 1977 — not for ease-of-reading reasons, but because too many people were driving backward down the highway blasting the Star Wars opening theme.
Easter Eggs — October 31, 2016

Easter Eggs


Easter eggs, they’re scrumptious! Mmmm. But this isn’t a post about the ones you eat guys! I’m talking about the hidden pages of the Book of Mozilla.

I’m talking about Easter eggs in programs. The ones, which, when you accidentally(or when Google helps ūüėČ ) find, you have a eureka moment.

Easter eggs are usually triggered by pressing a hidden button or pressing keys in a certain order. Here are some other ways they can be hidden:

  • A secret message having the same font color and background color(white-on white, black-on-black etc.)
  • Become visible only when particular gestures repeated a given number of times(e.g. Chrome for Android)
  • Specific search queries(e.g. Google search has loads)

For the unaware, easter eggs, in context of software, are little bits of undocumented code developers add to an application. They could encompass anything, from a hidden credits screen to a jumping object(Spoiler Alert: WinRAR) to a hitherto unheard of 256th level in Pac-Man to even a whole flight simulator.

They are often included to display to show persoality quirks of a particular developer or just to add light humour to an otherwise mundane program.

Unfortunately, Microsoft doesn’t include them anymore, because of a policy called Trustworthy Computing that they introduced in 2002. Nevertheless, their earlier products have tons of them! Here’s an exhaustive list of the ones discovered (so far).

Do comment if you happen to have found one!

And here’s the comic of the day, from XKCD!

They'll pick music and culture that they know annoys you. Building in behavioral Easter eggs is a fair retaliation!
Parental Trolling. Now isn’t that just cool! Click on the image to see a larger version.
Formulaic — May 29, 2016


Hey guys!

I’m super excited to announce the (non-commercial)release of my new single “Formulaic”. It’s been sitting on my computer for weeks and I’d been itching to finish it, but I was busy.

Anyway, this is called Formulaic because I wanted to try out how sticking to a formula would help. I think this track sounds closer to mainstream electro house than my other sounds. What I found was that it helped me quicken my workflow since I didn’t have to constantly focus on the final song¬† structure. I also realized that I was stumped for ideas less often. Usually, I end up splitting the production over several periods over a week so I can be inspired by the things happening around me.

As always, I’m pleased and eager to hear feedback and suggestions! So please comment.
If you like it please vote for it on the Spinnin’ Talent Pool here. Stay tuned, new post on my latest coding adventure coming soon.

See ya!

TextCMS —



This week, I resolved to code. I hadn’t done anything serious for a while and I decided that that the right time had come. So I sat down, wondering what to do. I started surfing the Net. I ended up reading an article comparing web frameworks and CMSes. An idea slowly spawned about making my own CMS type software. Something simple. Like proof-of-concept.

What I ended up making was a Python script capable of taking a directory full of posts – with content in text files and laying out a page depending on the template desired. After writing what looked like a very specific case, I paused; realized that I could abstract this and refactored it.

Then, came along an object with template functions to handle each component of the webpage separately. I had been using a text file with a list of posts with each post to be included on a new line. This became inconvenient when I wished to handle metadata. Soon, this list became a JSON file-this would easier to access and modify than a database.

Using Python’s JSON module, I eliminated storing any post info in separate run-time variables and just dumped(literally) the whole JSON into a dictionary. Here is where I took a break. I still haven’t resumed work on it, but I’m toying with the idea of adding a plugin-manager and handling images more elegantly(actually, showing images at all, without the user having to code markup, I haven’t started handling images yet :P).

Right now, it’s a script that you have to call, that generates, well, static pages. Soon, I’d want to convert it into a server, so that the posts are served real-time. I don’t want to have to re-run the script every time I edit post or create a new one. The page template functions should be part of the HTTP response probably a GET query.

The header image is a screenshot of it – taken immediately after a fresh run of the generator script. Once this gets into more of an advanced stage, I will open-source it on my GitHub.

The original goal was to make a lightweight web publishing tool, so that anyone who wants to publish their writings, just needs to write a few text files. The styling is separately with CSS- the generator has classes assigned to important sections. Including stylesheets in the package so the publishing process becomes instantaneous would be a good idea. I should seriously consider adding a media-library. Oh wait! How about a GUI front-end to edit the metadata.

If it’s a server, then even better. All users would have to do would be to enter information about each post in the (proposed)GUI tool. I feel like getting my hands dirty right away.

See you soon!

Regular Expressions — May 11, 2016

Regular Expressions

Hello there.

Knowledge is power. Data is king! And knowing how to manage data, process it and analyze it always shows you areas of improvement and interesting trends, regardless of your occupation. Be it feedback, suggestions, personal information, browsing habits, server logs, financial data, scientific observations, presentations or even books and news that we encounter every day, our lives are filled with information. That is sitting on a computer, maybe on a cloud, who knows where. But it is there to be used and to help you stay at the top of your job. Nonetheless, just as the connections between neurons in your brain weaken, data gets misplaced, lost and potentially jumbled. Thus, organizing it is a recurring task we must undertake.

Regexps or regexes, however you like to call them, comprise¬†a pattern matching system for text, like an¬†advanced find and replace tool as seen in word processors. I¬†won’t go over how to use them in this article, as there are tons of cheatsheets and guides all over the Net.

Using signs and symbols, like asterisks, brackets and other special characters, a regex engine or a library will enable you to find patterns in large swathes of text by processing a source expression, entered by you. It, effectively, decomposes the whole into delimited sections analogous to how vectors in Math and Physics enable one to separate one action into independent components which can be dealt with separately.

Regular expressions are ubiquitous; you can find them in web forms, validating email addresses, in web server directives(for example, to show you a page without you needing to type in the .html or .php after the web pages name), in advanced text editors like Notepad++ to sort text and even while batch renaming files and folders through a command-line.

A well-crafted regular expression, can save you a lot of time spent manually making changes(such as ensuring that all commas in a file are only followed by 1 space) and dramatically .

Learning how to wield the magic wand that is RegEx will take you one step closer to being a power user.

An aside here. I couldn’t leave you without giving you this link to the¬†now wildly famous¬†answer on StackOverflow on why you shouldn’t parse HTML with RegExps and this one that refutes the first one.


Now I’m AWKing for searches that involve greps. That’s what she she sed!


Motifs in Electro House — May 10, 2016

Motifs in Electro House


Being a huge big room, electro and progressive house fan, I love finding patterns and themes in tracks To the unfamiliar ear, most songs of Big Room and house in general sound same – an intro, the rising action, the break and THE DROPPP ūüôā (it’s become all we listen to nowadays, seriously). Rinse. Shower. Repeat(rather Eat Sleep Rave Repeat ūüėČ )for producers , DJs and fans alike.

But all drops are different. Whether they are unusually long – Higher Places – Dimitri Vegas and Like Mike (Bassjackers Remix), minimal – Akufen – Skidoos and Coldplay – Fix It(Datsik Remix), meta and self-referential drops – [Drop It Like Drop It Like Drop It] Like That – Bassjackers or even every single siren-swept Martin Garrix drop, each drop has infused in it, the style of the producer which unfortunately leads many to think that all, say Armin van Buuren songs are the same. . I think that while exploring new genres and artists in in EDM, consistency in terms of song structure is by no means the only criterion and a crowd-satisfying and  assured euphoric drop is definitely something producers need to always keep in mind. In the below video, DJs Mashd N Kutcher, bored of playing drop after drop(really? how is that even possible?), to see crowds going crazy regardless of whether they liked the song or not, ‚Ķ well, I’ll let you see it.

I can really feel the frustration and crushed hearts after that underhand swap-out. I mean they’ve paid for a rave and their night has literally just been ruined.

Anyway, I digressed a bit over there. Being a huge +X fan, I had this intriguing idea of swapping drops among songs. After surfing on YouTube, I found several people who’ve done something similar – play several of Martijn’s songs together, aligned drop-wise.

A cursory listening makes it look like the drops are swappable, but the basslines would sound weird, the style unnatural, and moreover a rude shock. All of them playing together sounds like a mess. Even if it showed the futility of such an action, at least we confirmed that consistency and repetition in  sounds are still cornerstones of a great house track.

A few other observations, if I may. Many Big Room and Electro House tracks have this 8 or 16 bar synth variation after the intro, followed by a 8 bar bridge usually with the low pass filter opened way up. This seems to help in filling up the sound spectrum and to prepare for the drop. The bridge is also the time for a siren or wobble bass to be slowly introduced that serves as a complement to the bassline after the drop. In several “In The Studio” videos, such as those by Future Music and the like, producers comment that using particular EQing techniques and other quality improving effects and specific sample packs such as Vengeance for this purpose keeps the recording from becoming too loose and from disintegrating in the ears of listeners.

Another thing producers have been doing is creating a short section of their signature loop or an effect which they use in every song. This helps in standing out from the arguably crowded community of producers. It’s often a very enticing hook, such as a few synth blasts, wobble basses, air horns, repeated snare rolls, or even just a chant. I find that these characteristic riffs work wonders in pulling new listeners and in retaining old followers. This often results in the branding of a track and a style of producing.

I hope you learned something new, got some food for thought and started appreciating this splendid genre more!

Cheerio and as always, keep “Getting Your, Getting Your Hands Up”!


The endless classification debate rages on…(Seattle EDM on Pinterest, retrieved from


Mau5heads rock! (quickmeme, retrieved from

itertools in Python — May 9, 2016

itertools in Python

Hi there! At one point, while using Python, have you felt the need of a syntactically short way to quickly perform an operation on a list, and you’ve wondered, with Python’s excellent built-in functions(fine, “methods” – OK, Java developers ;)), if functions exist to do things like, get all of the permutations or combinations of a list with or without replacement; evaluate a common function(a higher-order function) to every element in a list; get a tuple of all possible outfits, given lists of shirts, trousers and ties?

If you have, then itertools is the module for you! With functions that perform operations taught frequently in high-school math classes, like Cartesian Products, Permutations, Combinations and Set-Building, itertools enables you to succinctly produce a list from another list, without getting your head flipped with nested listcomps and complex generator expressions. I’m going to go through a few useful functions here. Check out the Python Docs for more info:

  1. itertools.imap(function, *iterables)
    Some of you may recall map(), that in Python 3 has been relegated to functools from the global namespace. This function applies a given function(including lambda/anonymous functions) to a set. The difference between imap and map is that imap is evaluated lazily and returns an iterator. You need to keep calling next on the iterator to get each value, whereas, map evaluates the function on all elements of the specified list immediately. Thus, imap is suitable for situations in which you have large lists but don’t need the values all at once.
  2. itertools.product(*iterables[, repeat])
    This returns the cartesian product of lists passed to it. This is quite handy while filling out a form automatically through a script.

    >>> import itertools
    >>> shirts = ['green shirt','red shirt']
    >>> trousers = ['corduroy trousers', 'pinstriped trousers']
    >>> ties = ['bow tie', 'cravate']
    >>> outfits = itertools.product(shirts, trousers, ties)
    >>> for e in outfits:
    print e('green shirt', 'corduroy trousers', 'bow tie')
    ('green shirt', 'corduroy trousers', 'cravate')
    ('green shirt', 'pinstriped trousers', 'bow tie')
    ('green shirt', 'pinstriped trousers', 'cravate')
    ('red shirt', 'corduroy trousers', 'bow tie')
    ('red shirt', 'corduroy trousers', 'cravate')
    ('red shirt', 'pinstriped trousers', 'bow tie')
    ('red shirt', 'pinstriped trousers', 'cravate')
  3. itertools.combinatoric(iterable, r) where combinatoric stands for any of the following – combinations, combinations_with_replacement or permutations,
    and r is the length of each subsequence. For example,

    >>> comb= itertools.combinations([1,2,3], 2)
    >>> [x for x in comb]
    [(1, 2), (1, 3), (2, 3)]
  4. itertools.ifilter(predicate, iterable) and itertools.ifilterfalse(predicate, iterable)These two functions generate iterators that filter based on the expression ‘predicate’. ‘ifilter’ returns elements for which the predicate/condition is true and ‘ifilterfalse’ returns elements for which the predicate/condition evaluates to false.

I hope this helped you increase your program efficiency and added to your list of tools that you can use while tackling a problem. Don’t forget to check out the Python Docs for the other nifty functions.

And now for something completely different…

XKCD No. 163

For those of you may point point out the elegance of list comprehensions, wait up! New posts are coming soon.




LMMS(previously Linux MultiMedia Studio) is my digital audio workstation(DAW) of choice. It’s FOSS(free and open-source), easy-to-use, cross-compatible and has a lot of cool features.

What I like most¬†is the interface. Designed to be used on a single screen, it is much less crowded than those of other DAWs. It’s really simple to choose samples(a¬†recording¬†of an¬†instrument¬†playing a note or a series of notes)¬† from the sidebar, add it to the beat and bassline editor and prototype¬†your loops¬†immediately. In fact, users of FL Studio(previously FruityLoops) will find themselves very much at home as LMMS is designed to replace such commercial DAWs.

What’s more, you ask? The whole interface is, wait for it…. themeable¬†and you can upload¬†themes to as well as download one of 59¬†user-created themes from the Sharing Platform.

It comes with a lot of built-in software synthesizers/instruments, most famous of all, ZynAddSubFX, a hybrid synth, originally developed by Nasca Octavian Paul. I use this a lot to create Big Room Saws and String Pads. Apart from this, it comes with an eclectic range of audio and MIDI effects in the form of LADSPA plugins. These really add that touch of originality to your music and help you create a signature sound.

Using VesTiGe, one can use VST instrument plugins to emulate instruments and expedite the creation of your track without having to focus on creating your own sounds.

What’s more, it’s super simple to connect it to MIDI equipment¬†like an Oxygen 49 keyboard or even an Akai LPD8 pad so you can record your compositions and improvs directly from your instrument. All you need are the latest MIDI¬†drivers for your instrument installed and a usb-midi cable. Turn off your instrument, connect it to your computer and turn it back on. Now, you can change the note input on any instrument to your instrument’s name in the drop-down menu and voil√†! Remember to turn your instrument off before you try to remove the cable.

You’ve been warned.

On a lighter note, you can get LMMS for your desktop OS, here. Good luck on your music making journey!

LMMS(default theme), running on Ubuntu, with the sequencer¬†open in the top left, the effects(FX) mixer on the top right, the notes editor or ‘Piano Roll’ on the bottom left and a drum loop being edited in the ‘Beat and Bassline editor’ at the bottom right.

Check out my recent track Speeding Moment, on my SoundCloud, below. I’d love to hear feedback on it and on my other tracks.