Sad rant from a horny teenager


The other day I was driving with my teen-aged daughter who was in a sad, weepy mood. I asked her what was bothering her. She started to sob and said to me "I am so stressed because I am so horny all the time. I see a cute boy and my body says 'I would fuck that', but I don't even know how to fuck!" Sob, sob, sob ...

This is the same daughter who struggles with tampons because, as she says, "I know it's supposed to go in my vagina, but I can't figure out where my vagina is."

The struggle is real.

US Presidential Debate 2020-1


Donald Trump and Joe Biden, the two candidates for president nominated by the US duopoly held a debate last night. "Minor candidates" were pointedly not invited. If you didn't watch it you did not miss much. There was a lot of shouting, interrupting, and name calling in between most of the same talking points that are spouted by anonymous commenters on the internet.

The two men are quite old, but overall Biden looked more affected by age, where he would sometimes struggle to remember something. Biden also has a much slower way of talking, almost like he knows he doesn't have much to talk about and so talks slow to use up all the time on one idea. This might be the election where the VP choice is the most important, Donald Trump is already the oldest US president, and Joe Biden is even older.

The tone of the debate was not so much a serious presidential forum, but more like two trolls in an internet comment section going back and forth and arguing over each other. For example, the zingiest comeback of the night:

Biden: "First of all, my opponent does not know what he is talking about, and number two -"
Trump: "You're a number two."

There were a lot of loaded questions of the form: "Mr. Trump, given the fact that (leftwing talking point) why should voters listen to you?", and "Mr. Biden, since it is true that (rightwing talking point) how will you handle things?", which many times led to the moderator never actually finishing the question because the candidates wanted to jump in and challenge the assumptions he was loading into each question. The moderator should have just stuck to questions to prompt the debate, not interjecting his own point of view into it. The moderator also did a poor job of getting the candidates to not talk over each other.

Trump spent the night talking to the people in the room with him, Biden and the moderator, which seemed natural. Biden, on the other hand, took several moments to look into the camera and try to talk directly to the people watching. It came across as uncomfortable and slightly condescending, like he was trying to tell me what I was supposed to believe.

There were a few questions that each candidate sort of dodged or only answered vaguely before moving on to their own pet topics, but there was one question that stood out where Biden actually refused to answer the question. The topic was the Supreme Court, and the moderator asked something like "Some on the left have suggested 'packing the court', adding additional justices, would you do that if you were elected?" and Biden flatly refused to address the topic. Trump then asked him who he would pick, where is his list (Trump has published a list of possible judges to pull from for the Supreme Court, which was one thing that got some of his less enthusiastic supporters on his side, they figured they at least knew what sort of judges he would appoint) and Biden basically ignored the challenge.

Overall, I would say Trump won this debate. He came across as more lively, more in command of his facts, and more assertively executive. He may have said some things that were not true, but he sounded like he believed every last one of them and you should too. Biden seemed to be trying to take credit for anything good that happened during the Obama administration, but everybody knows the VP pretty much does nothing so the brags sounded hollow.

The Dumbest Internet Comment re. Amy Coney Barrett


Since the death of Ruth Bader Ginsberg has left an opening on the US Supreme Court, and the attention of the media has turned to Amy Coney Barrett, who appears to be President Trump's leading candidate for the spot. Trump has said that he will announce his nominee on Saturday, but of course nobody wants to wait that long before talking about the possible nominees. In the comments section of one news article, a random commenter said:

Why does everybody keep using her middle name? Does she think she is special or something?

Seriously? The seat was left vacant by the death of Ruth Bader Ginsberg. She was the second female justice on the US Supreme Court, having followed Sandra Day O'Connor. If the 2016 presidential election had gone differently, the new justice would have been named by Hillary Rodham Clinton. You don't have to look very far to find professional women who are commonly referred to using both their maiden and married names.

Anyway, my impression of the situation is that the president and the senators were elected for a set period of time, and so even though we are close to an election it is still their job to nominate and approve (or reject) new justices. This despite the arguments that the Republican senators made in 2016 that it was too close to the election to move on a new justice; they were wrong then and the argument is still wrong now. One theory that I saw recently was that in 2016 the Republicans never voted to reject Obama's nominee so that if Trump lost they could still hold hearings and approve Garland after the election, because he was probably a better choice than whoever Clinton would nominate.

As to the rumored nominee Amy Coney Barrett, in my admittedly brief reading of some of her rulings she seems OK. On a scale of BAD (Breyer, Kagan) - (Sotomayor) - (Roberts) - (Thomas, Alito, Kavanaugh) - (Gorsuch) GOOD, my guess is that she will fall somewhere between Kavanaugh and Gorsuch.

