MSDN Magazine code highlighter

MSDN Magazine has many great articles about all kind of topics you can imagine. The most useful ones talking about the coming versions of C# or .NET for example are a must read.

While the content of the articles is great, the formatting of the code is terrible (non existing actually). The typesetting is inappropriate for code, and the code is simply laid out as simple text, making it extremely hard to read and follow.

People have been asking for formatting on MSDN mag for quite some time without any sign of this happening soon! Here is an example of a page from MSDN Mag:


After trying several chrome extensions that claim to handle syntax highlighting and none of them seemed to work, I have decided to make a small chrome extension that automatically highlights code snippets on MSDN magazine articles.

For this I used https://highlightjs.org/ with jQuery. The extension uses content scripts and have access only to MSDN magazine pages. You can choose among dozens of syntax highlight themes on the fly!

Here is the result without/with the extension installed:




The extension can be downloaded from chrome web store at: [MSDN Magazine code highlighter]

And the source code is obviously available on Github here: https://github.com/martani/MSDN-Magazine-code-highlighter


Twitter Archive Eraser: a year in review

Exactly a year ago today I added some analytics to Twitter Archive Eraser to get some insights on how it is used and what kind of load it is handling.

For those who do not know what Twitter Archive Eraser is, head here to read mode. But in a nutshell: it is the best and easiest way out there to erase your oldest tweets. Period!

So without further ado, here are the numbers for tweets deleted between 1/1/2014 and 1/1/2015:
  • Total tweets deleted: +255,000,000
  • Number of unique users: ~25,000
  • Number of downloads all time (only from official website):
    • Standalone: 52,529
    • Installer: 30,265

  • Top 10 accounts:
    • User
      Total deleted tweets
      @Almoujaz
      498,604
      @CakeLikeBieber
      386,941
      @tommytacklebox
      304,049
      @AdaBerita_
      288,376
      @rimanews
      286,370
      @1nfoku
      285,724
      @BadBoiStewie
      280,776
      @5starbeats4sale
      280,367
      @Shana_Takoyaki         
      279,600
      @nolesfan2011
      257,482
  • Users per number of deleted tweets:
    • Deleted 0 to 10,000: 18,106
    • Deleted 10k to 20k: 767
    • Deleted 20k to 50k: 4865
    • Deleted 50k to 100k: 888
    • Deleted more than 100k: 235
It's amazing to see that more than 23 million tweets belonged to only 235 users!

  • Geographic distribution of users

Some happy users:

Voilà, if you feel like deleting some tweets you check Twitter Archive Eraser.


Thoughts on Dashlane Password Sharing [Updated]

Dashlane announced two days ago the availability of version 3 of their product, which is as they describe it "enhanced for teams and families."

I love Dashlane. It is an excellent product when it comes to browser integration and ease of use. Although it has some other restrictions that people might not like (you cannot shut it down, no secure desktop when entering your master password etc.)

When using a password manager, one needs 1) a leap of faith into the product: trust that the product is secure -which is catastrophically not the case even for applications claiming to be number 1 on the marker-, and 2) that the password manager is not actually accessing or going to access its users' passwords and use them or sell them to third parties.

What password managers advance as the reliable foundation that solves both the above points is cryptography! It is very simple (not really): all your passwords are locked with a key, called the master password, on your local machine. Only you know the master password which is supposed to never leave your machine. In case the password manager makes sync/backups to their servers, they only see the encrypted data which is not readable even if somebody got hold of it, not even the password manager itself.

Back to Dashlane. It seems that they are taking the browser integration ease of use and making a "password sharing" as easy as their auto-login feature. You can even set an emergency contact to access your passwords after a given period of time if you don't revoke them.

You can choose to let the person you share your passwords with to have full or read only access to the passwords. A very useless distinction considering if the passwords cannot be changed on your Dashlane app by the other person, they can be changed on the target websites anyways... but that's a debatable use case you might argue!

