Unstarring multiple contacts on Google Contacts

Some time in the last few years, all of my Google Contacts contacts became “starred,” rendering the feature useless and annoying me constantly. I finally fixed the problem today.

The interface has no obvious method to bulk un-star contacts, and I didn’t find anyone else talking about having this problem. I wasn’t going to manually click to un-star several thousand contacts, especially when it takes a few seconds for the page to refresh upon un-starring, so I wrote a really simple script that can be pasted into the javascript console. I just had to let it run for half the day, but the problem is solved.

setInterval(function(){document.querySelectorAll("*[aria-label='Remove star']")[0].click()}, 5000)

Running this will (eventually) un-star all the contacts on your screen, at least until Google changes their interface.

Posted in Uncategorized | Comments Off on Unstarring multiple contacts on Google Contacts

Updating the ol’ website

Since I can’t bring myself to close down Fagan Finder, and I don’t like having such a broken website around, I’ve been trying to figure out how to keep it useful and up-to-date.

In 2017 I completely rewrote both the back-end and front-end, and applied this to two pages that I updated. It doesn’t look all that much different than it did in 2001, which is on purpose, but it is mobile-responsive, accessible, etc. In terms of helping me to keep the site current, the main addition was the ability for me to automatically check for broken links. Of course, I still have to look into each one to decide what to do about it.

The intention was to update the many other pages as well, but then I remember that this is an insane amount of work. Each page is essentially a list of links. To create it, I have to scour the entire web for every possible relevant site, and then carefully review each one myself as well as see what others have said about it. Some I can reject quickly, but others I spend hours on. For every site I include, there are many, many that I do not. There’s also the time it takes to name and describe them, extract the URLs for searching, group them into categories and order them within categories, but it is finding and reviewing all the sites that really takes forever.

To add to that, for some reason I’ve decided that every time I update a page, I need to make it better and more comprehensive than before. In particular, I’ve started including non-free sites and sites in other languages, both of which take more time to find, review, and include.

I launched a smaller new page in 2019 and half-updated another in 2019, and last week launched a major update to the main that has taken me much of the last 5 months. Just to give an idea, the Google Docs document of my notes for the main page is now 141 pages. I can’t sustain that much effort, so how else can I keep it manageable?

To this end, I’ve shut down a few old pages, including the once very-popular “Google Ultimate Interface”, and some others that were never popular (e.g. Software and Weather, and Log-in). I merged several pages into the main page. Of course, by making the pages more comprehensive, I am partially negating the amount effort being saved be removing pages.

I have notes for lots of other pages I’d like to update or correct, but I’m increasingly skeptical of my ability to ever do so. Maybe one day it will be down to just a single, very very comprehensive page.

Even as far back as 2002 or 2003 I was thinking about adding other contributors, and later “crowdsourcing,” but with my name on the site, my desire to micromanage everything, and my inability to compensate contributors, I never quiet figured out how that would work. I always welcome suggestions, but I can’t imagine letting anyone else make the final decisions.

While I haven’t completely finished this planned update (and is that ever really possible?), I need to get the word out, as there’s no sense in putting in this effort if it’s not accomplishing the goal of helping people find things. Not surprisingly, most of the people who used the site over the years stopped using it when many of the tools were no longer working, so I need to let people know they can come back, and to bring in new users as well.

Publicizing the site really takes me back to it’s early days, but a lot is different. Most sites now are run by organizations rather than individuals, so finding who to contact or even finding contact information at all can be difficult. I’ve started using Fagan Finder’s Twitter account more, a medium I’ve never been very interested in. I’ve definitely found myself getting into conversations with coworkers lately about how we miss the “old” web and how it’s changed.

I hope many people continue to find Fagan Finder useful.

As a final note, it was only after composing the title of this blog post that I realized I used almost the identical title for a post a few years ago. At least I got the apostrophe correct this time.

Posted in Uncategorized | Tagged | Comments Off on Updating the ol’ website

Shortcut to finding top DNA matches for endogamous populations in 23andMe and Ancestry

For background, see Genetic Genealogy for Jewish Ancestry and Overcoming Endogamy in DNA (YouTube) by GeneaVlogger.

If you take a DNA test to find relatives, and you’re from an endogamous population (such as being Ashkenazi), you need to look at your matches with the longest shared stretch of DNA. That’s easy enough to do on MyHeritage or FamilyTreeDNA, but not possible in Ancestry or 23andMe as they do not display or let you sort by longest segment/block.

