Importing a Sitemap XML into Google Sheets

The Goal In the following short article, we want to import data from an existing sitemap XML file into a new Google Sheet document. The sheet must pull the sitemap via HTTP protocol and extract all the URLs from the sitemap and insert them. into the sheet. Implementation Now let’s implement it .. it only takes 1 minute …​ For demonstration purpose, I’m going to use the sitemap from my old blog, to be found at https://www.hascode.com/sitemap.xml. ...

January 5, 2023 · 2 min · 280 words · Micha Kops

Factory Reset for Google Pixel-C Android Tablet

Steps Reboot the system by pressing "Power" and "Volume down" simultaneously Boot menu should appear, use "Volume up/down" to select the menu item "Android Recovery", "Power" to confirm System reboots, a screen appears with a message "No command" - this is no error though it looks like one Press "Power" and "Volume up" together and a menu "Android Recovery" appears Use "Volume up/down" to select the menu item "Wipe data/factory reset", "Power" to confirm User data on the device is deleted and the original meu is shown Select the menu item "Reboot system now" and confirm by pressing the "Power" Button The device reboots and you may configure the Android system …​ ...

June 13, 2021 · 1 min · 112 words · Micha Kops

Distributed Authorization and Contextual Caveats for Java with Macaroons and jmacaroons

Google’s Macaroons are a mechanism to establish distributed authorization. The distinction to the classical bearer-token is their ability that they may be used to perform an action under certain restrictions and may then be used to create a new macaroon with stricter restrictions. The following short tutorial demonstrates how to create macaroons, serialize and deserialize them, add first- and third-party caveats and finally to verify them. Figure 1. jmacaroons example...

May 31, 2017 · 4 min · 852 words · Micha Kops

Creating In-Memory File Systems with Google’s Jimfs

Sometimes when writing an application we might consider using an in-memory file system to speed up data access or to create some kind of cache. There are different libraries to help us here but one looks especially promising for me because it supports almost every functionality of the Java NIO File APIs added in Java 7 – from creating, reading, deleting files and directory to handling symbolic and hard links or watching directory changes with a WatchService. ...

March 18, 2015 · 4 min · 778 words · Micha Kops

How to create an Android App using Google’s App Inventor

Today we’re going to take a look at Google’s App Inventor feature that offers programming-novices a nice possibility to enter the fabulous world of Android App programming without deeper knowledge of the API or complex SDK installations. So lets build some stuff .. Prerequisites Java 6 JDK App Inventors Extras Software A Google App Inventor Beta Account – request one here What we are going to build We are building a simple GUI with a Textbox and a button A click on the button starts an event that queries the acceleration sensor for coordinates If the sensor is active and enabled then the coordinates are displayed in the text box ...

August 4, 2010 · 4 min · 749 words · Micha Kops

A look at Google’s Protocol Buffers

Protocol Buffers are a serialization format developed by Google- you might ask if another IDL is really needed here – is Google barking at the wrong tree? But protocol buffers offer some advantages over data serialization via XML or JSON – Google says they (compared to XML).. are 3 to 10 times smaller are 20 to 100 times faster provide generated data access classes for programmatic use provide backward compatibility ...

July 6, 2010 · 5 min · 1022 words · Micha Kops

Google Docs Snippets

Importing XML Data in Google Sheets Use the XMLIMPORT function The syntax is XMLIMPORT("url", "xpath") e.g. for importing an XML sitemap =IMPORTXML("https://www.hascode.com/sitemap.xml", "//\*[local-name()='url']/*[local-name()='loc']") Select the preceding cell in Google Sheets =INDIRECT(ADDRESS(ROW()-1,COLUMN()) Create a Todo List Counter in Google Sheets Each empty cell is a todo, each filled cell is done. That allows us the following output, that counts all preceding cells of each type: ="Done: "&(COUNTA(B3:INDIRECT(ADDRESS(ROW()-1,COLUMN())))&" Todo: " &COUNTIF(B3:INDIRECT(ADDRESS(ROW()-1,COLUMN())),"")) This outputs a label like "Done: 35 Todo: 142" ...

March 1, 2010 · 1 min · 78 words · Micha Kops