Getting rid of “Google Play Services has stopped” on OnePlus

One week after complete reinstallation of my OnePlus I started getting one “Unfortunately,¬†Google Play Services has stopped” error message after the other. I tried a lot of solutions proposed online (“clear the app cache”/Goto Privacy guard/…) but none worked. Until I found this one from ‘ianyeo’:

Continue reading Getting rid of “Google Play Services has stopped” on OnePlus

Google Docs’ infamous “Moved Temporarily” error – fixed!


I store quite a lot of info in Google Spreadsheets, for the obvious reasons:

  • anyone can edit from any place, even at the same time
  • the servers are more reliable than a server at the office
  • I can use the info (with CSV/Excel export) in other programs through a web link

But there is a problem popping up at random moments with that last export or ‘publish’ functionality. Sometimes when you download the published link of a CSV export (through curl), you get an error ‘Moved Temporarily –¬†The document has moved‘ with a redirect to a www.google.com address. And if you don’t follow HTTP 302 redirects, you can’t get to the actual content. In the past I’ve always worked around it or waited until the error went away, but today I searched a bit further. So for those who have the same question: read and learn!

The redirect is actually for authentication. Although I publish without requiring signing in, so one would expect no authentication process, there actually is one. See what it does (I used wget in verbose mode to get the HTTP headers):

>>>:~$ wget -v “https://spreadsheets.google.com/(…)&output=csv”
-- https://spreadsheets.google.com/(...)&output=csv

(...)

Location: https://www.google.com/... (first redirect)

-- https://www.google.com/(...)/ServiceLogin?=...

(…)

Location: https://spreadsheets.google.com/... (second redirect)

-- https://spreadsheets.google.com/(...)&output=csv&ndplr=1

(...)

Saving to: ...

So what is the solution: just add “&ndplr=1” to your URL and you will skip the authentication redirect. I’m not sure what the NDPLR parameter name stands for, let’s just call it: “Never Do Published Link Redirection“.

MIVB en Google Transit

Wouldn’t this be a great idea: the Brussels public transport not mapped by MIVB‘s horribly unpractical route planner, but by Google’s Transit maps. You just need to get an export of the stops, the routes and the times, and they can be shown on Google Maps just like that. Where should we start looking for the source data? Then create agency.txt, stops.txt, routes.txt, trips.txt, stop_times.txt, calendar.txt and that’s it.

Google Transit Feed

Google transit

Recent posts + comments in Blogger

blogger_recent_comments
One of the disadvantages of using Blogger is that by default, you don’t have categories and recent comments on your blog. There is a trick to put recent comments on this Blogger help page. It involves introducing a new <Blogger> ... </Blogger> loop in the blog template. A nice trick, but I don’t like the fact that they only show the comment dates.

So I developed the idea a bit further: on the main and archive pages of my blog, you now see the normal “Recent Posts” in the sidebar, but the posts that have comments also have those listed (see image at the right). On the individual post pages, I have the normal list of recent posts. I put each comment in a div with a height of 25 pixels and with overflow: auto (defined in the CSS file) so that long comments don’t take too much space. The layout of the thing (e.g. each comment starts with a clickable “>”) is easy to adapt.

This is the Blogger template code (in the standard templates, put this instead of the existing code that is much like the part here between the <ItemPage> ... </ItemPage> tags). Feel free to use it if you want to.


<ItemPage>
<h2 class="sidebar-title">Previous posts</h2>
<ul id="recently">
<BloggerPreviousItems>
<li><a href="<$BlogItemPermalinkURL$>" mce_href="<$BlogItemPermalinkURL$>"><$BlogPreviousItemTitle$></a></li>
</BloggerPreviousItems>
</ul>
</ItemPage>
<MainOrArchivePage>
<h2 class="sidebar-title">Previous posts</h2>
<ul>
<Blogger>
<li><a href="<$BlogItemPermalinkURL$>" mce_href="<$BlogItemPermalinkURL$>"><$BlogItemTitle$></a>
<BlogItemCommentsEnabled>
<BlogItemComments>
<div class="recent_comment">
<a href="<$BlogCommentPermalinkURL$>" mce_href="<$BlogCommentPermalinkURL$>">></a> <$BlogCommentBody$>
</div>
</BlogItemComments>
</BlogItemCommentsEnabled>
</li>
</Blogger>
</ul>
</MainOrArchivePage>

You will need a CSS class (in your CSS file, or in the first part of your Blogger template) with something like the following code:

.recent_comment  { 
   overflow: auto; 
   border-bottom: 1px #999 dashed; 
   font-size: .8em; 
   height: 25px; 
}

Blog search engine frenzy


Exciting times in blog search country:

Question: can someone make a meta-blog-search-service (like an on-line Copernic for blogs) that :

  • searches all “who-links-to-me” blog search engines
  • filters out the doubles
  • creates a weighted combined ranking (a referer featured on 5 search engines ranks higher than a site only listed once)
  • can use a date parameter (“only show posts younger than 1 month”)
  • gives us some sexy graphics like Blogpulse does
  • offers its results via RSS
  • has a viral component, like e.g. a counter I can display on my blog – something like Feedburner’s Awareness API (which always makes me think of Jean-Claude Vandamme’s legendary “AWARE” theory)

Anyone aware of a service like this? Please leave a comment!