The next best thing is to approximate the longest segment by dividing the total amount of shared DNA by the number of shared segments. This can be a bit of a pain to do repeatedly, so I’ve created a bookmarklet to do this. I tried to include the bookmarklet here directly but WordPress is filtering the Javascript so instead you’ll have to add any link at all to your link/bookmarks bar, then replace the URL with the code in this gist.

It doesn’t actually sort your matches. What it does do is calculate the ratio (total/segments) for each match displayed on the current page, hide matches below a certain threshold, and add the ratio number to each match. On Ancestry, which uses infinite scroll, you’ll want to scroll the page to reveal lots of matches before you click the bookmarklet. On 23andMe, you’ll want to paginate and rerun the bookmarklet on each page.

The threshold it uses is a minimum ratio of 12 and minimum total centimorgans of 47, but that can be changed by editing the beginning part of the javascript

The calculation uses the total amount of shared DNA in centimorgans, however since 23andMe displays the total as a percentage, it firsts multiplies the percentage by 75 to get a fairly accurate centimorgan number. Some websites claim that the multiplier should be 68, but I believe this number was calculated for FamilyTreeDNA, not 23andMe.

Posted in Uncategorized | 2 Comments

When to ask for more (donations, information, etc.)

Okay, so I haven’t written a blog post in almost three years. My rants have been going unranted. Two fairly recent experiences inspired this one.

  1. I donated some money to a charity (online, of course), and within weeks received by snail mail a request for further donations.
  2. I lost my wallet and had to get new ID and health cards. When they arrived by mail, they both reminded me to inform them if I move and included forms that I could send back by mail with my new address.

You would think it would go without saying that if I donated some money to an organization, I wouldn’t immediately want to donate more. If I did, I’d have made a bigger initial donation. You would also think that if I just got a new card (and provided my current address to do so), then a week or so later I probably wouldn’t have moved. I also imagine that very few people file the form away, and remember to retrieve it when they do move, years later. If so, they’re far more organized than almost everyone else.

What to do instead

  • If your organization receives a modest financial donation from a new donor, wait at least six months before requesting another one.
  • When you request a new donation, remind them of the amount of their prior one.
  • When requesting another donation, use the same medium as the donation was made in. If I mailed in a cheque, sure, ask again by snail mail. But if I donate online, and have provided my email address, then ask me by email.
  • If your goal is to keep track of when people move, you can’t let them know that upfront, but don’t ask them for their new address immediately or bother with a form. Instead, ask, infrequently, whether they have or are about to move. No more than once a year. I’d suggest asking by email every year and by snail mail every five years or something like that. And that’s if the information can’t be determined through other means (e.g. tax filings?), and you reset the counter after every move received.
Posted in Uncategorized | Tagged , , , | Comments Off on When to ask for more (donations, information, etc.)

Recycling Crayola Markers

I haven’t written much about waste reduction here. I’m constantly mentally drafting and abandoning blog posts on waste topics, and I never really feel like they fit in on the Waste Nothing blog, as that’s for news about the website itself. So let’s see how posting on my own blog works.

The short summary of the below is that Crayola successfully responded to a public demand to reduce waste, but could have done far better.

Some students at an elementary school in California came together on an initiative to get Crayola to institute some form of producer responsibility; to have a program where they take back old markers and reuse or recycle them. The effort including a petition which gained a lot of attention, but also included videos and hand-written letters by the students.


Crayola competitor Dixon Ticonderoga was smart and fast enough to positively respond to this first, with their Prang Power Recycling Program. You collect a large number of used markers, they send you a paid shipping label, and you mail them the markers. Their website said nothing at all about what happens with the markers after that, so I asked them and they responded the next day. It turns out to be a typical recycling process: washed, shredded, remelted into pellets, and sold to make products such as “paving stones, benches, or picnic tables.” It should be noted that almost all plastic recycling is better labeled as downcycling, which is to say that they aren’t remade into the same product again, they are made into a lower-quality product.

Crayola’s Response

Crayola eventually got their act together. Most likely they started to think about it seriously as soon as the petition started getting media coverage, but it takes time to develop a whole new program. Crayola’s PR (er, communications) people clearly had a hand and put a lot of effort into the launch of ColorCycle. They announced it on Earth Day, they had a logo and a colourful website, teacher lesson plans about recycling (generally, not their program), and a pre-written letter to parents about how great the program is.