Things I have learned about setting tiles


For some time now my shower faucet has been leaky. I have tried to fix it a couple times, but it seems the problem requires replacing the whole housing instead of just the handle part. Meanwhile, a little while ago somebody slipped in my bathtub and tried to steady themself by bracing their hand against the soap holder. It snapped off, leaving a hole in the tiles and a long crack across the rest of the wall. The tiles in the bathtub were put up by a previous owner, they are plain white and rather boring. So my wife and I thought this would be a great opportunity to upgrade our bath with a new set of tiles and at the same time get the plumbing to the shower replaced. We contacted a contractor with whom we have worked in the past, got a bid, and ordered some tiles. We waited a few weeks for when the contractor said he would have time for us, and on the day he was scheduled to start working we waited for him to show up. And then we waited. And waited, all day. No contractor, no call, no text message, nothing. And nothing the next day. Or the whole next week. How do you agree to do a job and then not even answer your phone anymore? Maybe he died, I have no idea.

Meanwhile, we had taped some plastic over the hole in the wall to try to keep water out and the faucet seemed to be leaking more than ever, more of a flow now rather than a drip, and the hot water steaming up the house was fighting with the air conditioning so our bills were doubled from the month before. We gave up on the first guy and contacted a new contractor.1 This guy actually showed up a couple weeks later. He ripped out the wall around the tub and found out the insulation behind it had become moldy around where the hole in the tile was, and so he replaced the insulation and put up new wall boards. That doesn't seem like so much, tear out a wall and insulation and replace the wall, right? Well, this had taken him a week and a half. He showed up late every day he was working, he was doing this as a side job so he could only work every other day or so, and when he was at our house he spent more time outside smoking or talking on his phone than actually working. And one of the two major problems we wanted to fix in the first place, changing out the plumbing, he finally admitted he didn't know how to do so we had to get a different guy to come in and do that for him. And he never cleaned anything up, the whole house was a mess. So at about 10:30 on a day he was supposed to be there before 9 we finally called and told him to come get his tools and stop work.

That left us with a bathroom that still needed tiles, so I got to learn how to put up tiles. I watched a few videos online, it didn't seem like it would be so hard. Now that I am done putting up the tiles, here are some things I learned:

About the mortar: it is important to get the mortar the right consistency, it should be a thick paste; it should be just thick enough that if you scoop some on a trowel and hold it vertical the mortar does not flow off. If you have too much water it will be too runny and will just drip everywhere and make a mess and not stick to the wall. If you don't have enough water you will get clumps and it just won't spread evenly or stick to the wall. Sticking to the wall is important, that is the whole point of the mortar. I found that it is better to mix small batches of mortar more frequently rather than having one big batch; as it sits the mortar gets thicker and harder to work with, and you end up having to throw a bunch of it away at the end of the day if you make too much.

Speaking of messes, in one of the videos they mentioned taping a sheet of plastic down to protect the tub. I didn't think that would be important, since I was going to be careful, but I am glad I did. Even if you are careful you are going to drop some globs of mortar, and you end up knocking down lots of dried bits of mortar, so it is good to have that plastic sheet to catch everything.

Measurement is important, and don't assume that whoever built the walls before you made everything square. As the old adage goes, "Measure twice, cut once. Measure once, cut twice." Measure across the bottom, measure across the top, measure both sides top and bottom. I found out my back wall was slightly wider at the top than the bottom, and because I had only measured at the bottom I ended up having to re-cut a few tiles to be slightly longer.

Speaking of measurements, I hate feet, inches, and fractional inches. I wish everything would just switch to metric. For example, you need to cut a tile to fit in a space (2 foot 5 and 3/4 inch - 2 inch - 10 and 7/16 inch - 15 and 7/8 - (4 x 3/8 inch)). Easy peasy, right?

The way the pattern was going up the wall I had a bunch of different sized pieces cut for going along the corner of the wall. I found it useful to write the sizes on the back of the tile as I cut them so that it was easy to grab the right piece as I was putting them into the pattern.

We tried two ways of cutting the tiles. These tiles are roughly 8 inches by 16 inches, roughly 20 by 40 cm. For most of the cuts I used a manual tile cutter, it has a blade that scores the tile and then you press down on a handle and it cracks the tile along the scoring. Super simple, it took about ten seconds per cut and they turned out nice and clean. The place where it did not work was if I needed to cut a very small edge off a long tile, like the top row of tiles where I needed to take off less than an inch for the length of the tile. What would happen was either the cut would only come off part of the way or the whole tile would crack in half. So for these long cuts I borrowed my brother-in-law's angle grinder and used a ceramic cutting blade. You could rent a water cooled table tile saw from the hardware store for about $50 for a few hours to do this and it would probably turn out neater; using the hand-held angle grinder the cut was a bit rougher that the other cuts. If I could start over again, I would shift the pattern up by about half a tile so that the cuts would be in the middle of the tile instead of right along the edge.

