Author Archives: redpeas


I’m trying to animate the iQ logo:


I’ve got this part down:



IR Basics

I’m relating what I learn here, to what I am applying to iQ. Here I’m reiterating some key terms; follows by a definition, an IR Book example, and an iQ example.

DOM Tidbits

  1. I’m moving forward with the Indexing idea. And I’m learning a lot in the process. Here I’ve summarized a few things:

Continue reading

Indexing by ID

I have a new strategy for iQ. Inspired by Information Retrieval, HTML5 WebWorkers, and Set objects. Here’s the problem:

Continue reading

The Git Trinity

I use Git for personal projects. I got frustrated with the Git UI clients. I would get myself into tree conflicts (or other problems I still don’t fully understand), and the UI couldn’t get me out. Plus I’ve been compelled to learn more about console programming.  So I started using Git Bash — the Linux-like console. And I learned a lot.

Continue reading

Python Docstrings 101

Good code is self-documenting code.

That’s why I’m getting into the habit of using Python Docstrings.

Here is a summary:

  • Where
    • First statement in module, function, class, or method (the “thing”) definition
  • Why
    • Becomes the __doc__ special attribute of the “thing” it’s documenting
  • What
    • Don’t document the “thing’s” name or “signature”; you can get that with introspection.
    • Do document the return value; you can’t get that with introspection.
  • How
    • Triple double quotes (can be r (raw) or u (unicode))
    • Prescription > description. Method’s effect, not only its result.
  • More

iQ, meet DOM

I’m spending some time on iQ today.

I’m trying to stay mindful of performance impacts.

  1. I anticipate users may want to work on large iXBRL documents. MassiveDynamic is 2.8MB.
  2. Or users may leverage iXBRL document sets, that they should like to query as a single document
  3. Or iQ tools might make it possible to stitch together disparate iXBRL documents (i.e. Google vs Apple)

iQ is document-based. It’s not supposed to handle database-sized quantities of data. But I don’t want to be short-sighted.
I wanted to apply what I’ve learned recently about document.querySelectorAll.

The results are enlightening!

Continue reading

Tagged , , , , , , ,


I’m working on a web app for craft breweries. The app will help them file information about their production to the US TTB (Alcohol and Tobacco Tax and Trade Bureau) Midway through I realized it’s a perfect opportunity for iXBRL. Continue reading

Introducing iQ

I’m working on a new language. It’s called iQ.

iQ stands for “iXBRL Query”, where “iXBRL” stands for “inline XBRL”, and “XBRL” stands for “eXtensible Business Reporting Language”

It’s Javascript. It’s inspired by jQuery, and the concepts of Domain-Specific Languages (DSL) and Literate Programming.

Check it out the iQ source code by clicking here:

With iQ, you can easily locate values and identify patterns in financial data. The goal: freely enable anyone with an interest in finance to make meaningful stories out of financial data… Continue reading

Tagged , , , , , , , , , ,

Don’t Be So Negative: XBRL Values (1/3)

Paul Warren recently revisited the popular discussion of negative values in XBRL . Many experts consider negative values the biggest quality/comparability issue in XBRL. If it’s that important, I want to chime in! This post is hopefully the first of a few on the subject. This post will focus on my experience in creating XBRL and the rationale I apply to the problem of “negative values”. Continue reading

Tagged , , , , , , , , , , , , , , ,