Just as with Dixon Ticonderoga, Crayola will pay the shipping to have the markers sent back to them. The online signup to participate is geared entirely towards schools, and there is no way (at least yet) to send in markers not via a school. It’s also (a coincidence I’m sure) a great way for Crayola to collect contact information that they can send marketing material to later on. I would suggest that Crayola come up with a way for individuals to return markers as well, perhaps via arts and craft stores.


So what happens to the markers? Crayola says they are transformed into a “clean-burning liquid fuel,” but a little detective work reveals more detail. The company that processes the markers is JBI, Inc., known by their branding as Plastic2Oil. It’s a relatively new technology, and Crayola is one of their first large-scale partners.

The process results in several products: more than half is classified as #6 fuel, another 20% is naphtha, about 15% “off-gas” and the remainder is Petroleum coke. It seems to be the #6 fuel that Crayola describes as the diesel that is the final product, although it is interesting to note that this fuel is dark brown (see the rightmost beaker in this photo), unlike the cleaner-looking transparent yellow shown in the beaker on Crayola’s website. The off-gas is used to power the machinery, and the other products are sold. Number six fuel is apparently used mostly for generators.

Although Crayola only talks about used markers, JBI says that they also take “off-spec” markers and crayons, as in leftovers from Crayola factories that were unfit for sale for one reason or another. I’m not sure why crayons would be used, as they’re made of wax, but what do I know.

Is making plastic into oil a good thing? For a definitive answer to that you would need to do a comprehensive life-cycle assessment and depending on the boundaries of the problem statement, that can still be quite subjective. My presumption is that making plastic into other plastic will almost always be the better option; JBI really exists because not all plastic can be easily recycled into other plastic of reasonable quality, often because many kinds of plastic are mixed together and difficult to separate, or because of non-plastic contamination. Given that crayola markers are made of a uniform material (other than the ink and tip, which can be removed), I think that Crayola could do better here. But I would also say that they could be doing much better.

A Better Option

Crayola announced their new program to much fanfare, and the children at the schools that started the initiative were overjoyed that their personal effort had changed practices at a large corporation, as well they should be. Take a look at the Crayola Marker Recycling Project video made by the students showing the project from beginning to end.

This program will likely remain for some time, without Crayola making significant changes. While ColorCycle is probably better than throwing the markers in the landfill, Crayola could have taken the opportunity to make a real change, instead of just tacking a new program onto their existing process.

Without getting into a long rant, the 3Rs are reduce, reuse, and recycle, in that order. Most people tend to think of recycling=green=recycling, but I prefer to describe recycling as the second-worst option (after burying or burning, aka landfill or incineration). Not generating waste in the first place is far superior to reusing something, and reusing something is far superior than the complex industrial process of recycling, which still involves transportation, factories, etc.

So what could Crayola have done? They could have redesigned their product to create less waste to begin with. This isn’t a new idea, and lots of companies and products already do this to some extent. To get an idea of what can be done, take a look at the ideas on The Disappearing Package.

My Redesign

I’m no industrial designer, but here is my crack at a redesign. Instead of white plastic markers, with printing and a cap of the marker colour, use only clear plastic tubes for the markers, all printed with Crayola’s logo in black. The lids would all be the same, and could be clear, any colour of plastic, or even metal. The colour of the marker would be seen through the tube, by the ink capsule. Alternately, the marker tube could be made of metal, with the cap being clear.

Instead of selling entirely new markers, Crayola could sell just the ink capsules, which you could buy individually and replace. The video produced by the students does in fact suggest to Crayola that they provide instructions on how to safely remove the ink and tip from a marker, and shows one of the students actually doing so.

Why did I suggest metal? Because metal is more durable than plastic, and can be recycled (not just downcycled) an infinite number of times.

 Final Thoughts

I’m glad Crayola decided to respond positively to this request, but I urge them not to think of this program as the final answer. Redesigning the product is a much more complex change than adding a disposal program, but is the better option, especially in the long run.

I should also mention that TerraCycle has long had a writing instruments recycling program which includes markers of any brand, although it is financially supported by Newell Rubbermaid (Sharpie and other brands). TerraCycle’s programs are similar to the others, where they pay the shipping. Writing instruments are apparently downcycled into plastic storage bins.

Posted in Uncategorized | Tagged , , , , , , | Comments Off on Recycling Crayola Markers

Doors Open Toronto 2013 Map

Full-size Doors Open Toronto 2013 Map

Green = Green Building (may have kids activities)
Blue = Has kids activities (and not a green building)

