ryanwold.net

A civic-minded citizen seeking the singularity

Back to Entries

Ruby PDF Writer

release
Date: 2009-12-06
Tags: ruby visualization pdf work

At MITA, there was an an older model HP Laserjet plotter-style printer, and I really wanted to make use of it.

Because I had discovered many invalid Re-Enrollment records in the school's PowerSchool system, I decided to visualize the records to get a clear sense of the scope of the issue and be able to communicate with the staff.

I used Ruby and Rails to pull data from PowerSchool (with Oracle ActiveRecord Adapter), and created a .pdf from the data. The result was a list of every student, with each of their prior Re-Enrollment records and their current Enrollment information mapped across the x-axis (time).

I'm fascinated with visual information. A few thousand records listed in table/spreadsheet format doesn't compare to a comprehensive graphic.

Current technology enables and promotes the scaling and resizing of images and work areas. By visualizing the enrollment records in PowerSchool,

I was able to quickly identify erroneous records, which could now be scoped and addressed. The visualization has a sort of artistic value of its own, representing our student's history with the school. Making implicit data explicit through visualization can help groups develop a shared understanding of a tangible representation; higher resolution in some sense.

Results

The resulting image was helpful in illustrating patterns of data and the outliers to the data. For example, each enrollment was color-coded for grade level as well, showing how classes of students progressed (and sometimes not) through each grade. Some students would leave and return. However, the graphic clearly showed invalid enrollment records for a group of students. It also displayed other issues with the data, like duplicate enrollments and invalid Entry and Exit Dates.

Possible Avenues

A logical continuation for this graphic would be to incorporate grade data as an additional layer. Additional variables (Attendance, Test Scores) could be layered on, which could highlight other patterns and/or correlations with the data.

By Ryan · © 2009–2026 Ryan Wold

Licensed CC BY-NC 4.0. AI training requires a license — machine-readable terms.

Enjoyed this? — any BSV wallet, HandCash, or plain old dollars.

Leave a tip

Tips go directly to a Bitcoin SV address I control — peer to peer, no platform in between. A few thousand satoshis is a fraction of a cent; it's the gesture that counts.

From any BSV wallet

Scan the QR code with your wallet's camera, or copy the address.

177DwUfSTW8RkFBJzYYcgr1YB8ngbhTYAc

With HandCash or any paymail wallet

Paymail is an email-style address for Bitcoin wallets. Send any amount to afomi@handcash.io

First time using Bitcoin? Yours Wallet is an open-source browser extension wallet, and HandCash is an easy mobile wallet — either takes a minute to set up.

Prefer regular money? Support via OpenCollective.