3-28 will forever be known as the patriots superbowl LI comeback remembrance day here in new england. even now, looking at the score with 2 minutes left in the 3rd quarter, it almost seems impossible. they ended the 3rd quarter with just their first touchdown, but even that they botched up, missing the extra point field goal kick. with just a quarter left, they needed 19 points to tie, and that's assuming somehow the falcons don't score any points.

yesterday i scrubbed the bathtub, today i did two loads of laundry, changing my sheets in the process. for lunch i finished the yogurt, but i still have some leftover granola and fresh blueberries. i cleaned my bedroom a bit, neatly stacking the boxes that used to be in the closet (temporary in my bedroom because of the grow closet).

i inspected the trek mountain. that loose chain problem i saw had more to do with if you pedaled backwards, as the slightly rusty chain had a tendency to bunch up. i put the bike in the middle gear, which should help a bit. i also wheeled out the red schwinn, see if i could fix it as well. i remember the rear tire has a tendency to rub against the fender, but it looked fine today. i pumped up both tires. maybe the problem happens when you ride the bike. i don't know if karen can ride it anyway as it seems a bit tall for her.

i went to market basket in the afternoon to get some groceries. i wasn't going to make anything tonight (still had some kung pao chicken leftovers) but i had enough ingredients to make a quiche, just needed some cheese and spinach. i also bought a bottle of drain-o gel, started noticing my bathtub was slow to drain again. i'm been pouring down a kettle of boiling water every morning after my shower with the hopes of clearing up any clogs but i'm not sure if that's working.

when i returned home i turned my trek utility bike upside down so i could inspect what was making that rickety sound. originally i thought it was the bottom bracket, and wanted to see what make and model it was so i could order a replacement and locate the necessary tools. but what was very obvious was the kickstand was misaligned. so misaligned that the back of my left pedal arm kept hitting it every time i pedaled! so that was what was making that sound!

an easy fix, if i could adjust the kickstand. i got my tools and tried to loosen the bolt holding the kickstand bracket clamp to the frame. no matter how hard i pried, i couldn't loosen that bolt. this would require some pretreatment with so oil first to penetrate inside the bolt. but before i went back inside to get the WD-40, i thought maybe i could just whack the kickstand back into alignment. i didn't even have to whack it, as a forceful pull was enough to get the kickstand back in place. the case of the rickety bike pedal has been solved!

as mentioned earlier, i finished the kung pao chicken leftovers for dinner. karen came home right when i was finishing eating in the living room. she cooked up some dinner herself, fried a burger on the stove, which naturally stank up the house, like having a barbecue indoors. i bit my lip and said nothing. as soon as she cleaned up afterwards, i can pretend it never happened.

i worked on consolidating the justified photo mosaic code with lightbox and lazy loading. by the afternoon i managed to combine lightbox, by the early evening i got the lazy loading code to work as well.

it's a little weird but it works. the photo mosaic displays the photos using neither img or div tags, but rather url anchors with background images. since these were anchor points, i managed to get lightbox to work with them. it's been almost a decade since i last updated my lightbox code, there's been some improvements. for one thing, images open to fit the screen, instead of running off the page like i had before. i also made it so there's wrap-around scrolling. the good thing about the new code is it's written in such a way that legacy lightbox code still worked. i also spent some time tweaking the css so the new lightbox layout resembles the old layout (with a white background for the description text and index numbers, the default setting is transparent background).

getting lazy loading to work was a bit trickier, and i wasn't even sure if it was possible. it saw an example where it lazy loaded the background image, which was what i was trying to do. it involved using a tiny grey placeholder image, and putting the real url of the image in a data-original tag inside the hyperlink tag. i sort of figured it out by trial and error, and was surprised when it worked.

using an auto-generated justified image mosaic code will save me the trouble of having to manually code the tables to organize my photos. there also has to be an option to see a larger version of the photo, and lazy loading so it doesn't load all the images at once and bog down the page. nevertheless, there's still a few issues. for one thing, for every photo i have to write the image url twice, once for the lazy load, once for the hyperlink. it'd be more elegant if the two different code can extract that info from the same source. secondly, with the justified image mosaic i'm not creating thumbnails for the time being. the images that are displayed are the actual-sized images, just scaled down. the bad thing is it increased the data stream, but the good thing is on a high-resolution screen the images - though small - are much clearer. the mosaic code allows for thumbnails but for the time being i'm just sticking with full-size images. third, the mosaic code is actually responsive - meaning it will reconfigure the layout based on screen size - but i'm using it in a fixed div tag, so that responsive capability is currently wasted.

here below is my first live example of a lightbox-lazyload-mosaic. i've been fermenting my sichuan-style sauerkraut for over a month now, it's finally ready to eat. it wasn't fizzing like a typical jar of sichuan paocai, simply because the airlock allowed the carbon dioxide to escape so it could never be carbonated. it did smell like sichuan paocai, but not as strong because of the escaped gases. there was a cabbage leaf plug which i tasted a little bit but it was kind of soggy and didn't taste all that great so i tossed it. as for the sichuan sauerkraut itself, it does taste like sichuan paocai, but the flavor isn't as strong, the shredded cabbage has a softer texture. another problem is too much of the fluids had escaped, which is typical of my jar sauerkrauts, so the final product was a little dry. i should try it again with a taller jar (2 quart jar) so there's plenty of head room to prevent the juices from overflowing out the airlock.

(if you don't see the new content, you may have to clear your browser cache of outdated images/files using the preferences; it was something i had do on both my laptop and phones)