Steps to make this map (note you can follow just the bold steps):

  1. Thursday: Ooh, it’s Open Doors Toronto, let’s see what places there are too
  2. List is way too long and too broad geographically to browse, look on Open Doors website for map
  3. Can’t find a map, search on Google. Still no map
  4. Give up, starting browsing through the list. Argh
  5. Consider how difficulty it would be to scrape the list, geocode it, and publish it online somewhere. Decide I’ve got better things to do than spend all day on this
  6. Continue browsing list, continue being annoyed
  7. Friday: tell Bianca about issue, she considers doing the scraping and geocoding
  8. Search on google for a map again… maybe somebody else made one yesterday. Nope.
  9. Continue browsing through list. Contemplate ease of mapping
  10. Suddenly remember that I already saw that this data was published on Toronto Open Data. Go find it.
  11. Note that it’s in XML. Decide the easiest way to geocode will be Google Fusion Tables, which accepts CSV among other formats.
  12. Find an online XML-to-CSV converter that accepts URL input. This should be quick.
  13. Output is a file, so I save it locally and upload to fusion tables. Wait, the ‘location’ field doesn’t include ‘Toronto’, maybe that’s a problem. Oh wait again, it only has the first five rows, there has been some import problem
  14. Open Excel, click ‘Data’ button on the ribbon, click ‘From Web’, input the URL, wait a second, click the ‘table’ (the entire xml doc), and finish the wizard
  15. Add a new column, ‘full address’. Suddenly realize that the address field already includes unit #s and floor #s, and decide to remove them to improve geocoding, although not sure how much of a problem they’ll be.
  16. Give up trying to write an excel formula to remove the unit/floor numbers. Copy the entire address column and paste into Textpad. Hit F8 a few times to use regular expressions to remove the unit and floor numbers and append “, Toronto” to each line
  17. Copy and paste the text into the new ‘full address’ column
  18. Create a new fusion table again, with the same metadata, import the file
  19. Geocode the correct column (quite easy) and observe map. Wohoo! We’re all done(ish)
  20. Realize that I can tweak the info windows, and spend a few minutes formatting them
  21. Realize that I can change the size and colour, and even image of the icons. Decide to make them bigger
  22. Decide to make the ‘green building’ locations have green icons. That needs a ‘colour’ column. Attempt to create a new formula column in fusion tables. Fail. Online forums suggests formulas don’t work with text columns
  23. Go back to original  excel spreadsheet, create ‘Icon’ column, write a formula to output ‘green_large’ for green buildings, ‘blue_large’ for everything else that has a kids activity, and ‘red_large’ for everything else.
  24. Create a new google fusion document all over again, add in the metadata, import the spreadsheet, geocode the rows
  25. Modify the infowindow code and the ‘map styles’ to get the icon using the ‘icon’ column
  26. Woo!
  27. Change sharing to public, write this blog post

Note that obviously the data fields I selected for the info windows and for the icon colours are subjective. An alternative might be to create a separate map for saturday and sunday, or to highlight wheelchair accessibility.

Posted in Uncategorized | Comments Off on Doors Open Toronto 2013 Map

Updating the ‘ol homepage

Although I’ve made tweaks, I had never redone my personal home page, faganm.com, until  now. Nothing major, but it wasn’t very pretty or that well organized, and as it’s effectively “my face on the web,” it needed a bit better than that.

It’s still a very simple page; in fact I actually removed most of what had been there, without adding anything other than including my most recent project in the list of projects. Like the old version, the page is marked up with hCard, not that I expect it to be all that useful. No Javascript is used, because there’s nothing that warrants it. It’s a bit more readable on both desktop and mobile devices.

In some ways having a personal home page almost seems quaint, but I can’t imagine not having one. I cringe a bit when I see people use a page on a service controlled by someone else (e.g. Facebook, LinkedIn, Twitter, etc.).

Posted in Uncategorized | Comments Off on Updating the ‘ol homepage

It’s been a long time

It’s been an incredibly long time since my last post on this blog. This post is partially a reminder to myself, that I have no intention of ever closing this blog. In fact, I often compost new posts in my head when not online, and never get around to posting about them. I need to fix that.

