Mastodon

Archives

All the articles I've archived.

202612
October2
September2
July4
June1
  • PACT: The open web doesn't need another trust oligopoly

    Cloudflare announced PACT this week — privacy-preserving tokens to separate humans from bots, backed by Google, Mozilla, Microsoft, and Shopify. The cryptography is solid. The governance model doesn't exist…

May1
April1
  • [un]prompted Spring 2026: Threat Hunting In The Matrix

    At our previous employer, the global deception and detection infrastructure generates tons of events that eventually make their way into an ever-growing data lake with (as of February 2026) 22 TB of PCAPs and 32 TB of session protocol…

January1
202518
December1
  • Are We Becoming Children of the MagentAI?

    Back in 1997, a commercial airline captain noticed his fellow pilots had a problem: they'd gotten so used to following the magenta flight path lines on their fancy new navigation screens that they were forgetting how to actually fly the…

October1
  • Maine 2025 Ballot Questions Redux

    If you want to or do vote "yes" for question 1, you are not a real American, you are not a real Christian (if you profess to be one), you are not a decent human. You are at the very least a classist; you are also very likely a…

September1
  • Never Forget

    — We have no idea of why/who re: Wed's assassination. — Today is the anniversary of a tragic event that has enabled much of the harm caused by the GOP this year. — Trump is an adjudicated rapist & was involved at least in some way in the…

August1
May3
  • EUVD API NPM And Go Packages + Nicer Docs

    ENISA published docs for their European Vulnerability Database (EUVD) — https://euvd.enisa.europa.eu/apidoc…

  • Suriest: Suricata Rule Validation As A (REST) Service

    Meet Suriest — a new REST API service for validating Suricata rules, designed to be run by organizations to streamline rule validation workflows. Suriest supports Suricata 6.0 and later and offers features like secure configuration,…

  • New CISA KEV MCP Server

    MCP servers let you wire up external services/APIs in a standard way for LLM/GPT tool-calling and other forms of…

April6
  • RSAC 2025 Sets A Dangerous Precedent for Cybersecurity Leadership

    RSAC 2025 Sets A Dangerous Precedent for Cybersecurity Leadership

  • New geolocus-cli For ONYPHE's Geolocus Database

    Introducing geolocus-cli: A fast, cross-platform command-line tool for IP enrichment using ONYPHE's free Geolocus database. This lightweight utility enables security professionals and network analysts to efficiently look up comprehensive IP metadata including geolocation, ASN information, organizati

  • Trump’s Retaliation Against Chris Krebs — and the Cybersecurity Industry’s Deafening Silence

    Chris Krebs, the former director of the Cybersecurity and Infrastructure Security Agency (CISA), was fired by Donald Trump in 2020 for publicly affirming that the presidential election was secure and free from widespread fraud.…

  • American [Cyber] Sigh

    A long, long time ago I can still remember How those CVEs would make me smile And I knew if I had my chance To patch a vuln or take a stance Maybe we’d be secure for a…

  • I told you so…

    Just putting a marker out there, that I'm either fundamentally wrong, or we all are f'd this…

  • A Critical Analysis of ICERAID

    ICERAID (iceraid[.]us) presents itself as a "GovFi protocol" that purportedly delegates intelligence gathering tasks from law enforcement to citizens. According to their materials, it rewards users with cryptocurrency tokens for capturing…

March3
  • Call To Action: State Department Power Grab

    Discover how Secretary Rubio's State Department determination classifies border, immigration, and trade policies as "foreign affairs functions," exempting them from the Administrative Procedure Act. Learn about potential consequences including surprise policy changes, expanded device searches, and e

  • Xitter Hit by Major Cyberattack

    On March 10, 2025, Xitter experienced major service disruptions throughout the day. Users couldn't access the platform on both mobile apps and the website. Here's what happened and why it…

  • Cruel And Vindictive By Design

    Recent administrative changes at the Social Security Administration (SSA) reveal a concerning pattern of decisions that disproportionately impact vulnerable populations while being implemented in ways that limit public awareness and…

February2
20247
December1
  • CVESky: Monitoring The Bluesky Jetstream For CVE Mentions

    Discover CVESky: A real-time tracker for CVE discussions on Bluesky, featuring daily vulnerability chatter cards, interactive heatmaps, and comprehensive CVE exploration tools. Built by GreyNoise Intelligence to monitor genuine security conversations beyond automated NVD feeds.

August2
  • Reading PCAP Files (Directly) With DuckDB

    2024-08-30 UPDATE: Binary versions of this extension are available for amd64 Linux ( linuxamd64 & linuxamd64gcc4 ) and Apple Silicon. ( osxarm64…

  • 100 Miles

    100 Miles — rud.is blog archive

July1
  • Resolve Bluesky/ATproto Handles To did:plc

    A concise Bash script for resolving Bluesky/ATproto handles to DID:PLC identifiers, simplifying user identification in the decentralized social network ecosystem.

May1
March2
202324
December1
November1
  • Ligatures In RStudio Dailies

    Learn how to enable ligatures in RStudio Dailies using CSS and themes. Enhance your coding experience with granular control over ligatures for a more visually appealing and readable code.

September3
  • Avoid libwebp Electron Woes On macOS With positron

    Explore the impact of the libwebp supply chain disaster on Electron-based apps and discover Positron, a Golang macOS CLI tool designed to identify vulnerable apps. Stay informed and secure with our in-depth analysis and practical solutions.

  • Tracking Rite-Aid Store Closures

    Explore the impact of Rite-Aid's store closures on communities, learn about the company's bankruptcy, and discover how data collection scripts can track these changes. This analysis provides insights into the consequences of pharmacy deserts and the role of leadership in these developments."

  • Foliage 2023

    The days are getting shorter and when we were visiting Down East Maine the other week, there was just a hint of some trees starting to change up their leaf palettes. It was a solid reminder to re-up my ~annual “foliage” plotting that I…

August1
July3
  • Keeping Track Of URLs Shared On Bluesky

    While the future of Bluesky is nowhere near certain, it is most certainly growing. It's also the largest community of users for the AT…

  • New R Package For HTTP Headers Hashing

    HTTP Headers Hashing ( HHHash ) is a technique developed by Alexandre Dulaunoy to gen­erate a fingerprint of an HTTP server based on the headers it returns. It employs one-way hashing to generate a hash value from the list of header…

  • Poor Dude's Janky Bluesky Feed Reader CLI Via R & Python

    Lynn (of TITAA and general NLP wizardy fame) was gracious enough to lend me a Bluesky invite, so I could claim my handle on yet-another social media site. I'm still wary of it (as noted in one of this week's Drops ), but the AT protocol —…

April4
March9
February1
  • "Bizarre" DNS Hacks For Fun And, Um…, Fun

    I've been (slowly) making my way through FOSDEM 23 presentations and caught up to Peter Lowe 's " Bizarre and Unusual Uses of DNS • Rule 53: If you can think of it, someone's done it in the DNS " talk. DNS oddities are items I collect…

January1
  • Do Not Purchase Kucht Appliances

    I'll follow up with a more detailed post in a ~week or so, but if you are considering purchasing a Kucht appliance, please, please reconsider your decision. They have repeatedly lied to us (I have proof) and are incapable of manufacturing…

202225
December2
November3
  • Arc You Ready For A New Browser?

    Cross-post to Substack where I dropped some details on the newest browser in town: Arc .…

  • Honk If You Like The Fediverse!

    So, you've committed to abandoning the bird site, joined a ? instance, or three, and are now a citizen of the Fediverse. This is ??! But, what if you want to dig into this brave new universe a bit and see how it works? Or, perhaps you…

  • Into The Fediverse!

    This is more of a test post after enabling some new Fediverse features on the…

September1
  • Fall Foliage: JavaScript/OJS Edition

    I've been (mostly) keeping up with annual updates for my R/{sf} U.S. foliage post which you can find on GH . This year, we have Quarto , and it comes with so many batteries included that you'd think it was Christmas. One of those batteries…

August3
July2
  • Rust CLI For Apple's WeatherKit REST API

    Apple is in the final stages of shuttering the DarkSky service/API. They've replaced it with WeatherKit , which has both an xOS framework version as well as a REST API. To use either, you need to be a member of the Apple Developer Program…

  • Introducing {weatherkit}: The Eventual Replacement R Package for {darksky}

    My { darksky } package has been around for years, now, and the service that powers it was purchased by Apple before the pandemic. The DarkSky API is slated to be shuttered in December of this year and is being replaced by Apple's…

June1
  • Saying The Quiet Part Out Loud On Juneteenth

    I realize you have to be living under a rock in the U.S. to not know that yesterday, was Juneteenth (a portmanteau of "June Nineteenth"). Still, I feel compelled to explain that said date marks the day when federal troops arrived in…

May3
  • Using Leonardo SVG Palettes in R

    In today's newsletter Leonardo , an open source project and free online too from Adobe that lets you make great and accessible color palettes for use in UX/UI design and data visualizations! You can read the one newsletter section to get a…

  • Escaping Groundhog Day

    Friday, May 13, 2022 was my last day at my, now, former employer of nearly seven years. I'm not mentioning the company name 1 because this post is not about them 2…

  • Rusty HTML Minifying In R with {rextendr}

    In my M-F newsletter today I mentioned an awesome Rust-based HTML/JS/CSS minifier library that also include batteries for a few other…

