Category Archives: Announcements

PhD Complete!

It took another round of “longer than expected” because, while I passed my defense at the end of July, I had some requests to make significant changes to the dissertation before submitting my final copy, and that didn’t get wrapped up until early September with my advisor paying meaningful attention to what I was doing for the first time in years.
I ended up having to include a lot of the modern academic hype-spewing, stake-claiming bullshit I’ve developed a deep distaste for, but even with that I’ll admit it’s a much better document overall after the rewrite. It looks less negative than the earlier drafts, because they were largely written before my last “I give up, I’ll try one more stupid thing” experiment finally turned up something reasonably compelling.

The copy of record of the dissertation is published, here are local PDF copies of the deck from my defense and my dissertation. More information below.

Then I had several weeks of catch-up for all the many things in my life I’ve been shorting time to get done, while I was having the apparently requisite back-and-forth with the graduate school about petty formatting matters, but it is done.

Continue reading
Posted in Announcements, Computers, General, School | Leave a comment

Finally wrapping up my PhD!

The largest reason I’ve been starving every one of my other interests, like posting here, for the last several years is finally wrapping up, and looks like it will get me a PhD in Computer Science.

Wednesday July 24, 2024. 1:00PM. 101 Davis Marksbury Building.

Title: Post-Capture Synthesis of Images Using Manipulable Integration Functions
Abstract:
Traditional photographic practice, as dictated by the properties of photochemical emulsion film, mechanical apparatus, and human operators, largely treats the sensitivity (gain) and integration interval as coarsely parameterized constants for the entire scene, set no later than the time of exposure. This frame-at-a-time capture and processing model permeates digital cameras and computer image processing.

Emerging imaging technologies, such as time domain continuous imaging (TDCI), quanta image sensors (QIS), event cameras, and conventional sensors augmented with computational processing and control, provide opportunities to break out of the frame-oriented paradigm and capture a stream of data describing changes to scene appearance over the capture interval with high temporal precision. Captured scene data can then be computationally post-processed to render images with user control over the time interval being sampled and the gain of integration, not just for each image rendered but for every site in each rendered image, allowing the user to ideally expose each portion of the scene. For example, in a scene that contains a mixture of moving elements some of which are more brightly lit, it becomes possible to render dark and light portions with different gains and potentially overlapping intervals, such that both have good contrast, neither one suffers motion blur, and little to no artifacting occurs at the interfaces.

This thesis represents a preliminary exploration of the properties, application, and tooling required to capture TDCI streams and render images from them in a paradigm that supports functional post-capture manipulation of time and gain.


So excited to be rid of this thing. It’s a genuinely nifty idea, and sort-of the idea I started out with, but I’m very tired of looking at it.

If any internet friends want to come watch me talk shit about it for ~1 hour, you’re welcome.
I’ll post my thesis and slides after it’s done.

Posted in Announcements, Computers, General, School | 1 Comment

Recent Intermittent Outages

There have been some intermittent issues with this site for the last few days because some shitheel has been hammering the server that hosts web-facing things for me with automated script-kiddy bullshit that my existing hardening didn’t automatically catch.

Roughly 10GB of it in the last week.
With user agents set to around 500,000 different Chrome versions.

I noticed because the (small) box has been OOM killing processes any time the stats tools look at the logs of this behavior.

Most of it came from one address (in the AliCloud IP allocation, as always. I’ll continue to half-pretend it’s just a compromised VM) so I cleaned up the worst of it by adding an nftables rule to drop anything from that saddr, and did a little filtering to the logs to fix the OOM situation.

I’ve also turned on some rate-limiting features in nginx, and rigged fail2ban to block repeated violators of the rate limit, so hopefully things are more permanently taken care of.

Posted in Announcements, Computers, General | Leave a comment

Not that I’m a frequent IRC user for the last several years, but since the freenode implosion seems to have settled out as a real thing, I’ve gone ahead and registered myself as pappp on oftc and libera.chat where the … Continue reading

Posted on by pappp | Leave a comment

PhD Qualified

As of about a week ago, I’ve apparently passed my Qualifying Exam research proposal, which was my last hurdle to PhD candidacy.

My PhD project is on TDCI (Time Domain Continuous Imaging) – an alternative imaging technology that folks in the research group I’ve been working with for almost 15 years now have been building, with my help, for the last 6 years. The basic premise is that digital sensors are not, in fact, re-settable film, and we should leverage them accordingly. By rough concept, TDCI capture is like recording the waveform of incident light from each sensel of the sensor, then computationally exposing that data into an image after the fact, to maximize information capture and so that the sensor and shutter behavior can be tweaked after the fact.

