Jack Kingsman's actual brain

Jack's Brain

Hi! I’m Jack Kingsman, an SRE @ Atlassian in Seattle. In my free time stay busy as a volunteer EMT, Divemaster, and amateur radio operator.

Page 10


**Get Git **is a Chrome extension that I hammered out today, inspired by these slides. Get Git recursively traverses the websites you browse, hunting for misconfigured web accessible Git repos what are web accessible — and of course, once you have access to the .git/ directory, it’s open season on source code, API keys, hard coded passwords, and even internal network structure if they’ve liberally set up remote origins.

There’s actually a lot of sensitive info available in Git repos, and I was interested how many sites I browse are revealing things. Get Git also handles websites with directory listings turned off, so even half baked security won’t hide the repo.

Jan 31, 2015

Some exciting work in the pipeline; working on a handy toolchain for 23andMe genetic data analysis and breakdown — conversion to VCF, SNP effects, annotated mutation and protein defect analysis, the whole shebang. It’s gonna be pretty extensible and easy to use too…

Click to enlarge image
Jan 29, 2015

In code, simplicity is a minimalism borne of competency in tool use. Elegance is a minimalism borne of insight into the problem. No solution will be truly beautiful until the problem is understood, from all angles and in its entirety.

Just wanted to give some visibility to a utility I discovered and contributed some code to called 23andme2vcf. This is a nifty little perl script that will transcribe 23andMe’s raw SNP codes into the much more industry-standardized VCF format, using the human genome reference.

It’s a really fast utility and helps to set up your SNP data for important into more powerful genetic analysis tools like SnpEff. I made some tweaks to the code to bring it up to date with VCFv4.2, which is the most recent standards revision, so it now works with some more picky software suites (my pull requests were merged just a few minutes ago :D).

New Chrome plugin!

I took a break during studying for midterms and decided to try and hammer out a Chrome plugin that would take me less than 20 minutes. I got down the first draft of Show MyMathLab Score in about 15, and spent about 2 hours slamming my head against a proverbial brick wall before understanding why what I was asking of Chrome was impossible (who needs spec documents? I’m a MAN. I’ll write my extension without reading the documentation for that feature. ugh. never again.)

I just received a spit kit from 23andMe, a biotech company that does genomic SNP analysis.

Click to enlarge image

SNPs (pronounced snip; plural snips) are** single nucleotide polymorphisms**, which are sections of the genome that vary from person to person (humans share almost all of their genomic data with each other, as is common in a species). 23andMe detects your allele for these SNPs and reports it to you. They used to provide analysis and health predictions based on current studies of the impact of different SNPs, but were shut down by the FDA for providing medical advice. Now, they provide ancestry data (if I have any cousins who have also sequenced, I’ll be able to communicate with them through 23andMe — even if we’re fifth or sixth cousins.

I’m proud to announce my first Chrome extension — Regex Replace. It’s a simple engine to do regular expression replace on pages. No more cloud-to-butt and s/leopard/leopard extensions cluttering your valuable page load time! This extension rolls any regex replacement you want into a simple but elegant package!

Check it out in the Chrome Web Store! (And, as always, it’s open source — be forkful and multiply.)

I had a bit of a lazy morning in bed today, so in response to the surprisingly numerous emails I’ve gotten expressing thanks (or a desire for instructions of use) for the Twilio SMS and media deletion tool I wrote, I decided to tweak things a bit and make it a bit more usable.

Previously, media deletion occurred before SMS deletion, and while the async nature of node didn’t guarantee that everything would happen in the right sequence, the ordering of requests never led to issues until I started using it with larger sequences of texts, and the network bottlenecking threw the rhythm of the script off (obviously no script should have to work with a ‘rhythm’). The script would still run, but it was just messy.

I’ve been alternately happy and very unhappy with my service from Twilio, a well known company that provides easy SMS and voice capability to applications via its API. You can see a script I wrote to handle a similar but different issue from this post here.

When you send SMS to the service, it delivers it to your receiving application as a POST request (kind of webhook-ish). The POST request includes metadata about the message, the message itself, and, in the case of MMS, an URL where the image is publicly available on Twilio’s servers. This URL is randomized and decently secure, but nonetheless public.

I’m trying to get more and more comfortable with node.js, and I’m finding it really handy to put together quick command line apps I might otherwise be putting way too much cruft into if I would have used PHP.

Today’s utility was one I’ve been meaning to write for a while – it uses the Tumblr API to find tumblog posts that originated from the blog owner (i.e. NOT reblogs). This can be interesting to quickly go through thousands of posts and see content that the person personally wrote themselves.

« Older posts Newer posts »