Fantaisie

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!

Have you 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 between your phone and your desktop?

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 posts 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 phone to phone and phone to computer. 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 always.

Another cool feature is the ability to follow feeds such as comics and news. Content updates continue to come 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 on all devices

3. SHAREit

Image result for shareit screenshots

SHAREit is a file-sharing app that works using WiFi-Direct standards through temporary personal hotspots. You can use it to send and receive files between phones and between a phone and a computer. 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 and don’t want to waste money 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, don’t you agree?). Anyone on the group will have access to the file, which is faster than sending files individually to everyone.

Don’t have SHAREit? No problem… as long as the person who has the app you want, has it. SHAREit can create a server on a temporary hotspot with a link to download files. Anyone who connects to the hotspot and visits a particular site, can easily download the apps (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 accordingly.

Finally, SHAREit also comes with a PPT control feature that does exactly what you’d think: 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 need to pick up your phone is to answer calls or to game (tasks which can also be emulated on your computer through other apps not covered in this post).

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?! Think of it like Apple’s controversial and anti-competitive strategy of blocking certain Spotify features (to favor its own Apple Music service).

SHAREit official website

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

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.
Advertisements
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…

donald_knuth
XKCD No. 163

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

Cheers!