Tuesday, March 24, 2015

Improving Google Scholar Profile Updates

Google Scholar has a great potential to become a powerful tool to scholars. However, as with Google's usual hobby of diving 20% deep into the  pool, and then spring cleaning them. It is hard to not imagine the similar fate for Google Scholar.

1. Recommendations based upon My Citation is like driving forward by looking into the backmirror in a car. Published paper is the summary of things done in the past. There could be a recurring theme in one's profile, but today's  research fields are dynamic. Seeing new items are exciting.
Google Scholar need to look forward.  There is "My Librrary" feature. However, I have never seen any updates which nicely correlates with the items in the library.
The idea is simple: a mixed recommendations based upon citation as well as the "My Library" feature, which is already there!
You can shoot me down by saying that it is your job to search/seek. But, it is not hard to imagine how powerful it could be.  Readcube does better job in this regard.

contd...



---
-->

Thursday, February 19, 2015

@lenovo's trust eaten by #superfish

It's over before the news spread out too much about it. However, this has left a dent in Lenovo's trust factor. A lot of people had developed positive brand image for Lenovo until this "man-in-the-middle" adware approach broke out in the news:
http://thenextweb.com/insider/2015/02/19/lenovo-caught-installing-adware-new-computers/.
The adware proxy #superfish injected third-party ads on Google search and websites (in chrome/ie).
Not good!
https://twitter.com/fugueish/status/568252885839912960?s=09

Well, a fun side to this story is a nice hacking diary detailing the steps involved in extracting superfish certificate.
http://blog.erratasec.com/2015/02/extracting-superfish-certificate.html#.VOYAWbDF_Xo

You probably remember that your computer was preloaded with lots of bloatware, and had to uninstall some softwares or trials. I wish the computer box were sold with the option that let people do fresh install their OS.

---
-->

Friday, January 9, 2015

Insert the date and time into the google docs

This is how you insert the date and time to the google docs

1. Go to the Google document/new document.
2. Go to the Tools/Script Editor, and insert the following script at the bottom of the scripts.
This will create a new menu. You can modify the code to change the appearance of the month/date.
3. See the end note to add automated date entry!

The code is available below/ at pastebin.
http://pastebin.com/QFpTRQ3h




function onOpen() {
  var ui = DocumentApp.getUi();
  // Or FormApp or SpreadsheetApp.
  ui.createMenu('Insert Date')
      .addItem('Insert Date', 'insertDate')
      .addToUi();

}

function insertDate() {
  var cursor = DocumentApp.getActiveDocument().getCursor();
  if (cursor) {
      // Attempt to insert text at the cursor position. If insertion returns null,
      // then the cursor's containing element doesn't allow text insertions.
      var d = new Date();
      var dd = d.getDate();
      var hrs = d.getHours();
      var min = d.getMinutes();
      dd = pad(dd, 2)
      var mm = d.getMonth() + 1; //Months are zero based
      mm = pad(mm, 2)
      var yyyy = d.getFullYear();
    var date =  "Date: "+mm + "-" +dd + "-" + yyyy+ "::"+hrs+":"+min +"\n";
      var element = cursor.insertText(date);
      if (element) {
        element.setBold(true);
      } else {
        DocumentApp.getUi().alert('Cannot insert text at this cursor location.');
      }
    } else {
      DocumentApp.getUi().alert('Cannot find a cursor in the document.');
  }

}
function pad (str, max) {
  str = str.toString();
  return str.length < max ? pad("0" + str, max) : str;
}


---
-->

Note:
If you add the following function call inside the onOpen() function:
  insertDate();
Then you will get automated insertion of date and time. Great for logging the daily notes!!!




function onOpen() {
  var ui = DocumentApp.getUi();
  // Or FormApp or SpreadsheetApp.
  ui.createMenu('Insert Date')
      .addItem('Insert Date', 'insertDate')
      .addToUi();

  insertDate();

}