- 12 Years and 1000 pages in Office,Google (Docs,Gsuite) Workplace, and other stuff
- Apps and Office bakeoff
- Apps built with data abstraction
- Apps for Office
- Apps Script
- 3 Favourite things in one article – redis, apps script and graphQl
- Apps Script Add-ons
- Add-on for decrypting columns in Google Sheets
- Chord Snip
- Color Arranger
- Debugging Office JavaScript API add-ins
- Dicers
- Dicers Pro and advanced features
- Import, export and mix container bound and standalone Apps Script projects
- Inline libraries in an Apps Script project
- Measure round trip and execution time from add-ons
- Merging sheets from multiple sources and encrypting selected columns
- Merging slide templates with tabular data
- Office Add-ins – first attempt
- Orchestrating competing google and Office framework loads
- Plotting maps with overlays Sheets add-on starter
- Polyfill for Apps Script properties service for the Office JavaScript API
- Promise implementation for Apps Script Stripe payments
- Refreshing an oauth token in add-on
- Repeatable add-on settings layouts and style
- Sankey Snip
- Sheets API – Developer Metadata
- SlidesMerge add-on
- Unpicking the Google Picker
- Watching for changes in an Office add-in
- When test add-ons doesn’t work
- Apps script caching with compression and enhanced size limitations
- Apps script library with plugins for multiple backend cache platforms
- Apps Script v8
- A handier way of accessing Google Drive folders and files from Apps Script
- Apps Script V8: Arraybuffers and Typed arrays
- Apps Script V8: Arraybuffers and Typed arrays, endianness and views
- Apps Script V8: Keystore for global space
- Apps Script V8: Maps and Sets
- Apps Script V8: Multiple script files, classes & namespaces
- Apps Script V8: Provoke server side code from add-ons and htmlservice
- Apps Script V8: Sorting out the call stack to figure out who called
- Apps Script V8: spreading and destructuring
- Apps Script V8: Template literals
- ES6 Symbols – what on earth is all that about ?
- JavaScript V8 Arrow functions, this and that
- JavaScript V8 variable scopes
- Proxy implementation of Apps Script GraphQL Class
- Resuscitating the Apps Script execution transcript – JavaScript Proxy and Reflect to the rescue
- JavaScript proxy, fiddling with Apps Script objects and custom errors
- Sheets Workbook functions – converted to Apps Script
- Currency exchange rates library for Apps Script – optimized for the parsimonious – swop.cx
- Sheets Workbook functions in Apps Script – Date and Time and Temporal primer
- Sheets Workbook functions in Apps Script – Array functions
- Sheets Workbook functions in Apps Script – Database functions
- Sheets Workbook functions in Apps Script – Filter functions
- SQL for Apps Script – it’s here
- SuperFetch – a proxy enhancement to Apps Script UrlFetch
- Temporal – dates, times and timezones and the proposed new Date system for ECMAScript
- Array formulas – doing lots of things at once
- Automatic documentation
- Blog2019
- Caching across multiple Apps Script and Node projects using a selection of back end platforms
- Sharing data between Apps Script and Node using Github back end – 5 minute example
- Sharing data between Apps Script and Node using Google Cloud Storage (GCS) back end – 5 minute example
- Sharing data between Apps Script and Node using Google Drive back end – 5 minute example
- Sharing data with Upstash between Node and Apps Script – end to example in 5 minutes
- The nodejs Drive API, service account impersonation and async iterators
- Chrome
- Classes
- Color Fiesta
- Complete Apps Script Applications
- BigQuiz app
- Big quiz score reports
- BigQuery and the Execution API
- Configurable circular timer with D3
- Example of clock using d3 configurable timer
- Firebase custom authentication with goa
- Firebase JSON REST access library for Apps Script
- Quick doughnut and pie charts with a radial timer
- Sharing code between client and server and using libraries with html service
- Using the People API with Apps Script
- BigQuiz app
- Contact
- Creating a connector for Data Studio
- d3.js
- Centering text in arc textpath with D3
- Creating d3.js Tree diagrams
- cv-viz: Virus infection simulation with D3.js
- Eurovision results with crossfilter and dc.js
- Excel tables to d3.js Force diagram
- Flight data from Fusion
- HTML service without caja
- Making sense of joins in D3
- Sankey diagram from Excel
- Zoomable Partition Charts
- Database abstraction and Google Apps Script
- Back end performance linearity
- Backing off on rate limiting
- Comparing all back ends performance
- Copying data between various drivers
- Creating a driver
- Database caching
- DataHandler
- DataHandler REST API
- Datastore driver
- Dealing with constraints
- Driver DbAbstraction
- Driver Import.io
- Driver MongoLab
- DriverDrive
- DriverFusion
- DriverMemory
- DriverOrchestrate
- DriverParse
- DriverProperties
- DriverScratch
- DriverScriptDb
- DriverSheet
- How to write a driver
- JSON API for data abstraction classes
- Keys and data format
- Library for rest API
- Migrating from Parse.com to MongoDB
- Or operations
- Release notes
- RipDB – scriptDB emulator
- Some test cases for various backends
- VBA API using the Google Apps Script dbab library
- Working with big caches
- Working with transactions
- Deduce column headings from rest Query
- DektopLiberation
- Delegation to Google Apps Script
- Docker, appengine and the flexible environment
- Download Complete Projects
- Downloads redirect
- Drive SDK and GitHub
- Dynamic Forms
- Ephemeral Exchange
- A gigantic pub crawl
- Apps Script library for Ephemeral exchange
- Ephemeral exchange JSON editor and viewer
- Merging data with a slides template
- Migrating from App Engine to Cloud functions
- Playing around with maps and streetview
- Pushing changes from Google Sheets server to client
- Getting started with Ephemeral Exchange for push notification
- Implementing fisheye projection with D3 for google sheets add-on
- Initializing the server
- Proof of concept Sheets navigation with D3 fisheye distortion and ephemeral exchange
- Reacting to push notifications
- Setting up onChange trigger
- Testing unpublished add-on
- Sheets and Maps collaboration with cache – effex demo
- Sheets, Maps, Slides, Docs , Maps and Streetview, effex collaboration demo
- Using an intention to update to preserve atomicity in cache updates
- VBA library for Ephemeral exchange
- Every Google Apps Script project on Github visualized
- 4 ways to customize scrviz info card behavior
- Apps Script Vizzy – new views, searches and filtering examples
- Direct scrviz link to your Apps Script github repo, project or owner
- Enrich your developer profile on scrviz
- Enrich your scrviz repo profiles and drive traffic to your website or blog
- Find an Apps Script library id in 10 seconds with scrviz
- Find and clone Apps Script projects from github directly into the IDE with scrviz
- Finding the scriptId from Apps Script projects on github
- Google gapi, Vue and Vuex together
- More scrviz updates to help you enrich your profile and repos
- Searching and cataloging Apps Script projects on Github
- Showcase your Apps Script work and get hired via vizzy
- Vizzy github data open access – how to build something with Apps Script
- Excel to json and back
- A tagCloud in Outlook
- cJobject deep dive
- cJobject JSON serialization
- Create a treeview from json
- Data driven VBA apps with JSON
- Delegating xml to json conversion to GAS
- Excel JSON conversion
- How to create a tag cloud
- How to populate Excel from jSon
- How to use cJobject
- JSON stringify VBA classes
- Rest Results Explorer
- Rest to Excel library
- Adding to the rest library
- Adhoc Rest Queries
- Advanced rest library usage
- Combining multiple rest queries
- Fusion data to Excel
- Getting data out of scraperWiki
- JSON arrays of objects
- Making excel tables of the results
- Oauth2 and Excel-Rest library
- Populating sheets with Rest responses
- Urbarama mashup
- Using cRest directly
- Simple implementation of R- melt
- Web Services
- XML to JSON with VBA
- Fancy Gadgets
- Database abstraction of site results
- Dynamic height github gadget for Google Site
- Embedding feeds in google sites
- Enhanced Github gadget
- Getting analytics for the site
- Getting the pages in the site
- Light JSONP implementation
- Matching the site tree to the analytics data
- Retrieving page data from GAS web service
- Storing options and parameters
- Update analytics batch code and the 6 minute limit
- Using a canvas in Google Sites gadget
- GAS and Sites
- Get Started Snippets
- Asynchronicity and Scheduling
- Basic HTTP Authentication from VBA
- Clean up Pivot Cache
- Creating an index sheet for a workbook
- Diminishing Returns
- Excel Comment shapes
- Formatting range addresses
- Getting Started with argument passing
- Getting started with recursion
- Getting started with VBA
- Getting Started with VBA Classes
- How to add references by guid
- How to embed gist samples in Google Sites
- How to position a userform on the mouse
- How to prevent unwanted web caching
- How to simulate for each loop in javaScript
- How to traverse a treeview
- How to use the Excel Roadmapper
- Looping through files in a directory
- Make a copy of a worksheet
- Make a copy of some of the columns in a worksheet
- Make a filtered copy of a worksheet
- One Liners
- Step by Step Guides
- How to add flightPaths on a Map
- How to add quickLinks to a Map
- How to control your vizMap application
- How to define your vizMap application – Dictionary
- How to define your vizMap Application – visualizations
- How to filter markers by Category
- How to Geocode addresses using Google Maps
- How to modify geocoding and mapping parameters
- How to Overlay circles on a Map
- How to prepare for your vizMap application – Data
- How to prepare for your VizMap application – Parameters
- How to put markers on maps
- How to use alternate Map icons
- Understanding Scope
- Use Microsoft Speech
- VBA rgb to htmlRGB
- What to do if you get the “Object Library Invalid Error Message”
- Which VBA references you are using
- Going GAS
- Going Serverless with Firebase
- Google Analytics
- Google Apps Script HTML service
- Inviting members to Google Plus from Groups
- Running things in parallel using HTML service
- Dealing with rate limited services
- Parallel implementation and getting started
- Running GmailApp in parallel
- Running parallel tasks as a web app
- Running things in parallel that need oAUTH2 – datastore
- Simulating multiuser testing
- Some hints on setting up parallel running profiles
- Testing locking and transactions
- Testing parallel processing inline
- Google Apps Script Publisher
- Google Apps Script snippets
- 2 ways to create and preserve formulas with fiddler for Google Apps Script
- A fourth way to preserve and create formulas with Fiddler for Sheets, plus some more new methods
- A functional approach to updating master sheet with Fiddler
- A recursive extend function for Apps Script
- A third way to preserve formulas with fiddler, plus 2 new methods
- A webapp to share copies of the contents of folders
- Abstracting services with closures
- Add-on spinner
- Addressing namespace and library methods from google.script.run
- Anonymous user registration with the Apps Script PropertiesService
- Apps for Office – binding example comparison
- Apps Script as a proxy
- Apps Script const scoping problems
- Apps Script server side to client side htmlservice progress reporting using CacheService
- Calculating image dimensions in server side apps script
- Calculating the last day of a given weekday in the month
- Canvasser
- Chaining JavaScript
- Changing class properties dynamically
- Checking the argument types in Apps Script
- Cleaning up a document format
- Cleaning up heading levels
- Column numbers to characters
- Composing functions and functional programming
- Configurable canvas meter
- Convert JSON to XML
- Converting SVG to PNG with JavaScript
- Converting timestamps to dates formula
- Copying canvas and svg images from your Add-on
- Copying to new host location
- Copying to new host location
- Counting script and library usage
- Create sha1 signatures with apps script
- Creating a key digest to use for a cache key or to compare content
- Creating a pile of files list from Google Drive
- Creating and working with transposed sheet data arrays
- Cross Origin Resource sharing (CORS)
- CryptoJS libraries for Google Apps Script
- Custom checking for exponential backoff
- Data wrangling with named columns in Google Spreadsheet
- Dealing with objects that are too large for the property or cache store
- Detecting Spreadsheet tables automatically with Google Apps Script
- Direction minimizer – other usages
- Do something useful with GAS in 5 minutes
- Dynamically creating tables with clusterize.js
- EasyCron Library
- ES6 JavaScript features
- Exponential backoff
- Exponential backoff for promises
- Fiddler – A functional approach to fiddling with sheet data
- Fiddler and rangeLists
- Fiddler now supports joins to merge matching columns from multiple sheets
- Fiddling with text fields that look like dates
- Filling ranges in Google Sheets
- Finding a Drive App folder by path
- Finding where Drive hosting is being used in Sites
- Flattening an object with dot syntax
- Flattening and unflattening objects to spreadsheets
- Formatting GraphQL queries
- Formatting sheet column data with fiddler
- From notes to frequencies and back again
- From Xml to JSON
- Generating and managing random lists with JavaScript and Apps Script
- Generating coupon codes with expiry dates
- Generating test data for sheets and tables
- Get GAS library info
- Getting an htmlservice template from a library
- Getting insights into Sheets performance
- Google Drive as cache
- Header formatting with fiddler
- Highlight duplicate rows in a sheet – map and reduce
- Highlight duplicate rows in a sheet – map, filter and every
- How to determine what kind of object something is in Apps Script
- How to get stats about youtube videos in your channel with apps script
- How to pass non stringifyable objects to html service
- How to transpose spreadsheet data with apps script
- Identify duplicates on Drive
- Identifying hosted files
- Implementing a client side progress bar reporting on server side work for htmlService
- Importing Predictwise data
- Improved namespace pattern for Apps Script
- Including the stack in custom errors
- Iterator magic – Splitting an array into chunks
- JavaScript closures – how, where and why
- JavaScript currying and functional programming
- JavaScript currying and functional programming – even more
- JavaScript recursion primer
- JavaScript snippet to create a default method for an object
- JSONP and JSON and Google Apps Script webapps
- Loading large JSON datasets into BigQuery with Apps Script
- Logging differences in strings in Apps Script
- Measuring library load speed
- Migrating user and script properties
- Minimizing maps directionfinder api calls
- More client server code sharing
- More recursion – parents and children
- More sheet data fiddling
- Multiple inserts in Fusion Tables
- Namespaces in libraries and scripts
- Normalizing the header level of blank paragraphs
- Optimizing sheet formatting with Apps Script
- Optimizing showing and hiding rows and columns
- Organizing asynchronous calls to google.script.run
- Organizing parallel streams of server calls with google.script.run promises
- Parallel process orchestration with HtmlService
- Passing data to html service
- Patching site html
- Populating sheets with API data using a Fiddler
- Proxy jsonp
- Pseudo binding in HTML service
- Queuing asynchronous tasks with rate limit and concurrency constraints
- Random and fake test data in Sheets with Google Apps Script
- Recursive async functions
- Removing duplicate paragraphs
- Reporting file, function and line number in Apps Script
- Resumable uploads – writing large files to Drive with Apps Script
- Reusing html stuff between Apps Script projects
- Roughly matching text
- Serving apps script to JavaScript app
- Sharing code between client and server
- Shortcut for adding nested properties to a JavaScript object
- Simple but powerful Apps Script Unit Test library
- Simple server side polling
- Sorting Google Sheet DisplayValues
- Squeezing more into (and getting more out of) Cache services
- Styling Gmail html tables
- Summarizing emails to a sheet
- SunCalc
- Super simple cipher library for Apps Script encryption and decryption
- TimeSimmer : An adjustable timer for apps that need to speed up or slow down time
- Transform dates for add-on transfer
- Transposing sheet data
- Traversing a tree
- Unique values with data fiddler
- Unnesting data to sheet values
- Untangling with promises
- Use Drive properties to find app files
- Use promise instead of callback for settimeout
- Using Advanced Drive service to convert files
- Using Apps Script for xml json conversion
- Using array formulas to improve performance
- Using crossfilter with Google Apps Script
- Using D3 in server side Gas
- Using es6 promises server side in Apps Script
- Using Es6 with Apps Script
- Using exponential backoff with github api – dealing with data “in preparation”
- Using Google sheets via Bigquery from Apps Script
- Using named locks with Google Apps Scripts
- Using promises to orchestrate Html service polling
- Using promises with apps script
- Using the Itunes API with Apps Script
- Using the slideshare API from Apps Script
- Using timing functions to get insight into Sheets
- Watching docs for changes
- Watching for server side changes from the client html service
- What JavaScript engine is Apps Script running on?
- Why Base64
- Zipping to make stuff fit in cache or properties service.
- Google Apps ScriptDB
- Google Cloud Platform
- Blistering fast file streaming between Drive and Cloud Storage using Cloud Run
- Chunking promises using the Knowledge Graph API as an example
- Cloud Storage and Apps Script
- Connecting to cockroachdb
- Firebase auth for graphql clients
- FTP server on Kubernetes with cloud storage and pubsub
- Getting an API running in Kubernetes
- Bringing up an ingress controller
- Building your App ready for Kubernetes deployment
- Creating a Kubernetes deployment
- Creating a microservice on Kubernetes
- Digging around on the Kubernetes cluster
- Getting an ssl certificate for Kubernetes ingress
- HTTPS ingress for Kubernetes service
- Kubernetes ingress with cert-manager
- Managing ssl for ingress certificates with cert-manager
- Getting cockroachdb running on google cloud platform
- Getting cockroachDB running with Kubernetes
- Getting memcache up and running on Kubernetes
- Google Cloud Run on Kubernetes
- Google Video Intelligence API film labelling
- Google Vision and OCR
- Long running cloud platform operations and node apis
- Making sense of OCR – Google Vision
- More cloud streaming
- Orchestrating APIS to analyze OCR data
- Queuing asynchronous tasks to defeat rate limits
- Secure CockroachDB and Kubernetes
- Securing Graphql with firebase login
- Service account impersonation for Google APIS with Nodejs client
- Stream content to Google Cloud Storage
- Video transcription with Video Intelligence API
- Your own free linux VM
- Google Docs
- Google Oauth2 VBA authentication
- Google Visualization
- Guests articles and postings
- Cloud print connector for Google Apps Script
- Connecting Google Sheets to APIs, and building apps with Retool
- Dealing with common VBA Oauth2 blockers in a corporate environment
- Getting started with Google Cloud Datastore for Google Apps Script
- How to Enable / Disable ‘Show Pictures’ in Internet Explorer
- OAUTH2 and VBA
- Practical use of React in 2020 – Udemy course
- Search and filter email
- Unviewable+ and Secure++
- VBA obfuscation
- How to update modules automatically in VBA
- How to use Vue.js, Vuex and Vuetify to create Google Apps Script Add-ons
- Browser tab visibility : adjusting add-on behavior
- Handly helper for fiddler
- Improve Vue.js Apps Script add-ons with a Vuex store
- Including npm modules and Vue components: an htmlservice pattern for Apps Script add-ons
- Optimize updates to Google Sheets with fiddler fingerprints
- Rate limit handler and helper: Test and manage rate limiting APIS
- Rate limit handler, helper and iterator: Apps Script use cases
- Integrate VBA with Github
- Integrating Excel with Maps and Earth
- Adding markers to Bing Maps from Excel
- Adding markers to Google Maps from Excel
- Adding markers to Ovi Maps from Excel
- Adding markers to Yahoo Maps from Excel
- Calculate lat/lon from distance
- Complete Excel Address Data with Bing Maps API
- Complete Excel Address Data with Google Mapping API
- Complete Excel Address Data with Yahoo Placemaker Maps API
- Data Driven Mapping applications
- Creating a VizMap Application
- GeoCoding Master Data
- Joining transactions to master data
- Vba to join master and transactional data
- Vba Walkthrough – generating a vizMap application
- VizMap Application Filename
- VizMap Controlling Execution
- VizMap Element positioning
- VizMap javaScript
- VizMap Measures
- VizMap Spot Settings
- VizMap Tabs
- Encoding client keys for Maps
- GeoCoding
- Mapping and adding markers to maps
- Radians Versus Degrees
- Tailoring Output
- Using Google Earth – creating KML files
- VizMap Dictionary
- Zooming and Bounds
- Integrating Google Apps with other Platforms
- Integrating VBA and Javascript
- Learn how to transition from VBA to Google Apps Script
- A simple Google Apps Script RestQuery
- Advanced Array functions
- Apps Script custom functions
- Apps Script timer collection
- Apps Script versus VBA scope
- Automatic VBA to apps script skeleton
- cJobject Class in Google Apps Script
- classes and javaScript
- Color from ScriptDB
- Color Matching in GAS
- Creating a Google Apps Script Library
- Data manipulation Classes in Google Apps Script
- Dealing with optional arguments
- Finished Roadmapper Script
- Generate an auto incrementing key with scriptDB
- Google Apps Conversion approach
- Google apps script Rest Library migration
- Google Apps Script Roadmapper code
- Google Apps Script VBA equivalents
- Google Script Color Ramp
- How to make charts in Google Apps Script
- javaScript functions
- Learning javaScript
- Looping in Google Apps Script
- Optimizing access to sheet values
- Playing around with GAS color
- Roadmapper migration
- Scraperwiki data to Google Docs
- Some Google Apps Scripts gotchas
- Tracking activity with ScriptDB
- Using scriptDB
- VBA collection in javaScript
- VBA debug object
- What to use in place of Excel Shapes
- OAuth2 for Apps Script in a few lines of code
- Accessing as the user running the script
- Adding custom services to goa
- Asana service for Goa examples
- Authentication dialog
- Automatic UI support for OAUTH2 Goa dialogs
- Converting and copying Google Apps files to Microsoft OneDrive
- Get web credentials from downloaded file
- Getting and using the token
- Github service for Goa examples
- Goa and the Classy API
- Goa in a sidebar
- Goa services and customization
- GOA Setup
- Goa v8 changes and enhancements
- Google Apps Script Oauth2 for quickbooks with Goa
- Google Apps Script Oauth2 for Vimeo with Goa
- Google Datastore service for Goa examples
- Google Datastore service for Goa using service account examples
- Hitching a ride on Goa’s property store
- How fast can you get OAuth2 set up in Apps Script
- How OAuth2 works and Goa implementation
- How to customize the consent screen
- Microsoft Live service for Goa Examples
- Migrating from cEzyOauth2
- Trying to like OAuth2
- auth2 authentication for podio
- EzyOauth2 – taking some pain out of Apps Script API authentication
- EzyOauth2 patterns
- JSON web tokens
- Multiple oAuth2 authentication packages
- Oauth2 authentication for Asana
- Oauth2 authentication for Microsoft OneDrive
- Oauth2 authentication for podio
- Oauth2 authentication for reddit
- oAuth2 authentication for shoeboxd
- Oauth2 step by step – apps script authentication for the Drive JSON API
- Step by Step – Apps Script Oauth2 authentication with Github
- Using Drive SDK from Google Apps Script
- Using the gplus api in Apps Script
- Trying to like OAuth2
- Multiple Goa consent dialogs
- OAuth2 and the Paypal Rest API
- Opting out of automatic token refreshes
- Pattern for sidebars and dialog boxes
- Podio service for Goa examples
- Reddit service for Goa examples
- Service account
- Setting an alternative ontoken callback
- Shoeboxed service for Goa examples
- Some OAUTH2 walkthroughs
- Soundcloud service for Goa examples
- Using multiple service accounts to work across projects and lock down permissions with Apps Script and Goa
- Optimization
- Orchestration of Apps Scripts – parallel threads and defeating quotas
- Organizing Named Ranges
- Parallel processing in Apps Script
- Parse.com
- Performance
- Polymer
- Privacy and Usage Policy
- Quirky Functions
- Ramblings blog
- RamblingsHome
- React, Redux, Redis, Material-UI and Firebase
- Creating promise actions in redux
- Dealing with Appbars and drawers in React and Material-ui
- Enabling clipboard copy in React
- Firebase auth snippet to deal with email verification
- Firebase authentication with react and redux
- Firebase service accounts on Node.js
- Fixing out of sync server times
- Local variables in Redis Lua scripts
- Maintaining the selected row in a Material-UI table
- My server times are out of sync!
- Nice axis labels for React recharts using D3
- Preserving TTL for redis item update
- Promise routing in Express
- Redis and Lua scripting
- Use firebase instead of socket.io
- Using a service account with Firebase in NodeJs
- Using a snackbar with react and redux
- Recursion
- Regular Expressions
- Reusing code from this site
- Test Blog Page
- Things that have been deprecated
- Assigning badges to pages
- Badge component summary
- Badges
- Big arrays and scriptDB
- Blister custom functions
- Blister validation code
- Cookies and Excel
- Creating badge environment from a spreadsheet
- GAS lists and validation
- Getting lists as a restquery
- How to set up your own badge environment
- Implementation progress
- jQuery plugin for image special effects
- Locking down scriptDB
- Protecting email addresses
- Qualifying for a badge
- REST access to blister functions
- Setting up blister lists
- Using blister custom functions
- Using data from multiple scriptDB
- Using VBA to consume a rest blister query
- Totally Unscripted
- Vuejs, firebase, kubernetes, cockroachDB, google cloud platform and apollo graphQL