Now, I can only speculate as to how the sharing of passwords is implemented. That's how +Dashlane describes it on their website:

How does Dashlane enable sharing passwords with others while still not being able to read my data?

When you share a password or other data via Dashlane, only the recipient has the ability to decrypt that data. Dashlane performs the encryption locally on your device, using a 1-way mechanism called public / private key encryption. Once encrypted with the public key of the recipient, the data can only be read with the private key of the recipient which Dashlane does not have. It is like a key that can only be used to lock but cannot be used to unlock."

Good enough indeed. But now, if user A sets user B as their emergency contact, Dashlane stores A's passwords that could be decrypted by B's private key in the case B can get hold of this data, regardless of A revoking or not access to those passwords. Let's hope that Dashlane does not copy A's encrypted data immediately to B's account and holds access control using timestamps for example (I know, very simple and catastrophic to be true, but you never know)

In conclusion, Dashlane cannot claim that your data on their servers is a 100% safe. As far as it is stored somewhere, if a copy of this encrypted (shared) data is accessible, the persons your shared passwords with can still access them, with or without your approval.

Update: one of Dashlane's developers contacted me by email to address the above question, here is his email:
I work at Dashlane and wanted to address your concerns on our new 'emergency contact' feature. I can confirm that we don't send immediately A's encrypted passwords to B. Instead, they are stored on our servers, and can only be accessed once the timer is elapsed, or A authorizes it immediately. Our servers can be hacked (we obviously do our best to prevent it), in which case it could indeed be read by the person you shared it with, so sharing your passwords with people you trust is always a good idea... However, using this feature means you don't also have to trust eg. your email provider (if you are used to share your passwords by email) or any other third party, which is why we think this feature improves the overall security (and convenience) of password sharing.
Hope this answers your questions, don't hesitate if something is unclear or you have other questions.
Glad you love Dashlane!


Twitter Archive Eraser 50 Million Deleted Tweets Cap and Stats

These are the current stats for Twitter Archive Eraser since 1st January 2014:

  • Number of deleted tweets: 50,361,283
  • Number of tweets loaded: 135,405,333
  • Number of unique users: 4011
  • Number of unique sessions (a user can use the application more than once): 8305
  • Total Azure Table Storage entities: 41800


Check for these number in real time at: http://martani.github.io/Twitter-Archive-Eraser/



Twitter Archive Eraser version 4.0 available

Twitter Archive Eraser version 4.0 was released about a month ago (too lazy to update on the blog here) and comes with an exciting set of new features.


The major features introduced with version 4.0:

  • Zip archive loading: you can now load the whole twitter zip archive in one click without the need to add specific *.js files separately.
  • Automatic errors retry: Twitter Archive Eraser will track any tweets which were not deleted due to network or server side errors and offers to retry deleting them on the fly. You can also save a list of these tweets to delete later.
  • Filtering based on regular expressions: Retweets, mentions etc... You can get all these very easily with Regex based filtering.


Real time statistics and reporting:

One of the exciting features of Twitter Archive Eraser ver 4.0 is statistics. I used Windows Azure Websites and Table storage for this. One of the examples of how valuable are stats is checking the number of tweets deleted using the application in real time. Following is an example of the counter showing these numbers available on the main website of the application):

As for 9th of February 2014, Twitter Archive Eraser deleted ~28 million tweets and loaded ~75 millions, in 6 weeks!!

Licence:

Twitter Archive Eraser version 4.0 comes with an updated licence. In a nutshell:
  • You can always use Twitter Archive Eraser for personal use and distribute it as you wish.
  • You cannot use Twitter Archive Eraser for commercial purposes nor derive works based on it.

If you wish to contribute to Twitter Archive Eraser, you are always welcome to do so on this repository on github at https://github.com/martani/Twitter-Archive-Eraser.

Special thanks for Florent (https://twitter.com/florentsays) for his valuable suggestions.

Download:




Swedish Greys - a WordPress theme from Nordic Themepark. Converted by LiteThemes.com.