Archive for the 'google' Category

Restoring lost Chrome Tabs

June 18th, 2016 | Category: apple,google,guides,mac,macosx,tips

For some reason today my Mac decided it didn’t want to work any more and essentially froze up. It was getting slower over the morning and eventually ground to a halt. I think I might have been able to wait it out and kill some stuff but I ended up hard resetting it. When the machine came back most everything recovered…except for Google Chrome’s tabs.

Google Chrome had opened and left me with a blank window without the normal “It looks like Chrome crashed, do you want to restore the tabs?” button. I have the “Continue where you left off” setting so I’m not sure why that didn’t kick in either. Restoring the tabs restored tabs from one window out of the 10 or so windows I had but also interspersed some tabs I’d closed prior to the crash. A quick Google search for “restore closed tabs after quitting Chrome” gave me a lifehacker article which covered the process. It had some notes on prevention but it had a “Recovery Mode” section which mentioned editing the “Local State” file and changing the “exited_cleanly” entry to be “false”.

The article covers four files in the User Data Directory that are relevant to session and tab restore: Current Session, Current Tabs, Last Session and Last Tabs. The suggestion in “Recovery Mode” is to restore these files. Given I’d lost this data, I wasn’t sure what else had gone so I decided to stop Chrome, rename the “Default” user data directory and then restore the one from an hour ago back in place. Once the restore was done, I edited the “Local State” file as mentioned above and started Chrome. Chrome started and showed the “Chrome didn’t shut down correctly” bar and gave me the option to restore my tabs.

To put this in bullet form, the steps to fix this:

  • Stop Chrome.
  • Go to ~/Library/Application Support/Google/Chrome/ and rename “Default” to something else. (TIP: You can use SHIFT + APPLE + G in Finder you can paste the path to go straight to that folder).
  • Connect to Time Machine.
  • Restore the “Default” folder from the Time Machine backup into ~/Library/Application Support/Google/Chrome/ again.
  • Start up Google Chrome and click on “Restore” in the bar where it says “Chrome didn’t shut down correctly”.
  • All of your windows and tabs should be restored!

This process is very similar to the one for restoring lost Safari tabs. The important piece in both of these cases is to have regular routine backups. Time Machine on Mac OS X provides hourly backups automatically which is invaluable when these sorts of issues occur. Any routine backup solution will work properly (e.g. CrashPlan), you’ll need to adjust the steps to be appropriate for your platform.


Edit: It looks like the Local State file is gone and you may not need to set it anyway according to ssorgs’s comment on this post. If your tabs aren’t automatically restored when you restart, try using SHIFT + APPLE + T to reopen recently closed tabs and that should bring them back.


Using Context Login with GMail and Google Apps for your Domain

February 08th, 2009 | Category: authentication,google,jauthtools,joomla

Context login is a new concept that I’m introducing in 1.5.4 that features a new login module called “mod_contextlogin” and support from both the Advanced LDAP and Advanced GMail plugin. I’ll focus on today the GMail plugin and how you can use both context login and the Advanced GMail plugin to connect to two different Google supported domains (e.g. GMail and a Google Apps for your Domain site).

The first step in all of this is to install JAuthTools. The Context Login bit is mostly self contained so once you’ve got my Advanced Tools extensions installed you should be able to install the extras package. You can grab the 1.5.1 version of the Advanced Tools extension off Joomla!Code at and install directly in Joomla!. The next item we’re going to need is the helper package, the best way to grab this is to install the JAuthTools Core Package from which will also give you SSO and User Source libraries as well. The JAuthTools Extras Package contains both the context login module and the Advanced GMail authentication plugin. The extras package also has the LDAP user plugin and the Advanced LDAP plugin but we’re not going to use that today. The current version of the extras package is 1.5.4 (just released!) and you can grab it off JoomlaCode at and you can also install this directly into Joomla!.