April4
  • Announcement: New Substack Newsletter

    Just a quick post to note that I'll still be doing long-form, single-topic posts here on the blog, but I've also started an M-F daily Substack newsletter [free], that introduces 1-3(ish) topics per-issue on stuff I find during my daily RSS…

  • Keeping Those SSH Keys Safe

    I came across a neat site that uses a Golang wasm function called from javascript on the page to help you see if your GitHub public SSH keys are "safe". What does "safe" mean? This is what the function checks for (via that…

  • Update On ESC/POS Package Work

    The morning before work was super productive and there is a nigh-complete DSL for ESC/POS commands along with the ability to just print {ggplot2}/{grid}…

  • Turning {ggplot2} Into a PoS (Point-of-Sale) System

    At the end of March, I caught a fleeting tweet that showcased an Epson thermal receipt printer generating a new "ticket" whenever a new GitHub issue was filed on a repository. @aschmelyun documents it well in this blog post . It's a pretty…

March2
February2
  • Full transcript of Ukrainian President Volodymyr Zelenskyy's emotional appeal to Russians

    Here is the full transcript of Ukrainian President Volodymyr Zelenskyy's video address early on Feb. 24 local time warning that a Russian invasion could cause tens of thousands of deaths…

  • Getting Back 2 Good

    If you've been following my inane tweets and non-technical blog posts for any length of time since 2015, you likely know the 2016 election cycle broke me more than just a tad, with each subsequent month of the Trump presidency adding a bit…

January2
202136
December1
  • 2021 Advent of Code Day 02 "Don't Try This At Home" Edition

    The Moderna booster level drained me all day on Dec 1 and did what jab two did during the overnight period (achy enough to wake me up and not get back to slumber easily). To try to wear myself down, I decided to practice a bit of R with…

November2
  • Creating A Custom MaxMind mmdb File For Cloud Provider Ranges

    I've been wanting to create a custom MaxMind mmdb file for alternate IPv4 range classifications for a while, and finally had an opportunity to do so for the $DAYJOB. MaxMind mmdb files are small and easy to work with and provide lightning…

  • #30DayMapChallenge 2021 Day 2: Lines

    The 30-Day Map Challenge is on again, and I'm hoping to be able to scrounge some time to get an entry for each day. Day 2 is lines (Day 1 was posted on Twitter only) and — while I'm hoping to focus on saving U.S. democracy for the majority…

September1
  • RSwitch 2.1.2b Bug-fix Release

    RStudio is continuing to refine their ?? new product version string scheme, with the most recent change using something like the following for daily…

August1
  • Some Covid Donuts To End The Week

    Vox grabbed some data from the Kaiser Family Foundation and did a story a few days ago on it, then posted a different visualization of it that attracted some…

July3
June1
May5
April5
March3
February5
January9
  • Parler Whack-a-Mole

    (this is an unrolled Twitter thread converted to the blog since one never knows how long content will be preserved anywhere…

  • Making It Easier To Experiment With Compiled Swift Code In R

    The past two posts have (lightly) introduced how to use compiled Swift code in R, but they've involved a bunch of "scary" command line machinations and…

  • Calling [Compiled] Swift from R: Part 2

    The previous post introduced the topic of how to compile Swift code for use in R using a useless, toy example. This one goes a bit further and makes a case for why one might want to do this by showing how to use one of Apple's machine…

  • SwiftR Switcheroo: Calling [Compiled] Swift from R!

    I've been on a Swift + R bender for a while now, but have been envious of the pure macOS/iOS (et al) folks who get to use Apple's seriously ++good machine learning libraries, which are even more robust on the new M1 hardware (it's cool…

  • Soon May the Vendorman Come

    There was an org that didn't see The data exfil hacking spree. A patch went up, our guard was down, Oh blow, SolarWinds,…

  • New SwiftR Chapter Up: Building an R-backed SwiftUI macOS App

    Last week I introduced a new bookdown series on how to embed R into a macOS Swift…

  • Nos Autem Non In Antebellum; Bella Iam Inceperat

    Every decent human (which excludes 74,222,958 ?? who voted for this, now 100% undeniable, traitor) with knowledge of this past week's tragic events is likely still processing — and will be for a while — what happened; I am no exception.…

  • Safety Checking Locally Installed Package URLs

    I went completely daft this week and broke my months-long Twitter break due to the domestic terror event in my nation's capitol. I'll likely be resuming the break starting…

  • Bringing R to Swift on macOS

    of some almost-natural "R" looking code (this is a…

202029
November3
October1
August2
July2
  • Aligning the Dots On COVID Prison Waffles

    The Marshall Project has a solid story and set of visualizations on the impact of COVID-19 in U.S. prisons. They keep the data (and vis) regularly updated. They do great work and this is an important topic, but this visualization breaks my…

  • A Look at PAN-OS Versions with a Bit of R

    The incredibly talented folks over at Bishop Fox were quite generous this week, providing a scanner for figuring out PAN-OS GlobalProtect versions. I've been using their decoding technique and date-based fingerprint table to keep an eye on…

June2
  • The Avatar Is Blue

    I've changed my years-long avatar to the blue Cap' shield because the colors of our flag have no business being displayed in any venue until Donald Trump is no longer President (one way or another). The red/white/blue triad has been…

  • {sergeant} 0.9.0 Is On Its Way to CRAN Mirrors!

    Tis been a long time coming, but a minor change to default S3 parameters in tibbles finally caused a push of {sergeant} — the R package that lets you use the Apache Drill REST API via {DBI}, {dplyr}, or directly — to…

May3
  • RSwitch 1.7.0 Has Been Released

    I (and, apparently, Gandalf Oo) are pleased to announce that RSwitch version 1.7.0 has been released . ( Direct Download…

  • Mining R 4.0.0 Changelog for Nuggets of Gold: #1 stopifnot()

    R 4.0.0 has been out for a while, now, and — apart from a case where merge() was slower than dirt — it's been really stable for at least me (I use it daily on macOS, Linux, and Windows). Sure, it came with some headline-grabbing…

  • Attach Your R Code To Charts You Tweet For Reproducible R Tweets!

    I caught this tweet by Terence Eden about using Twitter image alt-text to "PGP sign" tweet and my mind immediately went to "how can I abuse this for covert communications, malicious command-and-control, and embedding R code in…

April4
March4
  • The Waffle House Index

    Waffle House announced it was closing hundreds of stores this week due to SARS-Cov-2 (a.k.a COVID-19). This move garnered quite a bit of media attention since former FEMA Administrator Craig Fugate used the restaurant chain as both an…

  • Dairy-free Chocolate Chip Muffins

    Sift together dry ingredients and mix until moist. Don't…

  • {catchpole} Redux and Hashing Files & Websites with {ssdeepr}

    Über Tuesday has come and almost gone (some state results will take a while to coalesce) and I'm relieved to say that {catchpole} did indeed work, with the example code from before producing this on first…

  • Make WSJ-esque Über Tuesday Democrat Delegate Cartograms in R with {catchpole}

    For folks who are smart enough not to go near Twitter, I've been on a hiatus from the platform insofar as reading the Twitter feed goes. "Why" isn't the subject of this post so I won't go into it, but I've broken this half-NYE resolution…

February2
January6
201967
December3
October1
  • Spelunking macOS 'ScreenTime' App Usage with R

    Apple has brought Screen Time to macOS for some time now and that means it has to store this data somewhere . Thankfully, Sarah Edwards has foraged through the macOS filesystem for us and explained where these bits of knowledge are in her…

September6
  • 100% Stacked Chicklets

    I posted a visualization of email safety status (a.k.a. DMARC ) of the Fortune 500 (2017 list) the other day on Twitter and received this spiffy request from…

  • RSwitch 1.5.1 Released

    An RSwitch user, lcolladotor filed a most-welcome issue letting me know that the core functionality of the switcher was busted ?. After testing out the 1.5.1 release candidate I had made a "harmless" & "clever" change to reduce some…

  • Twitter "Account Analysis" in R

    This past week @propublica linked to a really spiffy resource for getting an overview of a Twitter user's profile and activity called accountanalysis . It has a beautiful interface that works as well on mobile as it does in a real browser.…

  • RSwitch 1.5.0 Release Now Also Corrals RStudio Server Connections

    All books, links, and other reference resources are under a single submenu…

  • September 2019 Democratic Debates Added to {ggchicklet}

    The latest round of the 2020 Democratic debates is over and the data from all the 2019 editions of the debates have been added to {ggchicklet} . The structure of the debates2019 built-in dataset has changed a…

  • RSwitch 1.4.1 Released

    A minor update to RSwitch has been released. Apart from some internal code reorganization there are three user-facing…

August4
  • RSwitch 1.4.0 Released

    Swift 5 has been so much fun to hack on that there's a new update to macOS R-focused mebubar utility RSwitch available. Along with the app comes a new dedicated RSwitch landing page and a new user's guide since it has enough features to…

  • Improvements to RSwitch in v1.3.0

    It's only been a couple days since the initial version of my revamped take on RSwitch but there have been numerous improvements since then worth…

  • Polyglot FizzBuzz in R (Plus: "Why Can't Johnny Code?")

    I caught this post on the The Surprising Number Of Programmers Who Can’t Program from the Hacker News RSS feed. Said post links to another, classic post on the same subject and you should read both before…

  • Quick Hit: A new 64-bit Swift 5 RSwitch App

    At the bottom of the R for macOS Developer's Page there's mention of an "other binary" called "RSwitch" that is "a small GUI that allows you to switch between R versions quickly (if you have multiple versions of R framework installed)."…

July3
June11
May5
  • Making a Command Line HTML Rendering Script for "The Art of the Command Line" (in R)

    The Feedly category I have setup for git-stalking has indicated a fairly massive interest in Joshua Levy's The Art of the Command Line . What is "The Art of the Command Line"? To quote the…

  • Two New Ways to Make DNS over HTTPS Queries in R

    A fair bit of time ago the {gdns} package made its way to CRAN to give R users the ability to use Google's (at that time) nascent support for DNS over HTTPS (DoH). A bit later on Cloudflare also provided a global DoH endpoint and that…

  • Add Dressbarn to the Continued Retailpocalypse

    I've talked about the retailpocalypse before and this morning I was greeted with the news about Dressbarn closing all 650 stores as I fired up a…

  • Mapping Tornado Alley with R

    Harry's thread and Observable post are great on their own and both show the power and utility of Observable javascript…

  • Quick Hit: Updates to QuickLookR and {rdatainfo}

    I'm using GitUgh links here b/c the issue was submitted there. Those not wishing to be surveilled by Microsoft can find the macOS QuickLook plugin project and {rdatainfo} project in SourceHut and GitLab ( ~hrbrmstr and hrbrmstr accounts…

April5
March7
  • Rome Was Not Built In A Day But widgetcard Was!

    I saw a second post on turning htmlwidgets into interactive Twitter Player cards and felt somewhat compelled to make creating said entities a bit easier so posited the…

  • Assumptions Matter More Than Dependencies

    There's been alot of talk about "dependencies" in the R universe of late. This is not really a post about that but more of a "really, don't do this" if you decide you want to poke the dependency bear by trying to build a deeply flawed…

  • Handling & Sharing PCAPs Like a Boss with PacketTotal

    The fine folks over at @PacketTotal bequeathed an API token on me so I cranked out an R package for it to enable more dynamic investigations work (RStudio makes for an amazing incident responder investigations console given that you can…

  • Collecting Content Security Policy Violation Reports in S3 ('Effortlessly'/'Freely')

    In the previous post I tried to explain what Content Security Policies (CSPs) are and how to work with them in R. In case you didn't RTFPost the TLDR is that CSPs give you control over what can be loaded along with your web content and can…

  • Head's Up! Roll Your Own HTTP Headers Investigations with the 'hdrs' Package

    In the event you wanted to dig deeper I threw together a small package that will let you grab HTTP headers from a given URL and take a look at them. The README has examples for most things but we'll go through a bit of them here as…

  • IP, User Agent, and Referrer Tracking Disabled on cinc.rud.is and git.rud.is

    Not flagging this with an "R" tag since I don't want to spam R-bloggers but I mentioned here that I'd be disabling logging on https://cinc.rud.is and https://git.rud.is and I wanted to follow up on that with an addendum that I've opted to…

  • CRAN Mirror "Security"

    In the "Changes on CRAN" section of the latest version of the The R Journal (Vol. 10/2, December 2018) had this short blurb entitled "CRAN mirror…

February11
January11
201867
December3
  • Exploring 2018 R-bloggers & R Weekly Posts with Feedly & the 'seymour' package

    Well, 2018 has flown by and today seems like an appropriate time to take a look at the landscape of R bloggerdom as seen through the eyes of readers of R-bloggers and R Weekly . We'll do this via a new package designed to make it easier to…

  • Certifiably Gone Phishing

    Phishing is [still] the primary way attackers either commit a primary criminal act (i.e. phish a target to, say, install ransomware) or is the initial vehicle used to gain a foothold in an organization so they can perform other criminal…

  • More "Scraping Ethics Gone Awry" and "Why Do This When There's a Free API?"

    I can't seem to free my infrequently-viewed email inbox from "you might like!" notices by the content-lock-in site Medium. This one made it to the iOS notification screen (otherwise I'd've been blissfully unaware of it and would have saved…

November3
October1
September5
August9
July7
June4
May9
April14
  • Painless ODBC + dplyr Connections to Amazon Athena and Apache Drill with R & odbc

    I spent some time this morning upgrading the JDBC driver (and changing up some supporting code to account for changes to it) for my metis package? which connects R up to Amazon Athena via RJDBC. I'm used to JDBC and have to deal with Java…

  • Examining POTUS Executive Orders

    This week's edition of Data is Plural had two really fun data sets. One is serious fun (the first comprehensive data set on U.S. evictions , and the other I knew about but had forgotten: The Federal Register Executive Order (EO) data…

  • Access Your "Saved for Later" Feedly Items By Hooking Up Dropbox to Feedly

    If you come here often you've noticed that I've been writing a semi-frequent series on using the Feedly API with…

  • By Request: Retrieving Your Feedly "Saved for Later" Entries

    @mkjcktzn asked if one can access Feedly "Saved for Later" items via the API. The answer is "Yes!", and it builds off of that previous post. You'll need to read it and get your authentication key (still no package ?) before…

  • A Word About Tracking On This Site

    Since I just railed against Congress for being a bit two-faced about privacy I thought some rud.is site disclosure would be in…

  • Does Congress Really Care About Your Privacy?

    Said bad words include "Facebook", "Mark Zuckerberg" and many referrals to entities within the U.S. Government. Given the topic, it cannot be…

  • Convert epub to Text for Processing in R

    Here's one way to do that which doesn't rely on pandoc ( pandoc can easily do this and ships with RStudio but shelling out for this is cheating…

  • Dissecting R Package "Utility Belts"

    Many R package authors (including myself) lump a collection of small, useful functions into some type of utils.R file and usually do not export the functions since they are (generally) designed to work on package internals rather than…

  • Adding macOS Touch Bar Support to RStudio

    Modern MacBook Pros have a fairly useless ( c'mon, admit it! ) "Touch Bar" that did little more than cause severe ire in the developer community after turning a full-fledged, tactile Escape key into a hollow version if its former…

  • Exploring R-Bloggers Posts with the Feedly API

    There's a yuge chance you're reading this post (at least initially) on R-Bloggers right now (though you should also check out R Weekly and add their live feed to your RSS reader pronto!). It's a central "watering hole" for R folks and is…

  • 2018 IEEE Security & Privacy (Filtered) Paper Dump

    The 2018 IEEE Security & Privacy Conference is in May but they've posted their full proceedings and it's better to grab them early than to wait for it to become part of a paid journal…

  • Nykolas Z Updates Global Alternative DNS Speed Test to Include Cloudflare (1.1.1.1)

    A while back, Medium blogger 'Nykolas Z' posted results from a globally distributed DNS resolver test to find the speediest provider (NOTE: speed is not the only consideration when choosing an alternative DNS provider). While the test…

  • More Options For Querying DNS From R with 1.1.1.1

    You have to have been living under a rock to not know about Cloudflare's new 1.1.1.1 DNS offering. I won't go into "privacy", "security" or "speed" concepts in this post since that's a pretty huge topic to distill for folks given the, now,…

  • Compute/Visualize Drive Space Consumption of Your Installed R Packages

    The fs package makes it super quick and easy to find out just how much "package hoarding" you've been…

March5
February2
  • Pym.js Library Vulnerability in widgetframe Package

    The NPR Visuals Team created and maintains a javascript library that makes it super easy to embed iframes on web pages and have said documents still be…

  • Quick and Clean DMARC Record Processing with "Inline" Rcpp

    Much of what I need to do for work-work involves using tools that are (for the moment) not in R. Today, I needed to test the validity of (and other processing on) DMARC records and I'm loathe to either reinvent the wheel or reticulate bits…

January5
201795
December10
  • R⁶ — Capture Tweets with tweet_shot()

    that spawned from Maëlle's recent look-back post turned into a quick function for capturing an image of a Tweet/thread using webshot , rtweet , magick and glue…

  • 2017. Quantified. In. R.

    2017 is nearly at an end. We humans seem to need these cycles to help us on our path forward and have, throughout history, used these annual demarcation points as a time of reflection of what was, what is an what shall come…

  • New Package swatches is Now on CRAN

    It's been a long time coming, but swatches ? is now on CRAN…

  • uBlock Filters for New GitHub Activity Feed

    GitHub (2017-12-21 post-time) started adding obnoxious boxes to their activity feed. I use that to discover new projects/developers. While I also have it in RSS and that's nice and compact, I do browse the activity feed directly. Those…

  • R⁶ Series — Random Sampling From Apache Drill Tables With R & sergeant

    At work-work I mostly deal with medium-to-large-ish data. I often want to poke at new or existing data sets w/o working across billions of rows. I also use Apache Drill for much of my exploratory…

  • mqtt Development Log : On DSLs, Rcpp Modules and Custom Formula Functions

    I know some folks had a bit of fun with the previous post since it exposed the fact that I left out unique MQTT client id generation from the initial 0.1.0 release of the in-development package (client ids need to be unique…

  • Inter-operate with 'MQTT' Message Brokers With R (a.k.a. Live! BBC! Subtitles!)

    Most of us see the internet through the lens of browsers and apps on our laptops, desktops, watches, TVs and mobile devices. These displays are showing us --- for the most part --- content designed for human consumption. Sure, apps handle…

  • A Workaround For When Anti-DDoS Also Means Anti-Data

    More sites are turning to services like Cloudflare due to just how stupid-easy it is to DDoS --- perform a (possibly Distributed) Denial of Service attack on -- a site. Sometimes the DDoS is intentional (malicious). Sometimes it's because…

  • The Cost of True Love (a.k.a. The Tidy — and expensive! — Twelve Days of Christmas)

    I’m in the market for Christmas presents for my true love, @mrshrbrmstr, and thought I’d look to an age-old shopping list for inspiration. Just what would it set me back if I decided to mimic the 12 Days of Christmas in this modern day and…

  • A Public Apology to Tal/R-Bloggers + The Trouble With Tibbles

    Over the past few weeks, I had been noticing that some posts in the R-bloggers feed were getting truncated in Feedly. I don't remember when I noticed that since I usually click through immediately from the headline entry to the R-bloggers…

November11
  • Sentiment Analysis of "A Christmas Carol"

    Our family has been reading, listening to and watching "A Christmas Carol" for just abt 30 years now. I got it into my crazy noggin to perform a sentiment analysis on it the other day and tweeted out the results, but a large chunk of the R…

  • voteogram Is Now On CRAN

    Earlier this year, I made a package that riffed off of ProPublica's really neat voting cartograms (maps) for the U.S. House and Senate. You can see one for disaster relief spending in the House and one for the ACA "Skinny Repeal" in the…

  • "Black"/"Cyber" Tips (a.k.a. How the hrbrgrinch ruined Christmas shopping)

    NOTE: This is mainly for those of us in the Colonies, but some tips apply…

  • For Victoria & Kyle

    Daughter #2 got married to a wonderful chap yesterday. I wanted to preserve the text of my speech and blessing for them here. I know it's on their wedding video but I'd like to archive it into the historical record as…

  • Statebins Reimagined

    A long time ago, in a github repo far, far away there lived a tiny package that made it possible to create equal area, square U.S. state cartograms in R dubbed statebins ? . Three years have come and gone and --- truth be told --- I've…

  • New IBM Plex Sans Support in hrbrthemes + Automating Axis Text Justification

    IBM has a new set of corporate typefaces --- dubbed "Plex" --- and has released them with a generous open license. IBM Plex Sans is not too…

  • Twitter Outer Limits : Seeing How Far Have Folks Fallen Down The Slippery Slope to "280" with rtweet

    By now, virtually every major media outlet has covered the "280 Apocalypse"™. For those still not "in the know", Twitter recently moved the tweet character cap to 280 after a "successful" beta test (some of us have different ideas of what…

  • Measuring & Monitoring Internet Speed with R

    Working remotely has many benefits, but if you work remotely in an area like, say, rural Maine, one of those benefits is not massively speedy internet connections. Being able to go fast and furious on the internet is one of the many things…

  • Taking a Shot at cdcfluview v0.7.0 (a.k.a. The Dangers of Relying on 'Hidden' APIs)

    Unlike @noamross, I am not an epidemiologist (NOTE: Noam battles pandemics before breakfast, so be super nice to him) but I do like to find kindred methodologies in other disciplines to help foster the growth of cybersecurity into…

  • I, For One, Welcome Our Forthcoming New robots.txt Overlords

    Despite my week-long Twitter consumption sabbatical (helped --- in part --- by the nigh week-long internet and power outage here in Maine), I still catch useful snippets from folks. My cow-orker @dabdine shunted a tweet by @terrencehart…

  • Yet-Another-Power Outages Post : Full Tidyverse Edition

    This past weekend, violent windstorms raged through New England. We — along with over 500,000 other Mainers — went "dark" in the wee hours of Monday morning and (this post was published on Thursday AM) we still have no utility-provided…

October5
  • gg_tweet'ing Power Outages

    As many folks know, I live in semi-rural Maine and we were hit pretty hard with a wind+rain storm Sunday to Monday. The hrbrmstr compound had no power (besides a generator) and no stable/high-bandwidth internet (Verizon LTE was heavily…

  • A Call to Tweets (& Blog Posts)!

    Way back in July of 2009, the first version of the twitteR package was published by Geoff Jentry in CRAN. Since then it has seen 28 updates, finally breaking the 0.x.y barrier into 1.x.y territory in March of 2013 and receiving it's last…

  • Enabling Concerned Visitors & Ethical Security Researchers with security.txt Web Security Policies (plus analyze them at-scale with R)

    I've blogged a bit about robots.txt --- the rules file that documents a sites "robots exclusion" standard that instructs web crawlers what they can and cannot do (and how frequently they should do things when they are allowed to). This is…

  • Tragic Documentation

    The "data science" feed URL is https://rud.is/b/category/r/feed/…

  • Retrieve & process TV News chyrons with newsflash

    The Internet Archive recently announced a new service they've dubbed 'Third Eye'. This service scrapes the chyrons that annoyingly scroll across the bottom-third of TV news broadcasts. IA has a vast historical archive of TV news that…

September11
  • Identify & Analyze Web Site Tech Stacks With rappalyzer

    Modern websites are complex beasts. They house photo galleries, interactive visualizations, web fonts, analytics code and other diverse types of content. Despite the potential for diversity, many web sites share similar "tech stacks" ---…

  • SODD — StackOverflow Driven-Development

    I occasionally hang out on StackOverflow and often use an answer as an opportunity to fill a package void for a particular need. docxtractr and qrencoder are two (of many) packages that were birthed from SO answers. I usually try to answer…

  • Speeding Up Digital Arachnids

    spiderbar, spiderbar Reads robots rules from afar. Crawls the web, any size; Fetches with respect, never lies. Look Out! Here comes the…

  • Pirating Web Content Responsibly With R

    International Code Talk Like A Pirate Day almost slipped by without me noticing (September has been a crazy busy month), but it popped up in the calendar notifications today and I was glad that I had prepped the meat of a post a few weeks…

  • Mapping Fall Foliage with sf

    I was socially engineered by @yoniceedee into creating today's post due to being prodded with this…

  • Armchair Quarterbacking Systemic Organization and Industry Failures

    insert(post, "{ 'standarddisclaimer' : 'My opinion, not my employer\'s'…

  • It's a FAKE (?)! Revisiting Trust In FOSS Ecosystems

    I've blathered about trust before 1 2 , but said blatherings were in a "what if" context. Unfortunately, the if has turned into a when , which begged for further blathering on a recent FOSS ecosystem cybersecurity…

  • Revisiting Readability With RStudio

    I've blogged about my in-development R package hgr a before and it's slowly getting to a CRAN release. There are two new features to it that are more useful in an interactive session than in a programmatic context. Since they build on each…

  • Increasing Output Buffer Size in Apache Drill UDFs Custom (Simple) Functions

    Putting this here to make it easier for others who try to Google this topic to find it w/o having to find and tediously search through other UDFs (user-defined…

  • Teasing Out Top Daily Topics with GDELT's Television Explorer

    Earlier this year, the GDELT Project released their Television Explorer that enabled API access to closed-caption tedt from television news broadcasts. They've done an incredible job expanding and stabilizing the API and just recently…

  • Readability Redux

    I recently posted about using a Python module to convert HTML to usable text. Since then, a new package has hit CRAN dubbed htm2txt that is 100% R and uses regular expressions to strip tags from…

August7
  • New CRAN Package Announcement: splashr

    (That image was generated with splashr::renderpng(url = "https://cran.r-project.org/web/packages/splashr/")…

  • Rpad Domain Repurposed To Deliver Creepy (and potentially malicious) Content

    I was about to embark on setting up a background task to sift through R package PDFs for traces of functions that "omit NA values" as a surprise present for Colin Fay and Sir…

  • Unbottling ".msg" Files in R

    There was a discussion on Twitter about the need to read in ".msg" files using R. The "MSG" file format is one of the many binary abominations created by Microsoft to lock folks and users into their platform and tools. Thankfully, they…

  • Reticulating Readability

    I needed to clean some web HTML content for a project and I usually use hgr::cleantext() for it and that generally works pretty well. The cleantext() function uses an XSLT stylesheet to try to remove all non-"main text content" from an…

  • Caching httr Requests? This means WAR[C]!

    I've blathered about my crawldelay project before and am just waiting for a rainy weekend to be able to crank out a follow-up post on it. Working on that project involved sifting through thousands of Web Archive (WARC) files. While I have…

  • R⁶ — Exploring macOS Applications with codesign, Gatekeeper & R

    (General reminder abt "R⁶" posts in that they are heavy on code-examples, minimal on expository. I try to design them with 2-3 "nuggets" embedded for those who take the time to walk through the code examples on their systems. I'll always…

  • R⁶ — Reticulating Parquet Files

    The reticulate package provides a very clean & concise interface bridge between R and Python which makes it handy to work with modules that have yet to be ported to R (going native is always better when you can do it). This post shows how…

July4
June5
  • R⁶ — Disproving Approval

    Rasmussen makes their Presidential polling data available for both ? & O. Why not compare their ratings from day 1 in office (skipping days that Rasmussen doesn't…

  • Replicating the Apache Drill 'Yelp' Academic Dataset Analysis with sergeant

    The Apache Drill folks have a nice walk-through tutorial on how to analyze the Yelp Academic Dataset with Drill . It's a bit out of date (the current Yelp data set structure is different enough that the tutorial will error out at various…

  • Keeping Users Safe While Collecting Data

    I caught a mention of this project by Pete Warden on Four Short Links today. If his name sounds familiar, he's the creator of the DSTK , an O'Reilly author, and now works at Google. A decidedly clever and decent…

  • Engaging the tidyverse Clean Slate Protocol

    I caught the 0.7.0 release of dplyr on my home CRAN server early Friday morning and immediately set out to install it since I'm eager to finish up my sergeant package and get it on CRAN. "Tidyverse" upgrades aren't trivial for me as I…

  • R⁶ — Scraping Images To PDFs

    I've been doing intermittent prep work for a follow-up to an earlier post on store closings and came across this CNN Money "article" on it. Said "article" is a deliberately obfuscated or lazily crafted series of GIF images that contain all…

May9
  • Drilling Into CSVs — Teaser Trailer

    I used reading a directory of CSVs as the foundational example in my recent post on idioms…

  • L.A. Unconf-idential : a.k.a. an rOpenSci #runconf17 Retrospective

    Last year, I was able to sit back and lazily "RT" Julia Silge's excellent retrospective on her 2016 @rOpenSci "unconference" experience. Since Julia was not there this year, and the unconference experience is still in primary storage (LMD…

  • R⁶ — Idiomatic (for the People)

    NOTE: I'll do my best to ensure the next post will have nothing to do with Twitter, and this post might not completely meet my R⁶…

  • A Very Palette-able Post

    Many of my posts seem to begin with a link to a tweet, and this one falls into that…

  • R⁶ — Using R With Amazon Athena & AWS Temporary Security Credentials

    Most of the examples of working with most of the AWS services show basic username & password authentication. That's all well-and-good, but many shops use the AWS Security Token Service to provide temporary credentials and session tokens to…

  • R⁶ — Tracking WannaCry Bitcoin Wallet Payments with R

    If you follow me on Twitter or monitor @Rapid7's Community Blog you know I've been involved a bit in the WannaCry ransomworm…

  • Travis-CI Flaw Exposed Some 'Secure' Environment Variable Contents

    Tagging this as #rstats -related since many R coders use Travis-CI to automate package builds (and other things). Security researcher Ivan Vyshnevskyi did some ++gd responsible disclosure to the Travis-CI folks letting them know they were…

  • Plot the Vote: Making U.S. Senate & House Cartograms in R

    Political machinations are a tad insane in the U.S. these days & I regularly hit up @ProPublica & @GovTrack sites (& sub to the GovTrack e-mail updates) as I try to be an informed citizen, especially since I've got a Senator and…

  • Scrapeover Friday — a.k.a. Another R Scraping Makeover

    Mara is — without a doubt — the best data science promoter in the Twitterverse. She seems to have her finger on the pulse of everything that's happening in the data science world and is one of the most ardent amplifiers there…

April9
  • R⁶ — Using pandoc from R + A Neat Package For Reading Subtitles

    Once I realized that my planned, larger post would not come to fruition today I took the R⁶ post (i.e. "minimal expository, keen focus") route, prompted by a Twitter discussion with some R mates who needed to convert "lightly formatted"…

  • Decomposing Composers with R

    The intrepid @masalmon cranked out another blog post , remixing classical music schedule data from Radio Swiss Classic . It's a fun post and you should read it before continuing…

  • Shuttering Pies With Retiring Stores

    It's pretty hard to compare store-to-store, even though it is fairly clear which ones are going-going-gone. If we want to see the relative percentage of each store closing and also want to see how they stack up against each other, then…

  • When Homoglyphs Attack! Generating Phishing Domain Names with R

    It's likely you've seen the news regarding yet-another researcher showing off a phishing domain attack. The technique is pretty…

  • Come Fly With Me (well, not really) — Comparing Involuntary Disembarking Rates Across U.S. Airlines in R

    By now, word of the forcible deplanement of a medical professional by United has reached even the remotest of outposts in the #rstats universe. Since the news brought this practice to global attention, I found some aggregate U.S. Gov data…

  • R⁶ — RStudio Server Client? Make An App For That!

    RStudio is a great way to work through analyses tasks, and I suspect most folks use the "desktop" version of the product on their local…

  • Simple Offline Airport Wi-Fi Tracker in R

    The Google Maps interface is a bit meh and the "formatted" data is also a bit meh but the data is useful when travelling (NOTE: always use a VPN in airports on both your mobile devices and…

  • Superclassing to R⁶

    To avoid "branding" confusion with R⁴ I'm superclassing it to R⁶ and encouraging others in the R community to don the moniker and do their own small, focused posts on topics that would help the R community learn things. Feel free to use R⁶…

  • R⁶ — Snow Day Facets

    Back in 2014 I blogged about first snowfall dates for a given U.S. state. It's April 1, 2017 and we're slated to get 12-18" of snow up here in Maine and @mrshrbrmstr asked how often this — snow in May — has occurred near…

March5
  • All-in on R⁶ : Progress [bars] on first post

    @eddelbuettel's idea is a good one. (it's a quick read…jump there and come back). We'll avoid confusion and call it R⁶ over here. Feel free to don the…

  • Exploring 2017 Retail Store Closings with R

    A story about one of the retail chains (J.C. Penny) releasing their list of stores closing in 2017 crossed paths with my Feedly reading list today and jogged my memory that there were a number of chains closing many of their doors this…

  • Think Twice Before Using Ohmconnect

    I listen to @NPR throughout the day (on most days) and a story on Ohmconnect piqued my interest (it aired 5 days prior to this post). The TLDR on Ohmconnect is that it ostensibly helps you save energy by making you more aware of…

  • Making a Case for case_when

    This is a brief (and likely obvious, for some folks) post on the dplyr::casewhen()…

  • Candy Coated Confidence Intervals

    @mrshrbrmstr hinted that she would like this post by @RickWicklin translated into R for her stats class. She's quite capable of cranking out the translation of the core component of that post — a call to chisq.test — but she wanted to show…

February9
January10
  • The ? Resistance

    I need to be up-front about something: I'm somewhat partially at fault for ? being elected. While I did not vote for him, I could not in any good conscience vote for his Democratic rival. I wrote in a ticket that had one Democrat and one…

  • One View of the Impact of the New Immigration Ban (+ freeing PDF data with tabulizer)

    Dear Leader has made good on his campaign promise to "crack down" on immigration from "dangerous" countries. I wanted to both see one side of the impact of that decree — how many potential immigrants per year might this be impacting — and…

  • Coconut Pumpkin Pie with Coconut Dark Chocolate Ganache

    I'm not about to tell you how to make your fav pie crust as that's a deeply personal subject. You'll need two of…

  • Create Parquet Files From R Data Frames With sergeant & Apache Drill (a.k.a. Make Parquet Files Great Again in R)

    When you're in this larger-data world, parquet files are one of the core data storage formats. They're designed to be compact and are optimized for columnar operations. Unlike CSV, JSON files or even R Data files, it's not necessary to…

  • Workout Wednesday Redux (2017 Week 3)

    I had started a "52 Vis" initiative back in 2016 to encourage folks to get practice making visualizations since that's the only way to get better at virtually anything. Life got crazy, 52 Vis fell to the wayside and now there are more…

  • The Devil's in the [Davos] Details — A quick look at this year's WEF Global Risks Report

    It's Davos time again. Each year the World Economic Forum (WEF) gathers the global elite together to discuss how they're going to shape our collective future. WEF also releases their annual Global Risks Report at the same time. I read it…

  • Knit directly to jupyter notebooks from RStudio

    Did you know that you can completely replace the "knitting" engine in R Markdown documents? Well, you…

  • 2017-01 Authored Package Updates

    The rest of the month is going to be super-hectic and it's unlikely I'll be able to do any more to help the push to CRAN 10K, so here's a breakdown of CRAN and GitHub new packages & package updates that I felt were worth raising awareness…

  • The Most Important Commodity in 2017 is Data

    Despite being in cybersecurity nigh forever (a career that quickly turns one into a determined skeptic if you're doing your job correctly) I have often trusted various (not to be named) news sources, reports and data sources to provide…

  • Removing Personal Bias From Flu Severity Estimation (a.k.a. Misery Loves Data)

    The family got hit pretty hard with the flu right as the Christmas festivities started and we were all pretty much bed-ridden zombies up until today (2017-01-02). When in the throes of a very bad ILI it's easy to imagine that you're a…

201670
December9
  • North Carolina's Neighborhood

    When I saw the bombastic headline "North Carolina is no longer classified as a democracy" pop up in my RSS feeds today (article link: http://www.newsobserver.com/opinion/op-ed/article122593759.html ) I knew it'd help feed polarization bear…

  • Pipes (%>%) Everywhere

    An R user asked a question regarding whether it's possible to have the RStudio pipe ( %>% ) shortcut ( Cmd-Shift-M ) available in other macOS applications. If you're using Alfred then you can use this workflow for said task (IIRC this…

  • sergeant : An R Boot Camp for Apache Drill

    I recently mentioned that I've been working on a development version of an Apache Drill R package called sergeant . Here's a lifted "TLDR" on…

  • Package update: longurl 0.3.0 is hitting CRAN mirrors

    The longurl package has been updated to version 0.3.0 as a result of a bug report noting that the URL expansion API it was using went pay-for-use. Since this was the second time a short URL expansion service either went belly-up or had…

  • Minding the zoo[keeper] with R

    I've been drafting a new R package — sergeant — to work with Apache Drill and have found it much easier to manage having Drill operating in a single node cluster vs drill-embedded mode (esp when I need to add a couple more nodes for…

  • The Actual, Über, Ultimate Fake News List

    It is surprisingly shorter (or longer if you grok regular expressions) than you think it might be: http[s]://.…

  • Survey on Data Science In Two Year Colleges

    The ASA (American Statistical Association) has been working in collaboration with the ACM (Association for Computing Machinery) on developing a data science curriculum for Two Year Colleges. Part of this development is the need to…

  • Interacting With Amazon Athena from R

    This is a short post for those looking to test out Amazon Athena with…

  • Jumping on the "Banned" Wagon

    Where's the ACLU? They'd be right there if this was an alt-right'er asking to ban books with salacious content they deem (rightly or wrongly) "inappropriate" or "harmful" to teens. I hope they step up and fight the fight the good fight…

November5
  • The Most Important Hashtag for 2017

    When something pops up in the news, on Twitter, Facebook or even (ugh) Gab claiming or teasing findings based on data I believe it's more important than ever to reply with some polite text and a #showmethedata hashtag. We desperately…

  • The Devil is in the Details

    The \first public informational video\ from the PEOTUS didn't add a full transcript of the video to the web site and did not provide (at least as of 0700 EST on 2016-11-22) their own text annotations/captions to the…

  • This is not cool.

    First it was OpenDNS selling their souls (and, [y]our data) to Cisco (whom I don't trust at all with my…

  • Dis-ingenuous

    If those were real, functional bulbs that were destroyed…spreading real, irreclaimable refuse…all to shill a far less than revolutionary "professional" laptop…then, just how "enlightened" is Apple,…

  • Stop.

    Stop. — rud.is blog archive

August4
July7
June5
  • Making "Time Rivers" in R

    Once again, @albertocairo notices an interesting chart and spurs pondering in the visualization community with his post covering an unusual "vertical time series" chart produced for the print version of the…

  • A Call to Arms[list] Data Analysis!

    The NPR vis team contributed to a recent story about Armslist, a "craigslist for guns". Now, I'm neither pro-"gun" or anti-"gun" since this subject, like most heated ones, has more than two sides. What I am is pro-data, and the U.S.…

  • Your data vis "Spidey-sense" & the need for a robust "utility belt"

    @theboysmithy did a \great piece\ on coming up with an alternate view for a timeline for an FT…

  • On Whether Y-axis Labels Are Always Necessary

    The infamous @albertocairo blogged about a nice interactive piece on German company tax avoidance by @ProPublica. Here's a snapshot of their interactive…

  • New viridis & colorbrewer palettes for ipv4-heatmap

    It's no seekrit that I :heart: Hilbert curve heatmaps of IPv4 space. Real-world IPv4 maps (i.e. the ones that drop dots on the Earth) have little utility, but with Hilbert curves maps of IPv4 space many different topologies can be…

May3
April9
  • (ggplot2) Exercising with (ggalt) dumbbells

    I follow the most excellent Pew Research folks on Twitter to stay in tune with what's happening (statistically speaking) with the world. Today, they tweeted this excerpt from their 2015 Global Attitudes…

  • 52Vis Week #3 - Waste Not, Want Not

    The Wall Street Journal did a project piece a while back in the "Waste Lands: America's Forgotten Nuclear Legacy". They dug through Department of Energy and CDC data to provide an overview of the lingering residue of this toxic time in…

  • 52 Vis Week #2 Wrap Up

    I've been staring at this homeless data set for a few weeks now since I'm using it both here and in the data science class I'm teaching. It's been one of the most mindful data sets I've worked with in a while. Even when reduced to pure…

  • 52 Vis Week 1 Winners!

    The response to 52Vis has exceeded expectations and there have been great entries for both weeks. It's time to award some…

  • Beating lollipops into dumbbells

    Shortly after I added lollipop charts to ggalt I had a few requests for a dumbbell geom . It wasn't difficult to do modify the underlying lollipop Geom s to make a geomdumbbell() . Here it is in…

  • Clandestine DNS lookups with gdns

    Google recently announced their DNS-over-HTTPS API, which "enhances privacy and security between a client and a recursive resolver, and complements DNSSEC to provide end-to-end authenticated DNS lookups". The REST API they provided was…

  • geom_lollipop() by the Chartettes

    I make a fair share of bar charts throughout the day and really like switching to lollipop charts to mix things up a bit and enhance the visual appeal. They're easy to do in ggplot2, just use your traditional x & y mapping for geompoint()…

  • 52Vis Week 2 (2016 Week #14) - Honing in on the Homeless

    In case folks are wondering why I'm doing this, it's pretty simple. We need a society that has high data literacy and we need folks who are capable of making awesome, truthful data visualizations. The only way to do that is by working with…

  • iptools 0.4.0 released into the wild (i.e. is hitting the CRAN mirrors today)

    The iptools package—a toolkit for manipulating, validating and testing IP addresses and ranges, along with datasets relating to IP addresses—is flying through the internets and hitting a CRAN mirror near you,…

March14
  • Introducing a Weekly R / Python / JS / etc Vis Challenge!

    Per a suggestion, I'm going to try to find a neat data set (prbly one from @jsvine) to feature each week and toss up some sample code (99% of the time prbly in R) and offer up a vis challenge. Just reply in the comments with a link to a…

  • Easier Composite U.S. Choropleths with albersusa

    Folks who've been tracking this blog on R-bloggers probably remember this post where I showed how to create a composite U.S. map with an Albers projection (which is commonly referred to as AlbersUSA these days thanks to…

  • Nuclear Animations in D3

    As I said, I'm kinda obsessed with the "nuclear" data set. So much so that I made a D3 version that's similar to the R version I made the other day. I tried not to code much today (too much Easter fun going on), so I left off the size &…

  • Nuclear Animations in R

    @jsvine (Data Editor at BuzzFeed) cleaned up and posted a data sets of historical nuclear explosions earlier this week. I used it to show a few plotting examples in class, but it's also a really fun data set to play around with: categorial…

  • Using ProPublica "statefaces" in ggplot2

    I'm a huge fan of ProPublica . They have a super-savvy tech team, great reporters, awesome graphics folks and excel at data-driven journalism. Plus, they give away virtually everything , including data, text, graphics &…

  • Stacking the deck against treemaps

    They did an awesome makeover (it's interactive if you follow the…

  • Hy-phen-ate All The Things! (in R)

    I started coding this to see if it could be a "poor dude's 'syllabifier'" (NOTE: "dude" is gender agnostic and I am fully aware of the proper NLP terms to use but it's way more fun to make up words) to make it easer to turn my Zellingach…

  • Supreme Annotations

    I had not intended this to be "Annotation Week" but there was a large, positive response to my annotation "hack" post. This reaction surprised me, then someone pointed me to this link and also noted that if having to do subtitles via hacks…

  • Spinning Cycles in Box #4 To Take the Pies out of Pi Day

    \>UPDATE: time spent per task factor order was wrong before. now…

  • ggplot2で字幕 <br/>[Subtitles in ggplot2]

    UPDATE: this capability (+ more) are being rolled into ggplot2-proper. PR will be absorbed into ggplot2 main branch soon. exciting, annotated times…

  • Some Light Image Processing & Creation With R

    A friend, we'll call him Alen put a call out for some function that could take an image and produce a per-row "histogram" along the edge for the number of filled-in points. That requirement eventually scope-creeped to wanting "histograms"…

  • OS X XQuartz Vulnerability Test Using R

    It's usually a good thing when my #rstats and infosec worlds collide. Unfortunately, this time it's a script that R folk running on OS X can use to see if they are using a version of XQuartz that has a nasty vulnerability in the framework…

  • Primary Plotting

    My wife tricked me into a partial-weekend project to try to get all the primary/caucus results to-date on a map (the whole us). This is challenging since not all states use counties as boundaries for aggregate results. I'm still piecing…

  • Capturing wild widgets with webshot

    NOTE: you won't need to use this function if you use the development version of…

February9
  • A Tale of Two Charting Paradigms: Vega-Lite vs R+ggplot2

    This post comes hot off the heels of the nigh-feature-complete release of vegalite (virtually all the components of Vega-Lite are now implemented and just need real-world user testing). I've had a few and seen a few questions about "why…

  • Create Vega-Lite specs & widgets with the vegalite package

    Vega-Lite 1.0 was released this past week. I had been meaning to play with it for a while but I've been burned before by working with unstable APIs and was waiting for this to bake to a stable release. Thankfully, there were no new shows…

  • Working with the Clinton State Dept Email Dumps in R (Part 1: Graphs)

    I put this together after experimenting with ggplot2 and ggnetwork earlier this week. The changes I made added svgPanZoom into the mix. Consequently, it has a widget in it, so it was just easier to embed the full R markdown HTML into an…

  • Thai Curry Puffs (Karipap • กะหรี่ปั๊บ)

    I made Thai curry puffs for @mrshrbrmstr for Valentine's Day (paired with Thai crispy duck red curry) and was asked to post the recipe. There are two versions, one with lard pie dough (#3, #4 & I are dairy sensitive) and one with puff…

  • Making Faceted Heatmaps with ggplot2

    We were doing some exploratory data analysis on some attacker data at work and one of the things I was interested is what were "working hours" by country. Now, I don't put a great deal of faith in the precision of geolocated IP addresses…

  • Dairy-free Parker House Rolls

    Here's a quick/easy recipe for soft roll dough that you can use to make dairy-free Parker House rolls, knot rolls or just plain…

  • Plot the new SVG R logo with ggplot2

    High resolution and SVG versions of the new R logo are finally available…

  • Craft httr calls cleverly with curlconverter

    When you visit a site like the LA Times' NH Primary Live Results site and wish you had the data that they used to make the tables & visualizations on the…

  • Alternate R Markdown Templates

    The knitr/R markdown system is a great way to organize reports and analyses. However, the built-in ones (that come with RStudio/the rmarkdown package) rely on Bootstrap and also use jQuery. There's nothing wrong with that, but the…

January5
201562
December3
November6
  • Moving the Shield to a new home

    This week (Thanksgiving-ish, 2015) I start a new adventure at Rapid7! You can read more about why over at the official…

  • An OS X R Task Runner for—and a Mini-R-centric review of—Microsoft's Visual Studio Code Editor

    Microsoft's newfound desire to make themselves desirable to the hipster development community has caused them to make many things open and/or free of late. One of these manifestations is Visual Studio Code, an Atom-ish editor for us code…

  • Beware of sideloading f.lux for iOS from files obtained on sharing/torrent sites

    Apple made the @justgetflux folks remove their iOS sideloaded app due to the use of private APIs (which are a violation of the Apple Developer agreement). The ZIP archive has been pulled from their site (and it really has,…

  • Using MonetDB[Lite] with real-world CSV files

    MonetDBLite (for R) was announced/released today and, while the examples they provide are compelling there's a "gotcha" for potential new folks using SQL in general and SQL + MonetDB + R together. The toy example on the site shows dumping…

  • Visualizing Survey Data : Comparison Between Observations

    Cybersecurity is a domain that really likes surveys, or at the very least it has many folks within it that like to conduct and report on surveys. One recent survey on threat intelligence is in it's second year, so it sets about comparing…

  • An Ephemeral Update to daylight()

    This occurrence of the bi-annual corruption of the space-time continuum (i.e. changing to/from standard/daylight time) in the U.S. caused me to make a slight change to the code from an older post. The daylight() function now auto-discovers…

October4
  • Less Drama, More Encoding

    Junk Charts adeptly noted and fixed this excessively stylized chart from the WSJ this…

  • Installing R on OS X - "100% Homebrew Edition"

    In a previous post I provided "mouse-heavy" instructions for getting R running on your Mac. A few of the comments suggested that an "all Homebrew" solution may be preferable for some folks. Now, there are issues with this since getting…

  • Installing R on OS X

    NOTE: The comments are a must read for this. Some excellent additional advice and "gotchas" by some super-helpful…

  • Replicating NatGeo's "Proper" Earthquake Map in R

    I saw this post over at NatGeo over the weekend and felt compelled to replicate…

September5
August10
  • Coloring (and Drawing) Outside the Lines in ggplot

    Time for another Twitter-inspired blog post this week, this time from a tweet by…

  • New Pacakge "docxtractr" - Easily Extract Tables From Microsoft Word Docs

    This is more of a follow-up from yesterday's post. The hack and function in said post was fine, but it was limited to uniform tables and made you do more work than you had to. So, there's now a devtools-installable package on github that…

  • Using R To Get Data *Out Of* Word Docs

    NOTE: after reading this post head on over to this new one as it has wrapped this functionality (and more!) into a…

  • Doh! I Could Have Had Just Used V8!

    An R user recently had the need to split a "full, human name" into component parts to retrieve first & last names. The full names could be anything from something simple like "David Regan" to more complex & diverse such as "John Smith…

  • Track Hurricane Danny (Interactively) with R + leaflet

    Danny became the first hurricane of the 2015 Season, so it's a good time to revisit how one might be able to track them with…

  • cdcfluview - On The Way to "CRAN 7K"

    I like to turn coincidence into convergence whenever possible. This weekend, a user of \cdcfluview\ had a question that caused me to notice a difference in behaviour between the package was interacting with CDC FluView API, so I updated…

  • Adding a CRAN Search Engine to Chrome

    Riffing off of the previous post, here's a way to quickly search CRAN (the @RStudio flavor) from the Chrome search…

  • Speeding Up Your Quest(s) For "R Stuff"

    I use Google quite a bit when conjuring up R projects, whether it be in a lazy pursuit of a PDF vignette or to find a package or function to fit a niche need. Inevitably, I'll do something like this (yeah, I'm still on a mapping kick) and…

  • Achieve Charting Zen With TauCharts

    There was some chatter on the twitters this week about a relatively new D3-based charting library called TauCharts (also @taucharts). The API looked pretty clean and robust, so I started working on an htmlwidget for it and was quickly…

  • Two New R Packages - qrencoder & passwordrandom

    Believe it or not, there are two [ 1 ] [ 2 ] questions on @StackOverflowR about how to make QR codes in R. I personally think QR codes are kinda hokey, but who am I to argue with pressing needs of the #rstats community? I found libqrencode…

July8
  • Introducing the nominatim geocoding package

    In the never-ending battle for truth, justice and publishing more R packages than Oliver, I whipped out an R package for the OpenStreetMap Nominatim API. It actually hits the MapQuest Nominatim Servers for most of the calls, but the…

  • Making Static/Interactive Voronoi Map Layers In ggplot/leaflet

    Despite having shown various ways to overcome D3 cartographic envy , there are always more examples that can cause the green monster to rear it's ugly…

  • Roll Your Own Gist Comments Notifier in R

    As I was putting together the coordproj ggplot2 extension I had posted a gist that I shared on Twitter. Said gist received a comment (several, in fact) and a bunch of us were painfully reminded of the fact that there is no built-in way to…

  • A Path Towards Easier Map Projection Machinations with ggplot2

    The $DAYJOB doesn't afford much opportunity to work with cartographic datasets, but I really like maps and tinker with shapefiles and geo-data when I can, plus answer a ton of geo-questions on StackOverflow. R makes it easy—one might even…

  • Using the new 'viridis' colormap in R (thanks to Simon Garnier)

    Nathaniel Smith and Stéfan van der Walt presented a new colormap (for Python) at SciPy 2015 called viridis…

  • R Package to access the Open Movie Database (OMDB) API

    It's not on CRAN yet, but there's a devtools -installable R package for getting data from the OMDB API…

  • Faceted "World Population by Income" Choropleths in ggplot

    Poynter did a nice interactive piece on world population by income (i.e. "How Many Live on How Much, and Where" ). I'm always on the lookout for optimized shapefiles and clean data (I'm teaching a data science certificate program starting…

  • Two pending features to metricsgraphics

    I've been slowly prodding the metricsgraphics package towards a 1.0.0 release, but there are some rough edges that still need sorting out. One of them is the ability to handle passing in variables for the x & y accessor values (you can…

June4
  • Get by with a little (R) help from your friends (at GitHub)

    @JennyBryan posted her slides from the 2015 R Summit and they are a must-read for instructors and even general stats/R-folk. She's one of the foremost experts in R+GitHub and her personal and class workflows provide solid patterns worth…

  • DO Something Nifffty with R

    @briandconnelly (of pushoverr fame) made a super-cool post about connecting R to @IFTTT via IFTTT's "Maker" channel. The IFTTT Maker interface to receive events is fairly straightforward and Brian's code worked flawlessly, so it was easy…

  • metricsgraphics 0.8.5 is now on CRAN!

    I'm super-pleased to announce that the Benevolent CRAN Overlords accepted the metricsgraphics package into CRAN over the weekend. Now, you no longer need to rely on github/devtools to use MetricsGraphics.js charts from your R scripts. If…

  • Animated US Hexbin Map of the Avian Flu Outbreak

    The recent announcement of the start of egg rationing in the U.S. made me curious enough about the avian flu outbreak to try to dig into the numbers a bit. I finally stumbled upon a USDA site that had an embedded HTML table of flock…

May5
  • A quick, incomplete comparison of ggplot2 & rbokeh plotting idioms

    I set aside a small bit of time to give rbokeh a try and figured I'd share a small bit of code that shows how to make the "same" chart in both ggplot2 and…

  • Scraping jQuery DataTable Programmatic JSON with R

    School of Data had a recent post how to copy "every item" from a multi-page list. While their post did provide a neat hack, their "words of warning" are definitely missing some items and the overall methodology can be improved upon with…

  • U.S. Drought Monitoring With Hexbin State Maps in R

    On the news, today, of the early stages of drought hitting the U.S. northeast states I decided to springboard off of yesterday's post and show a more practical use of hexbin state maps than the built-in (and still purpose unknown to me)…

  • GeoJSON Hexagonal "Statebins" in R

    There's been lots of buzz about "statebin" maps of late. A recent tweet by @andrewxhill referencing work by @dannydb pointed to a nice shapefile ( alternate link ) that ends up being a really great way to handle statebin maps (and I feel…

  • quotebox - An NPR-like Embedded Twitter Quote Generator

    I'm an avid NPR listener also follow a number of their programs and people on Twitter. I really dig their \quotable\ tweets. Here's a sample of a recent…

April1
  • New Fake Vulnerability Service - SVE

    The SVE service is a fake new service solely put out there to facilitate some inane puzzle. You can reference SVE-2015-9999 via this URL and hopefully this will make it possible for google to get it back in their…

March9
  • More Airline Crashes via the Hadleyverse

    I saw a fly-by \#rstats\ mention of more airplane accident data on -- of all places -- LinkedIn (email) today which took me to a \GitHub repo\ by @philjette. It seems there's a \web site\ (run by what seems to be a single human) that…

  • A look at airline crashes in R with googlesheets, dplyr & ggplot2

    Over on The DO Loop, @RickWicklin does a nice job visualizing the causes of airline crashes in SAS using a mosaic plot. More often than not, I find mosaic plots can be a bit difficult to grok, but Rick's use was spot on and I believe it…

  • Pre-CRAN waffle update - isotype pictograms

    It seems Ruben C. Arslan had the waffle idea about the same time I did. Apart from some extra spiffy XKCD-like styling, one other thing his waffling routines allowed for was using FontAwesome icons. When you use an icon vs a block, you are…

  • Fixing Colors & Proportions in Jerusalem Post Election Graphics

    Vis expert Naomi Robbins did an excellent critique of the graphics that went along with an article on Israeli election in the Jerusalem…

  • Making waffle charts in R (with the new 'waffle' package)

    My disdain for pie charts is fairly well-known, but I do concede that there are times one needs to communicate parts of a whole graphically verses using just words or a table. When that need arises, I'm partial to "waffle charts" or…

  • Simple Lower US 48 Albers Maps & Local (no-API) City/State Geocoding in R

    I've been seeing an uptick in static US "lower 48" maps with "meh" projections this year, possibly caused by a flood of new folks resolving to learn R but using pretty old documentation or tutorials. I've also been seeing an uptick in…

  • Streamgraph htmlwidget version 0.7 released (adds support for markers & annotations)

    In preparation for using some of our streamgraphs for production (PDF/print) graphics, I ended up having to hand-edit labels in on one of the graphics in an Adobe product. This bumped up the priority on adding annotation functions to the…

  • New R Package - ipapi (IP/Domain Geolocation)

    I noticed that the @rOpenSci folks had an interface to ip-api.com on their ToDo list so I whipped up a small R package to fill said…

  • Streamgraph package now supports continuous x axis scale

    A post on StackOverflow asked about using a continuous variable for the x-axis (vs dates) in my streamgraph package. While I provided a workaround for the question, it helped me bump up the priority for adding support for continuous x axis…

February4
  • Introducing the streamgraph htmlwidget R Package

    We were looking for a different type of visualization for a project at work this past week and my thoughts immediately gravitated towards streamgraphs. The TLDR on streamgraphs is they they are generalized versions of stacked area graphs…

  • SweetheaRstats

    I felt compelled to dust off my 2013 Valentine's Day #rstats post and make it all Shiny and new again. I used the same math from that post, but made the polygon a bit sharper and used ggplot2 for the…

  • A Step to the Right in R Assignments

    I received an out-of-band question on the use of %<>% in my CDC FluView post, and took the opportunity to address it in a broader, public…

  • New release (0.7) of metricsgraphics htmlwidget — grids & rollovers

    I've updated my metricsgraphics package to version 0.7. The core MetricsGraphics JavaScript library has been updated to version 2.1.0 (from 1.1.0). Two blog-worthy features since releasing version 0.5 are mjsgrid (which is a…

January3
  • NASA GISS’s Annual Global Temperature Anomaly Trends (dplyr/ggplot version)

    D Kelly O’Day did a great post on charting NASA’s Goddard Institute for Space Studies (GISS) temperature anomaly data, but it sticks with base R for data munging & plotting. While there's absolutely nothing wrong with base R operations, I…

  • New R Package: cdcfluview — Retrieve Flu Data from CDC's FluView Portal

    NOTE If there's a particular data set from http://www.cdc.gov/flu/weekly/fluviewinteractive.htm that you want and that isn't in the pacakge, please file it as an issue and be as specific as you can (screen shot if…

  • New R Package: metricsgraphics

    Mozilla released the MetricsGraphics.js library back in November of 2014 (gh repo) and was greeted with great fanfare. It's primary focus is on crisp, clean layouts for interactive time-series data, but they have support for other chart…

201430
December1
November3
October3
September6
July1
  • OUT FROM THE DEPTHS! @GraniteSec LIVES!

    Like GODZILLA rising to save Japan, GRANITESEC rises from dormancy (caused mostly by that sod @hrbrmstr) to fill your summer with food, fun & some other audience appropriate word that begins with an "F" to complete the alliteration…

May4
  • New Gig!

    Well, the proverbial cat is definitely out of the bag now. I'm moving on from the current gig to take a security data scientist position at Verizon Enterprise. The esteemed Wade Baker will be my new benevolent overlord and it probably…

  • Rforecastio 1.3.0 Update

    Thanks to a comment suggestion, the Rforecastio package is now up to version 1.3.0 and has a new parameter which lets you specify which time conversion function you want to use. Details are up on…

  • Rforecastio 1.2.0 Bug-fix Update

    Not even going to put an R category on this since I don't want to pollute R-bloggers with this tiny post, but I had to provide the option to let folks specify ssl.verifypeer=FALSE (so I made it a generic option to pass in any CURL…

  • Rforecastio Package Update (1.1.0)

    I've bumped up the version number of Rforecastio (github) to 1.1.0. The new features…

April3
  • Moving From system() calls to Rcpp Interfaces

    Over on the Data Driven Security Blog there's a post on how to use Rcpp to interface with an external library (in this case ldns for DNS lookups). It builds on another post which uses system() to make a call to dig to lookup DNS TXT…

  • Getting Fit2Tcx Working on Mac OS X (10.9.x)

    Andreas Diesner's #spiffy Fit2Tcx command-line utility is a lightweight way to convert Garmin/ANT FIT files to TCX for further…

  • Mapping the March 2014 California Earthquake with ggmap

    I had no intention to blog this, but @jayjacobs convinced me otherwise. I was curious about the recent (end of March, 2014) California earthquake "storm" and did a quick plot for "fun" and personal use using…

March1
  • Guardian Words: Visualized

    Andy Kirk (@visualisingdata) & Lynn Cherny (@arnicas) tweeted about the Guardian Word Count service/archive site, lamenting the lack of…

February4
January4
201364
December3
  • Points, Polygons and Power Outages

    Most of my free coding time has been spent tweaking a D3-based live power outage tracker for Central Maine Power customers (there's also a woefully less-featured Shiny app for it, too). There is some R associated with the D3 vis, but it's…

  • Newest Font Obsession: Lato

    It was created over three years ago by Łukasz Dziedzic but I only discovered it recently when searching for something to use with my Live Maine Power Outages…

  • Slopegraph Workbench/Workshop in D3

    I've been getting a huge uptick in views of my Slopegraphs in Python post and I think it's due to @edwardtufte's recent slopegraph contest…

November6
  • One More Time…Mapping Maine Power Outages with D3

    It started with a local R version and migrated to a Shiny version and is now in full D3 glory…

  • Back To Frank

    Even though I really liked Origin , the performance issues associated with it were just too much to debug and I have a ton of other work to do. Back to Frank it is. Page loads are much faster and there are far fewer warnings in Google's…

  • Mapping Power Outages in Maine Dynamically with Shiny/R

    I decided to forego the D3 map mentioned in the previous post in favor of a Shiny one since I had 90% of the mapping code…

  • Mapping Power Outages In Maine With R

    We had yet-another power outage this morning due to the weird weather patterns of the week and it was the final catalyst I needed to crank out some R code to map the affected…

  • Preparing For The February 2014 Book Launch

    We setup a live Amazon "sales rank" tracker over at the book's web site and provided some Python and JavaScript code to show folks how use the AWS API in conjunction with the dygraphs charting library to do the same for any ISBN. In the…

  • Visual Anatomy Of R Packages Used in Data Driven Security

    Since @jayjacobs & I are down to the home stretch on Data Driven Security , I thought it would be interesting to do some post-writing pseudo-analyses of the book itself. I won't have exact page or word counts for a bit, but I wanted to see…

October2
  • Alternative to Grouped Bar Charts in R

    and, I obliged shortly thereafter, but figured I'd toss a post up on the blog before heading to…

  • Open Campgrounds In Maine During The Stupid Shutdown

    Don't let the morons in Congress stop you from visiting our fair state during this beautiful, colorful autumn season. Below is a Google Maps view of known, open campgrounds that will let you experience the best our state has to offer this…

September9
  • Visualizing "ObamaCare-related" Job Cuts

    The spreadsheet is organized by date and lists each state where the jobs were impacted along with the employer , employer type (public/private), reason and number of jobs impacted (if available). They also have links to news stories…

  • Scraping Content From Google Groups

    I was helping a friend out who wanted to build a word cloud from the text in Google Groups posts. If you've made any efforts to try to get content out of Google Groups you know that the only way to do so is to ensure you subscribe to the…

  • Animated IRL Pirate Attacks In R

    Avast me hearRties! (ok, enough of the pirate speak in a blog…

  • Christian Science Monitor Text Layout (Single Page Full Article View)

    As I was about to " buffer " a reference to a CSM article on "cyber war" (below), I paused to look for a "print view" or some other icon that would let me show the whole article as a single page vs the annoying multi-page layout view they…

  • Send Mac OS Notifications From RStudio *Server*! (via Growl)

    Having received a couple follow-ups to the OS X notifications on RStudio Desktop for the Mac post, I was determined to find a quick hack to get remote notifications to OS X working from (at least) RStudio Server instances running on the…

  • Rforecastio Update

    Thanks to a comment, I tweaked the data retrieval to ignore SSL cert errors. You can change that tweak back if you go through the pain of updating the SSL libraries on your Windows boxes (it doesn't seem to be an issue on OS…

  • Send Mac OS Notifications From R

    The data retrieval and computation operations are taking longer and longer as we start cranking through more security data and I'll often let tasks run in the background whilst performing more mundane tasks or wasting time on Twitter. For…

  • Rforecastio - Simple R Package To Access forecast.io Weather Data

    It doesn't get much better for me than when I can combine R and weather data in new ways. I've got something brewing with my Nest thermostat and needed to get some current wx readings plus forecast data. I could have chosen a number of…

  • nizdos - Nest Thermometer Notifications And Data Logging In Python

    I've had a Nest thermometer for a while now and it's been an overall positive experience. It's given me more visibility into our heating/cooling system usage, patterns and preferences; plus, it actually saved us money last…

August4
  • Use Fluid On MacOS To Build Per-RStudio Server "Dedicated" Clients

    I'm jumping around analytics environments these days and have to leave the comfort of my Mac's RStudio Desktop application to use various RStudio Server instances via browser. While I prefer to use Chrome, the need to have a "dedicated"…

  • ZeroAccess Bots Desperately Seeking Freedom (Visualization)

    I've been doing a bit of graphing (with real, non-honeypot network data) as part of the research for the book I'm writing with @jayjacobs and thought one of the images was worth sharing (especially since it may not make it into the book…

  • Reverse IP Address Lookups With R (From Simple To Bulk/Asynchronous)

    R lacks some of the more "utilitarian" features found in other scripting languages that were/are more geared—at least initially—towards systems administration. One of the most frustrating missing pieces for security data scientists is the…

  • IP Intelligence Lookup Chrome Extension

    The topic of "IP intelligence" gets a nod in the book that @jayjacobs & I are writing and it was interesting to see just how many sites purport to "know something" about an IP address. I shamelessly admit to being a Chrome user and noticed…

July2
  • Summer 2013 @GraniteSec Is ON!

    Like an aging action hero, @GraniteSec is back in action after an unexpected hiatus. Join us on August 17th for food and fun at the beautiful Fort Foster in Kittery Point,…

  • 2013 Summer Vacation Puzzle Challenge

    When I am out of the office for an extended time, I try to post a "crypto" challenge for work-folk to do while I'm gone with the added bonus of winning fabulous prizes. There were no answers submitted for the clues during our ANP trip, but…

May2
April9
  • Slopegraph As A Service

    @adammontville posited that Figure 15 from this year's DBIR could use some slopegraph love. As I am not one to back down from a reasonable challenge, I…

  • Wait Wait...Don't Pwn Me! (SOURCE Boston) Transcript & Thank You!

    I also wanted to, again, thank @selenakyle for her most excellent job playing Carl Kasell; the awesome panelists: @451Wendy, @innismir & @andrewsmhay; @joshcorman for—yet again—putting up with me picking on him (and getting all the…

  • SOURCE Boston (@SOURCEConf) Data Analysis & Visualization Talk Resources #srcbos13

    Many thanks to all who attended the talk @jayjacobs & I gave at @SOURCEconf on Thursday, April 18, 2013. As promised, here are the slides which should be much less washed out than the projector version…

  • Framing A One Data Vis A Day Challenge

    Earlier this evening, I somewhat half-heartedly challenged @jayjacobs that he & I should be generating one data visualization per day. I didn't specify anything else (well, at least that I can disclose publicly, for now) but I think I'm…

  • PC Maker Slopegraph + More Functional Table (One Last Time)

    Now that I'm back in the US and relaxing, I can take time for one final blather on the PC Maker Slopegraph post from earlier in the…

  • Use @datawrapper For Slopegraphs

    While not perfect, I noticed that it was possible to make a pretty decent slopegraph over at Datawrapper as I was poking at some new features they announced recently. As an example, I ran one of the charts from my most recent blog post as…

  • Ugly Tables vs Slopegraphs : PC Maker Shipments & Marketshare

    Andrew Cunningham (@ITAndrewC) posted an article— If you make PCs and you’re not Lenovo, you might be in trouble —on the always #spiffy @arstechnica that had this horrid table in…

  • Bahrain eGov Conference "Risk Reality" Slides

    For those finding this post from the Bahrain eGov conference, I'd like to re-extend a hearty "Thank you!" for being one of most engaging, interactive and intelligent audiences I've ever experienced. I truly enjoyed talking with all of…

  • Off to Bahrain

    As a result of a prod by @djbphaedrus I'm off to the Bahrain International eGovernment Forum this week to host a two hour workshop on "information risk reality". As a result, blogging & tweeting will be at significantly reduced levels, so…

March11
  • It's Never About The Security...

    It's Never About The Security... — rud.is blog archive

  • A Wish for Snow in Spring

    Sadly, that's not a modern story. It's an adapted quote from chapter 4 (pp. 97-98, paperback) of The Ghost Map , by Steven Johnson , a book on the cholera epidemic of…

  • Interactive Slopegraphs With Processing

    Given my obsession with slopegraphs, I'm not sure how I missed this post back in late February by @JeffClark that includes a very nicely executed interactive sloepgraph on the global obesity problem. He used Processing & Processing JS to…

  • My Picks From #PyCon2013

    A huge thanks to the speakers and conference organizers for making these resources freely available, especially to those of us who were not able to attend the…

  • Chrome App for Tiny Tiny RSS

    I'm still getting my self-hosted Tiny Tiny RSS configuration just the way I want it prior to doing a full blog post on it, but I thought it would be helpful to share a basic Chrome App for it. I ended up creating it to replace the Google…

  • π, Awareness, DataVis, VAST 2013, Moar data! & GReader Machinations

    Far too many interesting bits to spam on Twitter individually but each is worth getting the word out…

  • Visualizing Risky Words — Part 4 (D3 Word Trees)

    This is a fourth post in my Visualizing Risky Words series. You'll need to read starting from that link for context if you're just jumping in…

  • Visualizing Risky Words — Part 3

    The DST changeover in the US has made today a fairly strange one, especially when combined with a very busy non-computing day yesterday. That strangeness manifest as a need to take the D3 heatmap idea mentioned in the previous post and…

  • Visualizing Risky Words — Part 2

    This is a follow-up to my Visualizing Risky Words post. You'll need to read that for context if you're just jumping in now. Full R code for the generated images (which are pretty large) is at the…

  • Visualizing Risky Words

    Inspired by a post by @bfist who created the following word cloud in Ruby from VZ RISK INTSUM posts (visit the link or select the visualization to go to the…

  • Security Hobos

    If you haven't viewed/read Wendy Nather's (@451Wendy) insightful Living Below The Security Poverty Line you really need to do that before continuing (we'll still be here when you get…

February10
January6
  • Data Crunching Competitions

    I came across a list of data crunching and/or visualization competition sites today. I had heard of Kaggle & NITRD before but not the other ones. If you're looking to get into data analytics/visualization or get better at it, the only way…

  • Once More Into The [PRC Aggregated] Breaches

    If you're not on the SecurityMetrics .org mailing list you missed an interaction about the Privacy Rights Clearinghouse Chronology of Data Breaches data source started by Lance Spitzner (@lspitzner). You'll need to subscribe to the list…

  • River Post Dissected

    Good Stats, Bad Stats has a really good critique of my Mississippi River post that you should read (TL;DR: my graphs & analysis need…

  • SHODAN API in R (With Examples)

    Folks may debate the merits of the SHODAN tool, but in my opinion it's a valuable resource, especially if used for "good". What is SHODAN? I think ThreatPost summed it up nicely…

  • How Low Can It [The Mississsippi River] Go?

    I've heard quite a bit about the current problems with the Mississippi River and wanted to see for myself (with data) just how bad it…

  • Slopegraphs in R

    If you even remotely follow this blog, you'll see that I'm kinda obsessed with slopegraphs . While I'm pretty happy with my Python implementation , I do quite a bit of data processing & data visualization in R these days and had a few free…

201271
December4
  • CVE Queries Right From Your Browser's Address Bar

    I'm not sure why I never did this earlier, but a post on LifeHacker gave me an idea to add location bar quick search of CVEs (Common Vulnerabilities and Exposures), no doubt due to their example on searching LifeHacker for…

  • Easier HTML Table-scraping For Scripts With Google Drive

    We had our first, real, snowfall of the season in Maine today and that usually means school delays/closings. Our "local" station – @WCHS6 – has a Storm Center Closings page as well as an SMS notification service. I decided this morning…

  • The 'fing' Corollary

    Back in 2011, @joshcorman posited "HD Moore's Law" which is…

  • Forbes Graph Makeover Contest Entry #1

    Naomi Robbins is running a graph makeover challenge over at her Forbes blog and this is my entry for the B2B/B2C Traffic Sources one (click for larger…

November2
  • Election Trackers Moved From Flash to HTML5

    For those inclined to click, I was interviewed by Fahmida Rashid (@fahmiwrite) over at Sourceforge's HTML5 center a few weeks ago (right after the elections) due to my tweets on the use of HTML5 tech over Flash. Here's one of…

  • Speaking At RSA Conference 2013!

    Earlier this week, @jayjacobs & I both received our acceptance notice for the talk we submitted to the RSA CFP! [W00t!] Now the hard part: crank out a compelling presentation in the next six weeks! If you're interested at all in doing more…

October12
  • 'Sandy' Code Up On Github

    I will (most likely) not be littering the blog with any more updates to the 'Sandy' code unless they are really significant. You can follow along at home to any changes over at github…

  • Watch Sandy in "R" (Including Forecast Cone)

    This is a follow-up post to the quickly crafted Watch Sandy in "R" post last night. I noticed that Google provided the KML on their crisis map and wanted to show how easy it is to add it to previous…

  • Watch "Sandy" In R

    While this will pale in comparison to the #spiffy Sandy graphics on Weather Underground and other sites (including Google's "Crisis Center" maps), I thought it might be interesting to show folks how they can keep an eye on "Sandy" using…

  • Extracting OSE Firewall Alert Data From IMAP (Gmail) Mail To CSV With Python

    I played around with OSE Firewall for WordPress for a couple days to see if it was worth switching to from the plugin I was previously using. It's definitely not as full featured and I didn't see any WP database extensions where it kept a…

  • Get an R Data Frame from a MongoDB Query

    There's a good FAQ on how to do the MongoDB query -> R data frame but I wanted to post a more complete example that included the database connection and query setup since I suspect there are folks new to Mongo who would appreciate the…

  • Putting Cybercrime [Infographics] Behind Bars

    HP & the Ponemon Institute have released their third annual "Cost of Cybercrime" report and the web wizards at HP have given us an infographic from…

  • "Show in Finder" Broken? Here's One Potential Way To Fix It

    I'm not entirely sure what happened to cause it, but the "Show in Finder…" feature of a plethora of OS X apps broke on me just over a month ago. I poked around a bit, deleted a preference file here or there and un-tweaked some tweaks to…

  • DIY ZeroAccess Analysis Lesson #1 : Treat GeoIP Results Lightly

    We're still crunching through some of the ZeroAccess data and have some (hopefully) interesting results to present, but an weirld GeoIP anomaly has come up that I wanted to quickly…

  • DIY ZeroAccess GeoIP Analysis : So What?

    Did you know that – if you're a US citizen – you have approximately a 1 in 5 chance of getting the flu this year? If you're a male (no regional bias for this one), you have a 1 in 400 chance of developing Hodgkin's Disease and a 1 in 5,000…

  • DIY ZeroAccess GeoIP Visualizations :: Back To The Basics

    While shiny visualizations are all well-and-good, sometimes plain ol' charts & graphs can give you the data you're looking…

  • More DIY ZeroAccess GeoIP Fun : jQuery/D3 Choropleths

    In the spirit of the previous example this one shows you how to do a quick, country-based choropleth in D3/jQuery with some help from the command-line since not everyone is equipped to kick out some R and most folks I know are very handy…

  • DIY ZeroAccess GeoIP Plots

    Since F-Secure was #spiffy enough to provide us with GeoIP data for mapping the scope of the ZeroAccess botnet, I thought that some aspiring infosec data scientists might want to see how to use something besides Google Maps & Google Earth…

September2
  • Show Mac App Store Downloads Folder (and more!)

    @mroesch asked how to find the "Downloads" folder for the Mac App Store. Apple changed this from the time I posted the one and only app I ever did to MAS (a while ago). So, here's how to do it…

  • Businessweek's #Spiffy Rank-order Stock Market Slopegraph

    Businessweek's bleeding-edge approach to typography, layout and overall design is one of the features that keeps me reading the magazine in print form. The design team also often delves into experiments with data visualization and…

August2
July7
  • VERIS Community :: JSON vs XML

    You may not be aware of the fact that the #spiffy Verizon Biz folk have some VERIS open source components, one of which is the XML schema for the "Vocabulary for Event Recording and Incident…

  • "Fibonacci" Graphing

    Benchmarking/profiling is one of the fundamental practices for tech folk and Feng Shen's recent post to Hacker News continues this fine tradition with a look at startup & run times for " fibonacci(40) " in seven computer languages (two 'C'…

  • SSH Password Time-series Heatmap In D3

    In @jayjacobs' latest post on SSH honeypot passsword analysis he shows some spiffy visualizations from crunching the data with Tableau. While I've joked with him and called them "robocharts", the reality is that Tableau does let you work…

  • Security & Privacy Of Mountain Lion's Dictation Feature

    With Gizmodo doing a post hyping Mountain Lion's new dictation feature it's probably a good time to note that folks in regulated environments or who just care about security & privacy a bit more than others should not enable or use this…

  • Honeypot Analytics : 500 Pretty Passwords

    I had a few moments this past weekend to play with an idea for visualizing the passwords used against the honeypot @jayjacobs set up. While it's not as informative as Jay's weekend…

  • Beach Blanket Tweetup<br/>(a.k.a. GraniteSec Tweetup #5)

    Now, polish up your cruiser and get ready 'cuz @GraniteSec is heading back to Fort Foster [ info ] [ map ] at Kittery Point, Maine for it's fifth family & friends…

  • 2012 WhiteHat Security Website Security Statistics Report Redux

    The always #spiffy @WhiteHatSec released their 2011 Web Site Security stats report [ direct link (PDF)] last week (here's one of their teaser…

June17
  • RIM of Destruction

    The mobile world, it is explodin' executives flarin', app updates loadin' you're Bold's enough to sell but no one's buyin' no one believes in your PlayBook, but that's what your totin' and even the Curve won't keep you a floatin' but you…

  • Honeypot Analytics

    For this post (and probably a few subsequent ones), I'm taking the role of 'Pinky" to @jayjacobs' 'Brain' as I share some of my own analysis on the ssh honeypot passwords that Jay collected (you'll need to read his VZB post before…

  • Breach Reach : Google Insights

    We have a burst that – if one is generous – captures interest for about a week. Even more interesting is that it seems said interest was limited to very specific geographic…

  • Slopegraphs in Python – Failed States Index (Part 1)

    The Fund For Peace (FFP) and Foreign Policy jointly released the 2012 version of the "failed states index" (FSI). From the FFP site, the…

  • Tweet From Mountain Lion Notification Center

    If this feature was in Mountain Lion Developer Previews prior to revision 4, I didn't notice it, but you can now tweet directly from the Notification Center…

  • WEIS 2012 :: Best of the Best

    Sadly, I could not make it to this year's Workshop on the Economics of Information Security . However, the intrepid conference organizers were quick to post the papers that were presented, and I had a chance to sift through them to pick…

  • Just Like The Federation

    [ @hrbrmstr starts working in javascript again ] The Internets : What do you think? @hrbrmstr : It's vile. The Internets : I know. It's so bubbly and cloying and happy. @hrbrmstr : Just like the Federation. The Internets : And you know…

  • Slopegraphs in Python – Gratuitous Raphaël Animations

    So, I had to alter this to start after a user interaction. It loaded fine as a static, local page but seems to get a bit wonky embedded in a complex page. I also see some artifacts in Chrome but not in Safari. Still, not a bad foray into…

  • Slopegraphs in Python – Formatting Tweaks

    There were enough eye-catching glitches in the experimental javascript support and the ugly large-number display in the spam example post that I felt compelled to make a couple formatting tweaks in the code. I also didn't have time to do…

  • Slopegraphs Everywhere

    Not much progress over the weekend on my latest obsession (been busy enjoying some non-rainy days here in Maine). So, here are some other slopegraph implementations/resources I've found through mining the…

  • Slopegraphs in Python – Experimental Raphaël Support

    In preparation for the upcoming 1.0 release and with the hopes of laying a foundation for more interactive slopegraphs, I threw together some rudimentary output support over lunch today for Raphaël , which means that all you have to do is…

  • Slopegraphs in Python – Log Scales & Spam Data Analysis

    Given the focus on actual development of the PySlopegraph tool in most of the blog posts of late, folks may be wondering why an infosec/inforisk guy is obsessing so much on a tool and not talking security. Besides the fixation on filling a…

  • Slopegraphs in Python – Exploring Binning/Rounding

    One of the last items for the 1.0 release is support for multiple columns of data. That will require some additional refactoring, so I've been procrastinating by exploring the recent "fudging" discovery . Despite claims to the contrary on…

  • Slopegraphs in Python – Slope Colors

    As the codebase gets closer to the 1.0 stretch we now have the addition of slope colors for when values go up/down or remain constant between points. The code still only handles two columns of data, but the intent is for each segment to…

  • Slopegraphs in Python – More Output Tweaks

    The best way to explain this release will be to walk you through an updated configuration…

  • Slopegraphs – The Quintessential Tufte GDP Example Revisited

    If you're even remotely familiar with slopegraphs, then you'll recognize Tufte's classic 1970-1979 GDP chart example (click for larger…

  • Slopegraphs in Python – The Great Refactor

    Despite being on holiday, I had a spare hour to refactor the code (@mrshrbrmstr was joining the 1% in the hotel spa). It's up on github and now sports a spiffy JSON-format config file. You now must execute the slopegraph.py script with a "…

May10
  • Slopegraphs in Python – Attention to Detail

    In the previous installment , a foundation was laid for "parameterizing" fonts, colors and overall slopegraph size. However, a big failing in all this code (up until now) was the reliance on character string length to determine label…

  • Slopegraphs In Python – colors, fonts & alignment

    On the heels of last evening's release of Slopegraphs in Python post comes some minor…

  • An Homage To Flame

    They've been lookin' at me, but they never did see— no, no trace of me did they detect; Gave me time to collect all the data at rest. I've got so much in me: LUA, zlib & sqlite3– I can infect the USB in your hand. Don't you know who I am?…

  • Slopegraphs in Python

    I've been a bit obsessed with slopegraphs (a.k.a "Tufte table-chart") of late and very dissatisfied with the lack of tools to make this particular visualization tool more prevalent. While my ultimate goal is to have a user-friendly modern…

  • New SecurID Soft Token Cloning Weakness : What's The Risk?

    I posted a link to Twitter earlier on a recent discovery of the ability to clone RSA SecurID soft…

  • Feudal Japan's Haiku Clubs A Pre-cursor of Modern-day Twitter?

    I recently finished watching "Japan: Memoirs of a Secret Empire" [ Netflix | PBS | Amazon ]. It's a three-part documentary that centers around the 16th & 17th centuries (where a vast majority of my favorite samurai movies are…

  • Mountain Lion, AirPlay, Screen Captures & DRM

    I've been wanting to post this entry for a while, but I didn't have the opportunity to compel an extra pair of hands to assist with some necessary, salient portions of it until…

  • Off By One : The Importance Of Fact Checking Breach Reports

    I didn't read through the Massachusetts 2011 Report on Data Breach Notifications \[PDF\] until recently, but once I went through the report my brain kept telling me "something is wrong". Not something earth shattering, but more of a…

  • Is Your Organization Ready For a Risk Management Program?

    While the slides will be officially available from SIRA web site in the not-too-distant future—complete with video (for all the talks)—I figured it wouldn't hurt to put them up here as…

  • Both Candidates Weak On [SSL] Security

    While the two front-running candidates engaged in a bizarre, Klingon-esque ritual of hubris regarding which one was the better killer, their respective technical campaign staffers were failing to make the grade on security when it comes to…

April3
  • Angry Birds Keynote Theme

    If you went to SOURCE Boston this year (2012), attended my security awareness talk and liked the Angry Birds theme to the slides, here's a copy of the Keynote theme (it's not really a true Keynote theme as there are divergent slides I've…

  • Slaying the BEAST in nginx

    Just a quick post as I noticed that my nginx configuration was vulnerable to the BEAST attack thanks to the #spiffy SSL Certificate Tester from Qualys (I scored an "A" , btw…

  • A Month With AfterShokz

    Quick hit :: Over at the #tri blog, I've got a review of a relatively new bone-conducting headset by…

March4
  • Getting Homebrew Working in Mountain Lion Developer Preview 2 with Xcode 4.4 Developer Preview 2

    Work & home chaos has me a bit behind in the "ThinkStats…in R" posts, but I "needed" to get some of the homebrew kit working in Mountain Lion Developer Preview 2 (to run some network discovery tools while waiting for #4's surgery to be…

  • ThinkStats … in R :: Example/Chapter 2 :: Example 2.1-2.3

    As promised, this post is a bit more graphical, but I feel the need to stress the importance of the first few points in chapter 2 of the book (i.e. the difference between mean and average and why variance is meaningful). These are…

  • ThinkStats … in R :: Example 1.3

    With 1.2 under our belts , we go now to the example in section 1.3 which was designed to show us how to partition a larger set of data into subsets for analysis. In this case, we're going to jump to example 1.3.2 to determine the number of…

  • ThinkStats … in R (including Example 1.2)

    I thought it would be interesting to present some of the examples & exercises in the book in R . Why? Well, once you've gone through the material in a particular chapter the "hard way", seeing how you'd do the same thing in a language…

February1
January7
  • An Infosec Hippocratic Oath

    I swear to fulfill, to the best of my ability and judgment, this…

  • Google Spreadsheet "importHTML" Rocks For Quick Analytics

    I usually take a peek at the Internet Traffic Report (ITR) a couple times a day as part of my routine and was a bit troubled by all of the red…

  • USDA Driving Towards Both Food Insecurity And Cyber-Insecurity?

    It's rare that two of my passions—food and information security—intersect, but thanks to the USDA's announcement of their Blueprint For Stronger Service , I can touch on both in one…

  • Getting Things Done : A Cobbler's Tale

    Starting sometime mid-year in 2011, I began having more 'stuff' to do than even my eidetic memory could help with. It's not that I forgot things, per se, but the ability to mentally recall and prioritize work, family, personal and other…

  • Feed Link Has Moved

    Feedburner has borked the old RSS feed for the site and has completely disassociated me from it (meaning it's no longer in my Google Feedburner admin options and they won't let me re-claim…

  • Businessweek Infographic Illustrates The Pounding We Took In 2011

    Evan Applegate put together a great & simple infographic for Businessweek that illustrates the number and size of 2011 data breaches pretty…

  • Improve Your Security Metrics For $14.00USD

    First, go to this Amazon link and enter "ETXTBOOK" (no quotes) as the code, you'll get a credit of $10.00USD for Amazon Kindle textbooks. That credit expires on January 9 th , 2012,…

201155
December7
  • NEISTU 3.0 : Rise of the Tweetup

    It's that time again! Coming to Nashua, NH on 2012-01-21 : The New England Information Security Tweetup…

  • Three Resolutions For Web Developers

    I'm on a " three things " motif for 2012, as it's really difficult for most folks to focus on more than three core elements well. This is especially true for web developers as they have so much to contend with on a daily basis, whether it…

  • Three Resolutions For Mac OS X Users

    In 2011, we saw a large increase in web site exploits that exposed private user data as well as a breakdown in the trust of SSL (for various reasons) and the introduction of real malware on to the OS X scene. If there were just three…

  • An Open Letter to IT Vendors For 2012

    2012 is nigh upon us and with the new year, I am throwing down a challenge to each and every IT vendor out there. 2011 was a brutal year of incidents, breaches, outages and FUD and the last thing anyone needs is a repeat performance.…

  • Still Not A Fan Of Paywalls

    As you can probably tell from a previous post , I'm not a fan of paywalls—especially poorly implemented ones. Clicking on a link in an RSS feed post and having it land on a page, only to have it smothered in an HTML layer or — in the…

  • Predictions? Humbug! Resolve Is Where It's At

    This is the time of year when pundits and armchair/amateur analysts make predictions for the coming year. Given that only a tiny fraction of them predicted the Sonage of 2011 (not Sony specifically or the level of pwnage) or the…

  • You're The Mayor of FUDville!

    Given the plethora of FUD-dropping in the article, I could only think of one way to do it justice, and that was a paragraph-by-paragraph check-in via: Every FUD-check…

November1
  • DNSChanger Detector

    The FBI made a tool to help you determine if you were a victim of the DNSChanger…

September1
  • Why Didn't They Just…?

    A while back I was engaged in a conversation on Twitter with @diami03 & @chriseng regarding (what I felt was) the need for someone to provide the perspective from within a medium-to-large enterprise, especially when there are so many folks…

August1
  • Mid/Northern New England Tweetup

    It's at Fort Foster. We thought about it a bit late in the season so no pavillion, but I'll be there wicked-early and have a gazebo-like covering setup over some tables. I highly suggest bringing folding chairs. There is a nominal entrance…

June11
April5
  • Dropbox 1.2.0 Experimental Build "Fixes" Security Issue

    If you are concerned about the Dropbox design flaw exposed by the dbClone attack, then have we got a link for…

  • RLRAA - Real Life Risk Assessment Acronyms

    All the following newly-minted risk assessment types have been inspired by actual situations. Hopefully you get to stick to just the proper OCTAVE/FAIR/NIST/etc. ones where you…

  • A Fully Operational OS X dbClone

    The app can now backup/restore of local config, clone dropbox configs to a URL/file and also impersonate a captured Dropbox…

  • dbClone "hack" for OS X

    Moloch built a Windows & Linux impersonation/cloning utility in Python that was/is meant to be used from a USB/external volume. The utility can save the cloned host id to a local file and also has the capability to use a simple HTTP GET…

  • "Flatten" HTML Content (i.e strip tags) in Cocoa/Objective-C [UPDATED] [BUG-FIX]

    One of my most popular blog posts — 24,000 reads — in the old, co-mingled site was a short snippet on how to strip HTML tags from a block of content in Objective-C. It's been used by many-an-iOS developer (which was the original…

March6
  • Checkboxes Fail To Defend Maine Department of Conservation Against Attacks

    I tweeted a quick note about the 2010 Maine Department of Conservation state park pass ordering system breach . The brief AP story indicated that the breach itself was caused by a malware infection on systems at their SasS provider…

  • "Repairing" Strict Transport Security in Chrome on OS X

    One of my subdomains is for mail and I was using an easy DNS hack to point it to my hosted Gmail setup (just create a CNAME pointing to ghs.google.com ). This stopped working for some folks this week and I've had no time to debug exactly…

  • Crossroad of ERM and the Parallels to IRM

    I was reviewing the - er - highlights? - from the ninth ERM Symposium in Chicago over at Riskviews this morning and was intrigued by some of the parallels to the current situation in enterprise security risk management (the ERM symposium…

  • Remote Assistance/Information Gathering Aid - SupportDetails

    I'm putting together a computer & online safety presentation for an upcoming talk at a senior center in Portsmouth (NH) and came across Support Details in my information hunting trek. This site makes it dirt simple to get basic information…

  • Behind The Mask : Supporting The New CIO Personas

    This morning, @joshcorman linked to an article in the Harvard Business Review " The Conversation " blog that put forth the author's view of The Four Personas of the Next-Genereation CIO . The term persona is very Jungian and literally…

  • Micropwns :: Risk Microprobabilities for Infosec?

    I had not heard the term micromort prior to listening to David Spiegelhalter's Do Lecture and the concept of it really stuck in my (albeit thick) head all…

February23
  • Post-theft/loss Response & Recovery With Evernote

    Last night, the kids left the garage open after sledding all afternoon and I failed to perform my usual rounds due to still being horrendously ill. At some point between 23:00 & 05:30, miscreants did a snatch & grab on some electronics and…

  • Never A Better Time To Baseline

    If you're preparing to install Windows 7 or Windows Server 2008 R2 Service Pack 1 , now would be a good time to give Microsoft's Attack Surface Analyzer a spin. ASA takes a baseline snapshot of your system state and then lets you take…

  • The 5 Dysfunctions Of A Team

    The following excerpt is from The Five Dysfunctions of a Team: A Leadership Fable by Patrick…

  • Herding [Fire]sheep

    By now, many non-IT and non-Security folk have heard of Firesheep , a tool written by @codebutler which allows anyone using Firefox on unprotected networks to capture and hjijack active sessions to popular social media sites (and other web…

  • Fixing "Are you sure" In Media Upload (WordPress)

    If anyone is experiencing the "Are you sure..." problem when trying to upload media to your WordPress blog, it's usually due to a wonky plugin. In my case it was "Google Analytics 3 codes for WordPress". Hopefully this helps others who are…

  • Securing 'su' with Google Authenticator

    Google's new do-it-yourself two-factor authentication (Google Authenticator) enables you to setup stronger logins on your linux system. Nick Wilkens (@nwilkens) has a good/quick tutorial up on his company's blog for acquiring, compiling…

  • For Everyone Who Thought I Was Just A Zombie

    For Everyone Who Thought I Was Just A Zombie — rud.is blog archive

  • Metricon: Verification versus Validation

    Use systemogram to show what systems are supposed to do (very cool visualization for differing views of "security systems…

  • Metricon: Measuring Metrics Programs (Why Aren't We?)

    If metrics are valuable, why aren't we measuring them. Virtually no research on…

  • Metricon: Software Security's Futures Plural

    Metrics are the servants of risk management and RM is about making…

  • Metricon: Name Server Log Data

    "On the use of name server log data as input for security…

  • Metricon: Automated Incident Reporting

    Goal: make finland mostly harmless to the rest of the…

  • Metricon: Critical Consumption Of Infosec Statistics

    Every major infosec company publishes quarterly/yearly summary reports. Some based on survey, some based on real captured…

  • Metricon: Evidence Based Risk Management

    Better management through better measurement Speakers: Wade Baker and Alex Hutton and Chris…

  • "Web Development Is Dangerous"

    Those were the words that greeted me within five minutes of checking out the Flask microframework for Python web applications. I feel compelled to inline those four, short…

  • Quick Hits :: 2011-02-09

    Quick Hits :: 2011-02-09 — rud.is blog archive

  • Quick Hits :: 2011-02-08

    Quick Hits :: 2011-02-08 — rud.is blog archive

  • Quick Hits :: 2011-01-07

    Interesting points/counterpoints on the efficacy of Node.js being tied so closely to the V8 javascript engine: NodeJS: To V8 or not to V8 [bruno fernandez-ruiz] On Bruno’s Concern About the Current Coupling of node.js and V8 [jason @…

  • 'Spaces' for Windows

    I've been setting up a relatively new 64-bit Windows 7 Ultimate machine and decided to see if the virtual desktops landscape had changed much in the recent past. It's amazing that with all of the feature duplication between OS X, nix (esp…

  • AwesomeChartJS Meets Microsoft Security Bulletins

    I wanted to play with the AwesomeChartJS library and figured an interesting way to do that was to use it to track Microsoft Security Bulletins this year. While I was drawn in by just how simple it is to craft basic charts, that simplicity…

  • Backup Workflow

    I'm [still] a die-hard OS X user, despite the increasing gatekeeper motif Apple is sporting these days. My main computer is a MacBook Pro which I would stupidly run back into a burning building to rescue. Everything is on it. Everything .…

  • HDMI Overscan Tweak For Wimpy Windows Font Display

    I recently hooked up a Windows 7 box to my Dell ST2310 monitor and was surprised at just how horrid the fonts looked, especially since my MacBook Pro looks fantastic using both DVI and HDMI with the display. I even tried all the ClearType…

  • Bootstrapping The New Site

    A swirling mass of shiny new objects has caught my attention this year. Carving out a more dedicated space to document, opine and…