It is better to get a little more tile than you think you will need based on measurement of the wall than to try for an exact amount. It may cost a couple more dollars to get that extra tile, but if you are trying to make the tiles fit in a pattern you will end up cutting a few inches off some of them, and then you end up realizing that you are one edge tile short in the evening when the hardware store is already closed. I also (as I said above) cracked a few tiles while trying to cut them.

So on to putting up tile. You spread the mortar on the wall, spread some on the back of the tile, and put some lines of mortar on the wall using the notched side of the mortar trowel. We found this is a place where having two people working makes it go much quicker - one person can be putting mortar on the wall while the other person puts mortar on the tile. The thing to keep in mind is that the mortar dries fairly quickly, and so if you are stopping at the end of the night or to do some more cutting and you leave those lines of mortar they will dry and then you won't be able to get the next row of tiles to lie flat against the wall. So before you leave use the mortar trowel to scrape off any excess mortar and leave it smooth for when you come back to start working again. The first night when we stopped I did not do that, so the next morning I took a chisel and spent about fifteen minutes carefully scraping off the dried mortar lines to get back to a smooth surface for the next row of tiles.

  1. There is another contractor that we have hired in the past and he does really good work and we would have hired again, but he is booked out a year and a half and we wanted this done right away. []

Funniest Lab Glassware


The short path distillation condenser, affectionately abbreviated by chemists as the MFP, is a very useful piece of lab glassware if you are distilling small amounts of sample. It has a ground glass joints to be attached to round-bottom flasks and a ground glass joint for a thermometer. There are two hose prongs for cooling water (in and out), and a third hose prong which can be attached to a vacuum line or left open to atmospheric pressure. The short path distillation condenser takes the place of three pieces in a traditional distillation apparatus: the distillation adapter, condenser, and receiving adapter. This gives it the advantages over a traditional distillation setup of having less points that need clamps and less points that could come open and release the (often preciously created) sample out of the distillation pathway.

Why is this the funniest piece of lab glassware? Well, you have to hold it upside down, as shown below, and then you will see. Of course, MFP is short for Man Fucking Pig, because that is what it looks like.


The MFP, inverted



When one is generating primes, the first step people usually take to see if a candidate number is prime is to see if is divisible by some small primes. You could try dividing it by a selection of small primes (which requires a number of divisions, which are generally computationally demanding operations). Or you could do it in one operation by calculating the greatest common denominator (GCD) with a primorial, which is the product of a number of primes, and the GCD will necessarily be 1 for any prime not used to make the primorial. To be computationally efficient you would want the largest primorial that fits in the number of bits your computer is working with, for example with FFA you want the largest primorial that fits in the FZ field size. So I went ahead and calculated some primorials, it just took a short time using FFA and the peh tape example in FFA Chapter 18C.

The largest primorials of power of 2 bits from 256 to 5196 bits are (in hexadecimal notation):

256 bits:

512 bits:

1024 bits:

2048 bits:

4096 bits:

8196 bits:

16384 bits (this one took about 10 minutes to compute on my computer):

Time Formatting


In most numbers we write, the largest value comes first. So if I want to write ten plus two hundred, I write 210. Most significant value comes first. If I want to write a time of day, there is a standard format that everybody uses1, so 10:15 means ten hours and fifteen minutes while 15:10 means fifteen hours and ten minutes. Everybody understands it and it is easy to use. If I want to add in seconds, since they are smaller than minutes I put them to the right, so 10:15:20 means 10 hours, fifteen minutes, and twenty seconds.

Now, for some reason, when it comes to dates nobody can agree on ordering. If I say I was born 03-04-05 and my sister was born 06-02-01, which of us is older? Does 01-02-03 come before or after 02-01-03? It depends on where you come from, in the US they tend to list the month and then the day, while Europeans tend to put the day first and then the month. (Correct answer: they are both wrong.) Obviously we can make things clearer by including the four-digit year, which narrows it down since days and months cannot be four digits. The best way to write a date is year-month-day, since that puts the most significant number first. So the date should be written 2020-04-06, that is year 2020, month 04, day 06.