The specific deliverables I carved out as a PhD project were building a high-quality capture device (By hacking a mirrorless body), adding non-uniform exposure behavior to TDCI integration (specifying functions and regions for integration), and building a decent user-facing tool for rendering TDCI images from TDCI captures (A DSL + a GUI to specify common options) – because these were some fun tool-building to carve out of the larger research needs.

The deck with notes that I used are uploaded here. Some of the notes are …not entirely proper… because they were second-screen things for my consumption.

It’s a slightly odd situation because I’ve been working things that feed into this project for 6 years (and 11 papers), and technically started UK’s CS PhD program in 2012 (admittedly, I just signed up so I could keep taking classes while I finished my MS work, finishing the degree is a little “eh, might as well”), but it looks like I’m getting away with it. Also odd, thanks to the COVID-19 situation, it was done via zoom, in pajama pants.

The only points in the presentation I did things I was immediately not happy about were:

  • I was asked about doing spatially continuous models, and spent some time babbling about sensor spatial quantization and fill factors instead of just saying “diffraction” and shutting it down.
  • I didn’t include anything for the “TDCI makes exposure time and shutter angle independent” concepts in the slides, and it came up twice.


Plus I have the concern that Rafi (my Co-Chair) soft-balled the hell out of me and pitched a bunch of questions I’m reasonably sure he knew I had prepared spiels for from my materials. That’s not his usual behavior by reputation or observation, and it makes me slightly paranoid.

Now to finish out the deliverables and actually become Dr.

Posted in Announcements, General, Navel Gazing, School | Leave a comment

Masters in Electrical Engineering (Finally) Collected

That MSEE that I was going to finish in 2011, 2013, and 2015? I blew a couple months in the last year to get all the ducks in a row and actually collected it before the credits expired.  Huge thanks to Dr. Aaron Cramer, the current DGS for UK’s ECE department who went to great lengths to deal with the bureaucratic issues my lackadaisical attitude about credentials created.

Thesis is “A Compiler Target Model for Line Associative Registers” document and defense slides with notes linked.

The LARs design is fundamentally interesting, but the compilation work the MS is based on is not my favorite work I’ve done.  The core initial assumption (that LAR allocation and register allocation were more-or-less the same problem) turned out to be very, very wrong, and the implications of that wrong assumption turned out to be far reaching, turning a 2-year MS into a decade-long ramble. It’s not as depressing as I thought it would be when I tried to finish in 2015 (and was blocked by bureaucratic fuckery) because I did eventually determine that LARs aren’t subject to the “you can’t statically schedule around dynamic memory behavior” thing that doomed VLIWs, and in fact LAR allocation can be done greedily in ways that register allocation cannot.

The thesis is more or less assembled from three false starts plus the final effort; my initial research start with the wrong assumptions, my “oh, we’re wrong, but it’s OK” pass, and my “oh shit, we’re screwed, this won’t work and there his historical evidence to show it” pass, plus the final “I’ve figured out how this is tractable and possibly even desirable, but I’m out of time and fucks, so here’s the rough solution” pass.

I formatted the thesis in LaTeX (of course), using the ukthesis.cls class I found on the UK Math site that Eric Stokes, a former student, made a decade and change ago since UK is too chickenshit to provide a valid one of their own.  I did have to hack it a little bit, turn off some features, tweak the front matter, etc. to make it acceptable to the graduate school, and update a few things (eg. adjusted to use biber for references).  There are a few things in the document that should be in the class, and things in the class that should be in the document, but the easy-to-fix stuff is fixed.  Minimal example pulled from the accepted version with makefile and such here to save future students the extra annoyance.

The presentation is in beamer using the Owl theme, which was a delightful recent discovery – someone has made a beamer color scheme with a dark background and colors that actually look good on a projector. I (much to one of my committee member’s disappointment) went with the bullets-to-keep-me-on-track-while-I-talk style slides instead of my usual “amusing semi-relevant pictures to key off of” scheme.

It’s nice to be done and only have one, significantly less depressing, long-term academic project people are grumpy about my progress on.

Posted in Announcements, Computers, General, School | Tagged | 1 Comment

Self-Hosting News Sharing and Discussion

