Among the multitude of programming APIs provided by Google lies a jewel called Prediction API. It has a high-quality classifier that allows for continuous learning with model updates.
Let's quickly use it to automatically sort incoming mail into your existing labels. The most tedious part is configuration:
- Create a new Blank Project in Google Apps Script and enable Prediction API in the
Resources/Advanced Google services…menu.
- Sign up for the Google Developers Console and take the 300$ free credit. Then, create your first Developers Console project and enable Prediction API in its API & auth section.
- Switch back to your newly created Google Apps Script and link it with your new Developers Console project through the
Resources/Developers Console Projectmenu.
We are done configuring. Now, there are only two functions to implement: one to train the model and the other to classify incoming mail.
GmailApp.getUserLabels() ❶ gets all labels that you defined in Gmail and disregards standard labels such as
All Mail or
Spam. Mails in Gmail are organized by threads, so once you get a handle on a label, you have to get all of its threads ❷, then grab individual mails under that thread. We'll use the first email of a thread for this simple exercise ❸.
Select like-minded users from a local community website.
- A Drupal website with the votingapi module enabled and at least a few dozen votes by registered users.
- A working installation of the R language.
For each user, select all other users that voted on same node and comments:
SELECT v1.uid uid1, v2.uid uid2, u1.name name1, u2.name name2, v2.entity_id entity_id, v1.value value1, v2.value value2 FROM votingapi_vote v1 JOIN (votingapi_vote v2, users u1, users u2) ON (v1.uid != v2.uid AND v1.entity_id=v2.entity_id AND v1.entity_type=v2.entity_type AND v1.uid=u1.uid AND v2.uid=u2.uid) WHERE v1.uid
This produces a table
Just stumbled upon a fancy banner by Microsoft that advertises its Embrace and Extend from the childhood program.
For the record: the only reason Microsoft supports this "Coding in classroom initiative" is because they want to push their products through kids. It's a problem, but a bigger problem is that Microsoft have long striven to make computing an elite profession by introducing inconsistencies and complexity for the most basic abstractions: a character, a file, a block device... their products are designed to fail pupils who want to understand how computers work. And this design is intentional, because the less people understand computing, the less competition their business has... and higher are the profits.
Thus, taking money from Microsoft to promote coding in the classroom is akin to taking money from Philip Morris to promote healthy lifestyle. Shameful.
Today my kid brought back from school an assignment to guess words from a bag of letters... it took a mum and a programmer to solve all six. I left one for you, though. Guess what
C D E E I M R R stands for.
P.S. it's a classical programming interview question about all permutations of a string. Generate all permutations,
grep -f them against
/usr/share/dict/french and you'll get the answer.
vandalism taalstrijd. Как вы яхту назовёте, так она и поплывёт.