Once you’ve got everything installed, you can get to work. The first place we need to go into the Module Manager in the Administrator and look for Context Login. It’ll be there but it won’t be published by default. Opening it up we’ll see a lot of the params that we know and love from the core built in login module but we’ll also see some params immediately below the caching option called “Contexts”, “Require Context” and “Default Context”. The “Contexts” param is a text field that allows you to enter a per line entry of contexts. In this case we’re going to have two different contexts: one for the main GMail domain ( and another for a Google Apps for your Domain (say “”). Perhaps you’ve got a few of these domains that you want to limit people to so what you can do is enable the “Require Context” option. This will enforce a given context upon the module and remove the ability for the user to be flexible. Keep in mind that this isn’t added with the request, only a context ID is sent which is then looked up and found on the remote site. The last option is the default context to use which is set to -1 initially but can be set to the index of the context (starting from 0). This changes the context select box with the default selected and is purely a cosmetic setting. Once you’ve put in a few domains, you can enable the module and position it somewhere. If you want to put in some extra settings you can also do this like you would do with the normal login module.

The next step is to configure the Advanced GMail plugin. The Advanced GMail has all of the features of the existing GMail plugin and then some. If you’re currently using the GMail plugin, disable it first before you switch to the Advanced GMail plugin. The Advanced GMail plugin has a few configuration options such as “Apply Suffix” (similar to contexts but limited to only a single domain), “Username Suffix” (used with Apply Suffix, a single domain name such as “”) , “Verify Peer” is a SSL configuration option that should be left on unless you’re having seriously strange issues (at this point, change host!) and that leaves us with “Use Contexts”. This is a simple option that has “Yes”, “No” and “Require”. What this then causes it to do is look for a context in the request and then apply the context if it finds it. The “Require” option will then enforce the use of contexts and will fail the user if the contxt doesn’t line up properly. The last option is a ‘username’ blacklist. This is a list of usernames that the plugin should never authenticate for which is useful for accounts that you may not control (e.g. ‘admin’) to prevent people logging in using it. This is an extra security feature that I’ve introduced and is certainly recommend using. Enable the plugin and we’re off!

Once both the module is configured and enabled as well as the plugin you should be able to see it in the front end. From here you can see the form and log into to it, selecting your context and then logging in appropriately.


A look at Google Apps for Your Domain

October 08th, 2007 | Category: google,integration,technology

With Toowoomba in the middle of an amalgamation with 7 different local government authorities who share our boundaries (or in the case of some not even that!) life is looking mighty interesting on various fronts. One of these fronts involve the IT issue of merging multiple disparate systems into one single system.Like any medium sized organisation (Toowoomba City Council currently employs around 900 people) we have a few systems in place to handle things. We’re using Pathway for our LIS data (who lives where and if they have a dog or not style stuff), JD Edwards for financials and assets (e.g. controlling pay roll), ESRI’s suite of GIS products (e.g. ArcMap and ArcSDE; working out where things are in the City) and Hummingbird’s Document Management solution to maintain our corporate documents. The challenge is to take these products and try and merge the information stored in seven different organisations who in some places won’t share any applications and integrate it into one.To make matters worse the organisations are spread in some cases hours away from where we are. So the problem I’m looking at is how do we integrate email, contacts and documents for all of these people together. They’re not going to have any of our standard software beyond Office which is a problem as we use Notes and like to think that one day we’ll move to open source.So Google Apps becomes an option for this transitional period while we try to work out what we’re going to deploy and how we’re going to deploy it. It works within a web browser and an internet connection, its relatively lightweight compared to other distributed solutions (large file transfers weak network connections, Citrix deployments) and offers a far more responsive nature than either of these because technically they are native to the desktop application (e.g. the web browser).Setting it up is an interesting situation as part of it requires ‘verification’.  There are a few options to get verified:

  1. Put a HTML file on some web space (this didn’t work for me)
  2. Set up a new DNS pointer for Google to find (this also didn’t work)
  3. Just set up the DNS the way it needs to be (e.g. pointing things to

 The last one ended up being the solution for me even though it isn’t obvious when you first start off that things will work this way. Thankfully you can get things up and running without having to verify that you own the domain, just end up setting up your DNS to point to the right place solves things anyway. So what does Google give you?

  • Mail – Their Google Mail product available on your domain, the main reason a lot of people will be deploying this solution.
  • Calendar – Their calendar solution is integrated into the mail address book. Interestingly enough they don’t have the address book feature as another application which for building corporate address books might be handy, or linking into a website.
  • Pages – Google Pages is perhaps one of the lesser known products in Google’s application stable, is a product similar to the old Homesite and Geocities products of old (before they sold out and had lots of ads, then people realised that doing everything manually most of the time was too much effort and they just wanted a template and WordPress did all they needed, or Joomla! did what they wanted better). I’ve used it since the early beta and this, like its brothers is stand alone as well.
  • Docs and Spreadsheets – Again, the boon here is the integration with Mail’s address book application which means that you have the ability to share documents (and document control) with different people within your organisation. As an administrator you can also restrict documents to within the domain or allow users to share it externally, so this doesn’t make it less secure than other solutions for document sharing (still doesn’t stop users exporting it to another format and emailing it manually anyway).
  • Chat – The final major application is Google’s XMPP powered IM solution, which again integrates into Mail’s address book to provide contact list management integrated with your contact list. This is available via the web browser standalone interfaces, your start page, within the Mail application or using a dedicted IM client such as Adium on the Mac, Google’s Talk application on Windows or the Gajim Jabber client or Pidgin on Linux. These chats can also be logged and are available in the Mail application as well.
  • Start – Like the customised Google home page (iGoogle), this is provided as an option for your domain as well. Again it integrates with the rest of the products like Mail, Calendar, Talk and Docs to allow for a very functional first page to go to (more functional than most options I’ve seen around the place). Its heavy integration in a small way puts it at the functionality level of something like Microsoft’s Sharepoint style solution, however the Google solution is not customisable (unlike Sharepoint) however out of the box it enables users to see more information about their data (such as the Docs integration)

This was just a review of the standard edition, the premier edition (at $50/user/year) offers a few more interesting features such as optional ads, policy and message recovery, resource scheduling, single sign on and other user services (including a 10 GB mail box). As an option to a Microsoft powered world, some of the tools are better integrated and easier to use (collaboration and versioning is awesome in Google’s Docs product) however the simple problem is that when the network link goes down, so does your entire office productivity.Something to dwell on.

No comments

Playing with GeoServer, Google Earth and ArcSDE

October 07th, 2007 | Category: gis,google,opensource,technology

The other day I sat down for half a day and did some research into GeoServer ( and connecting it to our Corporate GIS data store, which is an ArcSDE system. It took a surprisingly small amount of work to get GeoServer up and running and to get it to produce some simple basic results out of the ArcSDE system.The goal of the exercise was to see if I could get access to the mapping information in a system that wasn’t from ESRI, the makers of ArcSDE and ArcMap. The aim isn’t to replace these products for those who use them already or for those who might use them in the future but to provide a smaller end application of the GIS data that is presently stored in Council’s system. For this I picked Google Earth, Google’s 3D ATLAS application.The first set of sample data that I decided to use with the system was a set called ‘Queensland Towns’ which gave me a general view of the state in a large scale so that I could roughly validate that I hadn’t made too bad a mistake. Thankfully the towns came up roughly where they were supposed to be, though I had to check with the GIS department when Google’s data didn’t quite line up with the points – it turns out that their information is wrong! From here I moved onto something more fine grained: our roads data. For each of the roads in the city we have data for stuff like where they start and finish, the particular speed limit along those roads and what sort of road they are (e.g. is it a major road or just a small suburban road). This put a bit of load on my machine as it generated the points for the data, the record set is far more complex (roads are split up into different segments to allow for multiple speed limits for a single road). However even though it took a while (and it was best to be zoomed in as close as possible to the features to minimize the amount that had to be retreived) the road data lined up with Google’s ortho almost perfectly. The interface to retrieve the information about the points of the feature weren’t the friendliest but I’m sure with a bit of work something like that could be fixed up to make it more useful. On the whole setting everything up and getting some results took a few hours of work (took longer to find the ArcSDE SDK and get it installed properly than anything else)  and we’ve got an accessible open result for transferring information.