Have you ever been looking at dates sorted alphabetically, such as a list of files where the date is part of the filename? Of course you want things sorted as August, December, February, January, October, ... right? Or would you rather have things sorted first by the day of the month, and then by month? When would that ever be useful? When you use YYYYMMDD, the files get sorted by date automatically. So much easier.

On a slightly related topic, today I found out that Wordpress has a setting to indicate the format of the date that you want, but that setting can be over-ridden each time the date is called using a formatting string. So if you change the date setting, you also have to go to each place the date is used in the theme and check if it is using a formatting string. Because that makes sense, let's have a user settable value that does not actually change anything (/sarc).

Bug report (low priority)/To Do item: On the Wordpress settings page, by the time and date section, there is a link to, this should be updated to The linked help page and the other associated documentation pages should be mirrored/archived in a safe place.

  1. Ignoring for the moment the difference between a 12 hour clock with AM and PM compared to a 24 hour clock []



By Raelani Lambert

The park is still, silent. The sakura trees sway in the breeze. How beautiful, the sakura looks, dancing in the wind. Beautiful. My sweet Ichika was beautiful. The most beautiful woman in Japan. When she smiled, she lit up the room. Her eyes shone for miles, and her hair fell perfectly without her trying. To compare the sakura to her, she was twice as beautiful as the pink flowers; and I have lost such beauty.

I absently walk along the stone path leading my way and come across a pool of water. I kneel down and run my hand through the liquid. The water is so clear and refreshing, but when I try to scoop it up into my hand, it slips away. Ichika. She is like this water. Clear and beautiful, but she slips away so easily. I lost her, she has slipped away from me.

I get up and keep walking, almost blindly. The path starts curving up into a bridge. Ichika was my bridge. She was my way, my passage over the water. The bridge ends, but there is no more stone path. Ichika was my bridge, my path, but I lost her. I lost my path. I lost my wife. What do I do now?

I close my eyes. The wind is blowing, gently, softly, ever so sweetly. There seems to be some sort of melody, a song, sung by the wind. I remember how much Ichika loved the wind. She would dance with it, and whisper it her secrets. I smile slightly. Slowly, I begin to perform the movements that she had rehearsed every day for as long as I can remember. My limbs move along with the wind, while my body twirls around the grassy clearing. I begin to speed up, along with the tempo of the wind’s song. Then the song begins to slow, becoming nothing more than a hum. I stop moving and open my eyes.

The wind blows again, brushing a small sakura flower from her tree. The flower drifts through the wind and lands in the palm of my hand. I stare at it. The small pink flower is so beautiful, and pure. It reminds me of Ichika. Ichika was a flower. My flower. My beautiful, clear, absent minded flower. Another gust of wind blows the sakura out of my hand. I long to jump up and grab her, but my mind says not to. She is already long gone. It hurts my heart to lose Ichika, but I will see her soon. I watch as the small flower drifts away and into the sky. I close my eyes and let out a breath. Goodbye Ichika, I think. I open my eyes and the flower is out of sight. I have let her go.

A Time to Kill


I recently finished reading "A Time to Kill", one of the first novels written by John Grisham.

The book begins with a brutal rape of a little girl. Not long thereafter, the girl's father takes matters into his own hands and kills the two rapists. The rest of the book follows the legal battle as the main character, a small-town lawyer, tries to build a defense to get the father off. The first chapter is rather graphic, but the rest of the book is pretty tame.

In the forward of the book, Grisham admits that he based the main character on himself. Grisham was a lawyer before becoming an author, and he gives a very vivid, detailed look into the inner workings of the American criminal justice system as can only be written by one who has experienced these things first hand.

The book is set in rural Mississippi in the 1980's. Racial tensions between the blacks and whites in the American South forms a major theme of the book. Several characters in the book pose the question of whether the defendant would have a different sort of trial if he was black or white. Overall, Grisham shows some characters with deep-seated racial prejudices, both on the black and white sides, and other characters who work to get past those prejudices, some fighting against their own biases and some fighting against the societal structure that they live in.

Overall, this was an entertaining book. There are some funny characters, some drama, some tension over what the outcome will be, but not too much, you can pretty much guess that the good guy is going to win from the beginning.

Web Crawler for Finding Commentable Blogs

In response to the idea of a web crawler described by BingoBoingo, I threw together a quick script in Python which follows his specification, I think.

The script loads data from a "churn" file. This should be a list of valid websites, one per line. It then goes through the list, looks for any links, which it adds to the todo list, and saves any sites that it finds a comment box into the "targets" file. I added comments to make the whole thing readable, let me know if there is anything confusing.