Back in 2013 when google killed Reader I mused about self-hosting my communal news shit-talking.  With the imminent death of G+, which I moved to despite knowing better, I’m looking into it again.  This process might (will) cause some spurious content to appear in the main feed while I try things. I’m still on (and pretty committed to) tt-rss on the news-consumption side, I’m poking around ways of rigging the published feed from that into a comment-able format.  Hopefully with a minimum of work and maintenance overhead on my part, and without hooking myself to yet another platform that won’t monetize well and will thus die.

Success!: The news tab in the nav-bar now takes you to a page that shows the things I publish from my Tiny Tiny RSS instance, complete with a place to yell at me for my hot takes, or share your own thoughts. It’s rigged up with FeedWordPress and a little bit of theme hacking, and can itself be subscribed as an RSS feed. There is a little bit of jank with nested feeds, but at least it’s in house.
A less lazy me would probably do this with a static site generator, a comment system (like isso or something) and some scripts, but I all sorts of don’t have time for that.

Posted in Announcements, DIY, Entertainment, General, Meta | Leave a comment

Apparently a WordPress update caused some subtle breakage here a while back. The site has been spewing, among other things, a bunch of “&raquo” escapes in places that end up encoded as XML (thus breaking, among other things, RSS feeds). … Continue reading

Posted on by pappp | 1 Comment

New Data Integrity Tools

I’ve recently added a couple tools to my standard set, and have at least a 4x improvement in the safety of my data by doing so.

The process was complicated a bit because I’ve become very sensitive about only depending on FOSS tools (ex:As much as I like SublimeText2, I stopped using it because it once demanded to be updated before it would run.), but frankly I think that constraint produced better results than I would have reached without it. Because it was something of a hunt, I’d like to recommend the particular tools I settled on, in particular are KeepassX, Attic, and Seafile, described individually below.
Continue reading

Posted in Announcements, Computers, DIY, General, Objects | Tagged , , , | Leave a comment

Spring 2014 Impressions

I’ve been terrible about writing things up lately, but want to at least put my semester impressions on the head of the chain of such posts.

One of my overall experiences is that teaching (and also, taking classes outside my typical discipline) has made me much more talky in class.

CS541: Compiler Design/Finkel
It’s a core class in the CS program, but I’m taking it this semester because Dr. Finkel is teaching it, and his classes are always excellent. I believe this leaves only one compilers/programming languages class offered at UK I haven’t taken, and that one is in the math department and entirely not my thing. I’m just shy of qualified to teach this material, so there’s a slightly odd dynamic in which I wait before delivering answers, and Raphi is frequently imposing a cooldown on my responding in class anyway.

We’re building a compiler for a cleaned up, stripped down C-Like language in Java, basically following Crafting A Compiler. I’ve used an old version of Fischer LeBlanc as reference for compiler material and like it better than the others I’ve used, so I figure this should work out well. Thus far, I’m having more trouble getting myself back into the Java mindset (So OOP. Much Type System. Wow.) than with the Compilers material. High expectations based on experience.

CS621: Parallel and Distributed Computing/Zhang
It’s basically a class in MPI. I’m hopeful that having some nice assigned MPI projects to work on will be good for me. There are two problems though: first, I’m afraid it’s going to turn into a linear algebra class that just happens to take place on parallel supercomputers. Worse, the lectures are terrible. The organization is bad. The slide decks are bad. The Englishrish is bad. The quality of response to questions is bad. It may actually be worse than the terrible Differential Equations with Jar Jar Xin class I took as a freshman. However, it is of the form “CS6xx,” and the content is at least in principle something I want, so as long as the projects and grades turn out, I’m happy. Kind of pissed that the crap lecture overlaps the Friday CS BoF and associated conversation.

GS630: Instructional Technology/Rice
I’m having so much fun in here. It basically consists of a bunch of jaded grad students discussing instructional technology for college teaching, largely from experience, lead by a specialist in the area from CELT. Some of the discussions basically go like this. I’m afraid I’m becoming “that guy” in here because I talk disproportionately and occasionally convivially argue with or reference outside material to the instructor, but again, I’m having a ton of fun, and it counts toward my PFF certificate.

GS610: College Teaching Seminar/Worley
I typically don’t post up my beginning of semester impressions post until all my classes have met, but this one doesn’t start until well into February. At some level, I’m pleased that it’s a general college teaching course instead of a department-specific one, I have trouble imagining a full semester in-discipline teaching class that didn’t turn into a myopia reinforcement program. It should be fun, all the GS classes thus far have been.

I’m not teaching this semester, and hopefully will be getting to more research projects with the freed up time.

Posted in Announcements, General, School | Leave a comment