So, in no particular order, here is some random stuff I’ve been involved with or are on my mind right now.

  • I still run Waste Nothing, a project I introduced in my previous post. While it is the same basic site as it was when I first announced it, it has been improved in almost every way since then. There’s lots more still to go. Waste Nothing has it’s own blog, but I have largely only been announcing major updates on there, and the same goes for the Waste Nothing twitter account.
  • Largely as a result of Waste Nothing, there are lots of little web development tidbits or techniques I’ve done that I think are worth sharing with others, and I’ve intended for a long time to write them up here for everyone’s benefit. I’m still planning on that.
  • I had put my Quizify project on hold to focus on Waste Nothing, and that is still the case. Someone wanted to use quizify.com, and as I wasn’t really using it much, I let it go. So if and when I come up with an online quiz/study tool in the future, it won’t be at that address. I’ve returned to Quizify’s old url, faganm.com/quizify/, and that page will have further information if there every is any.
  • Waste Nothing provides information about all sorts of waste reduction options; largely local services that are different everywhere. I’ve now begun one such local service, the Toronto Clothing Repairathon, which is in the early stages but will probably have its first event in April.
  • I was initially pretty upset about the closing of Google Reader. After all, I’m am extremely dependent on it, and have been for years. I switched to it after years of using Bloglines, when that services was starting to fail too often to use. But I’m starting to think that it’s a good thing… many similar services are starting to spring up and existing competitors are improving their operations. I refuse to believe this is the death of RSS, and perhaps it’ll lead to greater innovation that Google Reader was effectively stifling.
  • Twitter… so many years on, and I still haven’t figured it out. I have a couple of accounts (personal, Fagan Finder, Waste Nothing, Repairathon), but writing short things frequently has never been my style. I’m much better at spending a long time to do something carefully researched and thought out. Despite this, I’m trying to force myself to adopt the Twitter-style cultural norms for my newest project at the Repairathon twitter account. It feels weird. On my Waste Nothing Twitter account, I follow tons of other accounts related to reducing waste in some way (over 1,300)… which sounds cool, but it makes Twitter completely useless for actually reading. The signal-to-noise ratio on the site just does not work. There’s a feature they have (Discover > Tweets) that works a bit better, but I know there’s got to be something much better than that still.
  • I thought the genetic testing offered by 23andMe was really cool when it first came out, but it was far too expensive for me to even consider it. Not anymore, and I finally did the test a few months ago. My ancestry results were very much what I expected, but it is still very neat to see that all, as well as the health information. Oh, and I’m 2.5% neanderthal.
Posted in Uncategorized | 3 Comments

Waste Nothing

Long time no blog, I know.

Some time ago I put Quizify on hold to work on a new project. I like Quizify, but I wanted to do something more important, something that can make a difference to the environment. I’ve been working on Waste Nothing, which is a long-term project for me. It’s a simple service where you can look up what to do with anything you no longer want, from orange peel to old books to makeup and more. In fact, you can try it out right here:

The main reason that I haven’t mentioned it before is that much of the data is location-specific and might not apply to everyone reading this. Thanks to Toronto’s Open Data initiative, I have brought in Toronto data as a demonstration and am now looking for other cities and organizations to partner with; to bring in their data and make it available to their residents.

If you find it useful and want the service available where you live, let me know.

Waste Nothing is built on Ruby on Rails, which I had been putting off learning but am now very glad that I have. Waste Nothing may never have gotten this far without it.

Posted in Uncategorized | Comments Off on Waste Nothing

Entity Extraction APIs, once again

It has been about a year and a half since my Comparing NLP APIs for Entity Extraction post, which continues to be quite popular. I immediately started writing a followup, and naturally never finished or published it.

Since I’ve been getting questions about it lately, I hereby present my entirely unorganized notes that would have been used to actually do some research and finish the followup:



amplify has some improvements, but you need to slightly change the API call… need to compare it to the older one

calais updated some stuff http://www.opencalais.com/documentation/opencalais-documentation/opencalais-release-notes … do I need to relook?

new features on alchemyapi http://blog.alchemyapi.com/?p=70

other changes
* note evri non-commercial use and that you can’t store longer than 2 weeks
* look into opencalais having ’semantic links’ (read the comments)
new APIs
*Wingify doesn’t really do what I want but may be of interest to others
http://www.wingify.com/contextsense/; API details if you contact them…
*uclassify.com let’s you do some simple classification based on giving it some training data; there are
a number of sites like this but not what I’m looking for

comment on original blog post by Andraz Tori

* no api, but http://lcl2.di.uniroma1.it/termextractor/

* Apache UIMA incubator project
* http://expert1.expertsystem.us.com/essex

http://www.chailabs.com/platform/ and www.inform.com – two examples with no public APIs





Posted in Uncategorized | 1 Comment