<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><atom:link href="https://polymorphiclabs.io" rel="self" type="application/rss+xml"/><title>(polymorphic-labs/blog)</title><link>https://polymorphiclabs.io</link><description>Programming related stuff</description><lastBuildDate>Thu, 24 Feb 2022 23:07:21 -0800</lastBuildDate><generator>clj-rss</generator><item><guid>https://polymorphiclabs.io/posts-output/2022-02-24-google-takeout-mileage-and-timeline-exporter/</guid><link>https://polymorphiclabs.io/posts-output/2022-02-24-google-takeout-mileage-and-timeline-exporter/</link><title>Make good use of your Google Location Data</title><description>It's tax season here in the US. A friend of mine was trying to find ways to extract his Google Location data into a spreadsheet, where he could easily calculate the total mileage for the year, so that he could write that off as part of his business expense. He tried out several chrome extensions out there, but all of them seemed to run into google's API imposed limit and the much dreaded captcha. He came to me and asked if I could come up with a better work around, so I decided to take a look.After some googling, I found that Google has a service called Google Takeout, whereby users can download their personal data, including location data, in one go.</description><pubDate>Thu, 24 Feb 2022 00:00:00 -0800</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2021-05-16-figma-print-on-demand-plugin/</guid><link>https://polymorphiclabs.io/posts-output/2021-05-16-figma-print-on-demand-plugin/</link><title>Print on Demand Automator Plugin for Figma</title><description>I'm going to give you a quick tour of the Figma plugin I just built. This plugin inserts dynamic text content for you in your design, automatically exports the final designs and packages them all up in one large zip file. If you are a designer using Figma and are in the Print on Demand business. This plugin is for you. Here's my Print on Demand Automator - Figma plugin.Define dynamic variables in your design</description><pubDate>Sun, 16 May 2021 00:00:00 -0700</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2021-02-27-convert-json-to-csv-chrome-extension/</guid><link>https://polymorphiclabs.io/posts-output/2021-02-27-convert-json-to-csv-chrome-extension/</link><title>Convert JSON to CSV with Ease</title><description>How?In my last post, I gave an overview as to how you can use my DJ chrome extension to explore a JSON document. Using the build in find-and-replace and exclude to remove a hierarchical level, etc. In this blog post, I'm going to show you a more concrete use case: converting any JSON documents (however nested) into a csv file.</description><pubDate>Sat, 27 Feb 2021 00:00:00 -0800</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2021-02-14-discoverable-json-extension/</guid><link>https://polymorphiclabs.io/posts-output/2021-02-14-discoverable-json-extension/</link><title>Discoverable JSON (DJ) Chrome Extension</title><description>Why?Discoverable JSON Chrome Extension was inspired by Gron. It essentially flattens a JSON document, however nested, into a series of absolute paths with their corresponding assigned values.</description><pubDate>Sun, 14 Feb 2021 00:00:00 -0800</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2020-05-17-bulk-google-translate-chrome-extension/</guid><link>https://polymorphiclabs.io/posts-output/2020-05-17-bulk-google-translate-chrome-extension/</link><title>Bulk Google Translate Chrome Extension</title><description>While working on another project, I found myself needing to download a bunch of google translate audio clips. So, I decided to put the original project on pause for a brief moment to build the tool I need. Half way through I've decided I might as well grab the translated text. You can find the extension here: https://github.com/noitcudni/bulk-google-translate.In a nutshell, this extension translates one source language to multiple target languages in bulk. You will be given a chance to select the source and target languages in the extension popup. Simply submit your list of words in CSV format and let the extension do the rest. All the audio clip (source language only) will be downloaded into you default Chrome download folder. At the very end of the run, you can download the translation results in JSON format.</description><pubDate>Sun, 17 May 2020 00:00:00 -0700</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2020-04-21-leetcode-spiral-print-matrix/</guid><link>https://polymorphiclabs.io/posts-output/2020-04-21-leetcode-spiral-print-matrix/</link><title>Leetcode 54 - Spiral Matrix in Clojure</title><description>Due to the entrenched interview process across the tech industry, every now and then I find myself needing to brush off my data structure/algorithm cob web prior to braving through another round of job interviews. Regardless of how many years of experience one has and ones domain knowledge, I believe that being at least familiar with the type of technical questions that might be presented during an interview is absolutely crucial.On the other hand, I hate grinding through leetcode problems. If I have to do it, I might as well do it in a language I love. Some people out there may raise some concerns around using a non-mainstream language during an interview. I can attest that I did most of mine in clojure. Not only no one raised any objections, most were quite intrigued.</description><pubDate>Tue, 21 Apr 2020 00:00:00 -0700</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2020-02-17-chrome-webstore-rejection/</guid><link>https://polymorphiclabs.io/posts-output/2020-02-17-chrome-webstore-rejection/</link><title>How my Chrome extension finally got approved again</title><description>My little Chrome extension has been on the Chrome Web Store since March 2018. I've never had any issues getting it approved until some time in January 2020.I had to make significant improvements and bug fixes, so I was eager to release it. Typically, the turn around time was about 30 minutes to 24 hours. I pressed the publish button, expecting a usual quick turnaround, but this time I waited and waited. Finally, after 2.5 weeks, they sent me a rejection email stating that I needed to "narrow" the list of permissions my extension was asking the users. Fair enough. It did indeed have a few permissions that were no longer needed. I promptly made the corrections and resubmit.</description><pubDate>Mon, 17 Feb 2020 00:00:00 -0800</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2018-12-01-workingpoint-ios-app/</guid><link>https://polymorphiclabs.io/posts-output/2018-12-01-workingpoint-ios-app/</link><title>An iOS invoicing app built specifically for WorkingPoint</title><description>When it comes to accounting/bookkeeping software, in my opinion, WorkingPoint is the best bang for the buck. I have been using WorkingPoint since 2014 to keep track of my S Corp revenue, expenses, and to send my customers invoices. At the end of the year, I can generate a balance sheet and a cash flow statement with a click of a button and send those reports to my accountant. All that for a grand total of $99/year. I'm pretty confident that you can't find another solution at that price point. OK, I suppose that you can track everything in a spreadsheet, but that's not my cup of tea.Unfortunately, its banking integration with my bank somehow stopped working about 2 years ago, which led to many frustrations. It caused me so much pain that I almost gave up on them entirely. Instead, I spent a weekend writing a Chrome extension to import expenses from my bank statement. That's a post for another day.</description><pubDate>Sat, 01 Dec 2018 00:00:00 -0800</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2018-10-22-bulk-google-webmaster-outdated-content-removal/</guid><link>https://polymorphiclabs.io/posts-output/2018-10-22-bulk-google-webmaster-outdated-content-removal/</link><title>Chrome Extension: Bulk Google Webmaster Outdated Content Removal</title><description>My little Google Webmaster Tool Bulk URL Removal chrome extension has gained quite a bit of usage. Several of those users have brought to my attention that Google Webmaster Tools also provides a way to remove outdated content, but it has a similar shortcoming: you can only remove outdated URLs one at a time. Recently, after wrapping up another side project, I decided to take a quick stab at this. You can find my extension here: https://github.com/noitcudni/google-webmaster-tools-bulk-outdated-content-removal.Download the zip from github
Unzip it somewhere.Go to chrome://extensions/ inside your chrome browser and turn on developer mode.Click on Load unpacked extension and load the extension.Create a CSV file with the outdated URLs. For example:</description><pubDate>Mon, 22 Oct 2018 00:00:00 -0700</pubDate></item><item><guid>https://polymorphiclabs.io/posts-output/2018-01-13-reagent-d3-force-directed-graph/</guid><link>https://polymorphiclabs.io/posts-output/2018-01-13-reagent-d3-force-directed-graph/</link><title>Force-directed graph with D3js in Clojurescript</title><description>Recently, I stumbled upon opensecrets.org where I could get a hold of raw data on US Senate and House campaign contributions. Full disclosure, I don't consider myself very political, nor do I know the interworkings of our political system, but I thought why not graph the contribution data in d3js.I have done a couple d3js projects in the past in Javascript, but I really don't want to code in Javascript if I can help it. After some googling, I found rid3, a clojurescript library on top of d3 and Reagent, and decided to give it a spin. I'm going to assume that you already have a working knowledge of reagent and re-frame.</description><pubDate>Sat, 13 Jan 2018 00:00:00 -0800</pubDate></item></channel></rss>