There are a lot of scanned books in the DjVu format, but many of them are not professionally scanned. One of the DjVu books I encounter has different page sizes (page size changes every few pages). There are nice pdf scaling programs, but no such program for DjVu exists. So I made my own. The… Continue reading Fixing DjVu eBooks with Problematic Page Sizes
Month: August 2017
The Making of the Library Occupancy Estimation System, Part 5 – the Enclosure
It’s almost time to deploy the ESP8266s. I switched from the previous board to wemos mini lite, a smaller board with a variant of ESP8266 (ESP8285). The ESP8285 includes a on-chip 1M EEPROM, reducing the cost. The most important difference is that the newer boards don’t have pre-soldered pin headers. Desoldering pins from the previous… Continue reading The Making of the Library Occupancy Estimation System, Part 5 – the Enclosure
The Making of the Library Occupancy Estimation System, Part 4 – the Frontend
The only part missing was a front-end. It is 2017, and splitting up front-end and back-end is now a must. This is even more true in this project: serving html and other resources from my free Heroku server does not sound like a good plan – with only 1 web instance, the server can be… Continue reading The Making of the Library Occupancy Estimation System, Part 4 – the Frontend
The Making of the Library Occupancy Estimation System, Part 3 – the Server
So the sniffer part was complete. The server was the missing piece of the puzzle. The server needs to do several things Receive data from the sniffer and decrypt Save sniffed data (probe requests) to a database Analyze probe requests and deduce occupancy Provide public APIs for retrieval of occupancy information I’m using python3 for… Continue reading The Making of the Library Occupancy Estimation System, Part 3 – the Server
The Making of the Library Occupancy Estimation System, Part 2 – the Sniffer
So I proved that this idea is somewhat feasible. There were two major problems that need to be addressed: 1. there were too many probe requests, 2. there needed to be some way to send found devices back to a server. The “too many probe requests” problem was easy to fix. I implemented a bloom… Continue reading The Making of the Library Occupancy Estimation System, Part 2 – the Sniffer
The Making of the Library Occupancy Estimation System, Part 1 – the Idea
So… Here’s a problem that most CMU students encounter on a daily basis: finding someplace to study. This process is surprisingly labor intensive: Here’s an example: You decided to find some place to study. You walk to Sorrells Library in Wean, and it was full: after the recent renovation the library has become one of… Continue reading The Making of the Library Occupancy Estimation System, Part 1 – the Idea