Sentience

Well, I’ve made some real progress over the past couple days. JARVIS is operational. Buggy, but operational. I’ve had the Discord bot working, and was able to get it to query GPT and Replicate APIs, but yesterday I gave it a memory.

It works by loading the chat history of a named channel into a buffer. The buffer has a max size, and each message in the history gets added to the buffer, which is a FIFO queue of a Message objects, which have authors and message content. Each time a message is added it checks the queue, and if the number of words in the queue plus the new message exceeds the max, it drops.

So when the bot load, it ingests the message history in the channel. Then when a new message comes along, it gets added to the buffer. That’s the setup. After a new message is added to the queue, I check it to see if it mention the bot. If yes, it sends the entire queue, which I call a context buffer, along to GPT, along with any additional prompts that I desire for prepends or appends.

Early testing yesterday was very promising. Its quirky and weird, but we were really happy with the output. It was very fun.

I also did my first fine tuning experiment. I had a Word doc with some content, a technical paper if you will. I broke the document up by newlines, then added them line by line to a JSONL document with blank prompts. I followed the OpenAI instructions and had the job queued in less than an hour. The queue itself took very long so I forgot about it until late in the evening.

It worked. The immediate problem I had though was that I forgot my stop signals, so the model doesn’t know when to shut up. (That’s a good analogy for my own motormouth, I’m sure.) So I’ll need to retrain it today.

As a proof of concept though, I am extremely pleased. I had been fretting over whether fine-tuning a model was this simple, and it appears that it is. Generating quality content and curating the results is the hard part.

JARVIS is going to be fairly complex system, with multiple models and context systems; hooks into various modality systems (txt2txt, txt2img, speech2txt, &c…). Things are going to get really crazy very fast. Feedback loops are going to be very important here, but this is where the recursive functions are going to get really crazy.

https://www.youtube.com/watch?v=Vo7qA7IbQDI

Early Christmas

We’re going out of town for Christmas, going on our first trip to Costa Rica. It’s a make up trip for the company Hawaii trip, which we missed due to COVID. So we head out next Monday morning at 4AM to hop on a flight, and will spend nine days in Puntenares. We’re staying at an all inclusive through Christmas and returning the day after.

We had originally decided not to put up a Christmas tree since we’d be gone, but Younger was really adamant about setting it up. So I pulled our fake tree out of the closet and stood it up downstairs Friday night and let the kids go to town on it.

Missus came up with the great idea of having an early Christmas, and I thought it was fantastic idea. The presents — an electric scooter for Elder and a drum set for Younger — arrived on Saturday and I had them both setup waiting for the girls when they came downstairs Sunday morning. Missus took care of the stockings.

It was a fun morning, I figured the girls would want to stay home and play, but they went to church instead, so I had my Sunday fun-day with my brother over video games. The girls got back and of course I had to play referee with the scooter, making sure Younger got her chance after her sister rode. I also hooked up the drum kit to my laptop so that the girls could do Melodics. They’ll get there, eventually. I had fun with it as well.

I had also been talking about an ‘adventure’ with the girls on Saturday, but we postponed it because the kids were having so much fun playing outside. But Elder asked me about it after lunch and we decided to go for it. I wanted to bring the kids on a longer (3mi) hike to see how they did. I didn’t want to get stuck with them out on an excursion in CR if they weren’t up to it, so I needed a baseline. We went to a popular foot trail across town, which circumnavigated a pond or creek near the river. It was full of elevation changes and I knew it would challenge the girls more than flat land.

So we went. I had my backpack with water and some snacks, and I took the kids — and by that I mean my girls and the neighbors two eldest — who had their own backpacks full of enough fruit to last a week. Or so I thought.

The first half mile was OK, I guess, the kids gave me a bit of trouble with the bags they were carrying. By the second mile they were marching through the woods, singing Christmas carols as they marched through the woods. It was the cutest thing I’d ever seen. They’d also been singing along with the holiday music that I had put on the radio. Sometimes it’s good to be a dad.

We made it out of the woods to a small park near a bridge. At the end of the bridge stand these large lion statues, so we took a break to take some pictures, then we headed out on the final leg of our journey. The trail split, one going back into the woods, meandering up and down the hills around the lake. The other was a paved path and took a straight shot back to the parking lot where we arrived. We took the short path.

This is where things started to go wrong. The girls were obviously tuckered out at this point. I held their hands and walked slowly with them. Younger had been holding her bladder pretty much the whole trip by now. She had told me that she didn’t need to go several times before we entered the woods, then told me she had to go after we were a half mile down the trail. I stopped to use a Porto-potty, but the girls were too fearful of using them.

As we came up within sight of the parking lot, the girls got in a fight. Younger ran down a hill and somehow got hit by her friend, then she retaliated. She was very sensitive, and tried to go off by herself to regulate, but I wasn’t about to have her running off. In hindsight, this is where I should have corrected, as Younger just got worse and worse from there.

I tried to distract the kids with a small playground that was just off the parking lot, but bathroom needs soon took over and the kids made a beeline for the toilets. I packed them up and we headed to Dairy Queen for their reward.

We went inside DQ, I let the kids order a chili or hot dog and a mini-Blizzard. While I was trying to finagle myself into a free Blizzard the kids were arguing over seating. The three girls, Younger on the end, were crammed into one side of the booth leaving S., the only boy, on the other side. I told Younger to move over but she said she’d rather sit outside. Fine, I said.

After a minute outside, she started screaming. I lost it. She said the other kids were teasing her through the window. It escalated from there. She was too sensitive and everything I told her just made her more and more furious. It doesn’t matter if the other kids are teasing you, I said, you don’t get to act like that. She tried to plant herself on the ground right in the main walkway. Thankfully no one was at the restaurant.

I picked her up and plopped her in the seat, against her wishes. I brought the food out and warned her that if she didn’t eat now, and tried to start eating after everyone else had finished that she was going to have to wait till we got home. She said nothing, knees pulled to her chest. Just a scowl.

And then, when it was time to go, what did she do? Told me she was hungry. By that time I had manhandled her into the car, and I was livid. How dare you, I told her. I had gone out of my way to make the day special: arranging things with Santa to have Christmas early, and I had taken her and her friends out for a hike and literally bought her ice cream. How dare she?! She tried to tell me to leave her alone, and I was so mad the only thing I could do was berate her. I think I called her spoiled and might have cussed, I’m pretty sure. But I told her the other kids were getting in the car and she better not say another word or she was dead meat. I think I had already grounded her at this point.

I’ll not mention the car ride back. It was pretty uncomfortable for all of us. I apologized for losing my temper and being an asshole. It was not my best moment. So we got home, Younger ran in to go to her room, and I unpacked the car.

It was not the best day ever.

There’s probably a lot here I could psychoanalyze about my childhood. There was a lot of yelling. When I was younger, my parents left me with a friend of the family, someone’s mom, for babysitting after school. It was not great. The woman, who I’d describe as morbidly obese, lived in the small house with her sister, who was blind. All I remember from those days is sitting in the living room watching game shows, and the occasional arguments, which would devolve into yelling and screaming. I obviously wasn’t comfortable in that house, but I’m not sure I ever mentioned anything to my parents. I must have been nine, maybe?

Of course the dads did a lot of yelling and hitting back then. Me and my brother, our cousins, would all get whipped when we misbehaved. Sometimes it was a wooden spoon, or a belt, or when we were real bad, we were threatened with breaking a switch off a tree. Don’t get a dry one that’s gonna break, or you’ll have to get another one. Needless to say, that was a threat that carried weight. I remember also one time we were so bad on a road trip that my dad pulled over, made us get out, pull our pants down and put our hands on the bumper of the car. Then he gave us a bare-assed spanking right on the side of the highway were everyone could see. I remember stories about this even more than I remember the event itself.

So not to end this post on a horrible down note, but this is the discipline that my parents taught me. Of course hitting your kids is wrong, and yelling at them is much better, but I’ve never acquired the soft skills that good daycare workers have. Missus picked up some skills during her career, so she’s able to subtly misdirect the kids’ attention better than I can. I’m more like Judge Dredd when it comes to conflict resolution.

SFPD

I totally went Science Fair Project Dad on one of Elder’s projects. You know about SFPD, he’s the one that gets way to involved with their kid’s projects and winds up doing most of it for them. So you see these really polished, professional looking things that it’s obvious the kids didn’t do on their own. So I have done.

The assignment was to ‘create an instrument from common household items. Demonstrate amplitude and pitch by playing a rhythm or melody on the instrument.’ So what did we do? We asked GPT for examples of course! We asked the AI for ten possible projects, then asked for clarification on a few of them before settling on one. We decided to make a popsicle stick piano.

We may have gone a bit overboard.

The local hardware store didn’t have the sticks, so we made a trip out to Michael’s. While there, we found a nice plank of pine about a foot in diameter that we could use for the base. We’d attach the popsicle sticks to a 12x1x0.25 piece, and screw that to the mount.

The first thing we did was stained the wood. Yes, I had an old can in the garage that I pulled out and we stained the base, the mounting block and all the popsicle sticks, which I literally just dipped in the paint can. Unfortunately the can was old and most of the pigment was settled in the bottom of the can, so the stain job came out really uneven and messy. I figured it was fine, since this was a 5th grade project after all.

Yesterday we went back to the hardware store to get the screws we needed, then started putting everything together. The plan was to put screws on either side of each key stick, which would allow us to tune each key. I did most of the marking here, drawing with a level and ruler, marking off where each of the two screws would go for the eight keys. After I got the first few done I handed the drill off to Elder so she could do a couple.

In all, it didn’t come out too bad. It’s got no resonance, so it’s not loud at all. A couple of the mounting screws are off, so the keys don’t make proper contact, losing tone and sound. But enough of them work to do a basic three of four note melody. And it does work as a drum in some respect.

Elder had to write a report for this project, which she did on her own despite my egging her on to use chatGPT. She actually told me that she needed to do the work herself, bless her heart. I wanted her to write the essay then fold it into GPT to see what it could do. I’ll teach her it’s a collaborative tool. It still requires effort to use, it’s just a huge lever for the eventual output.

Anyways, my musical brain couldn’t help turning her presentation into a rap. I’m such a ham, that’s the kind of stuff I used to do in school. I remarked to Elder that one year for English class I wrote an entire song for a creative writing assignment and played it before the class. I really wish I could remember more; the memory is weak. So while I was meditating this morning, my brain kept churning out versus, which I related to Elder this morning:

Well my name’s Elder and I’m here to say
I got a portable piano that I’m here to play
You wanna build your own, here’s what you do
Get a few pieces of wood and a bunch of screws
You can make the note low by making it long
Short keys high notes can you follow along
I can play the beat quiet I can play the beat loud
I can play the beat all day to rock the crowd
I El and I’m done and that’s all I say
but I think this report deserves an A

Now Elder doesn’t have the same fearlessness that I did at her age, I had already played the lead in the school musical by her age, but she won’t even try out for the lead. She hasn’t learned how to deal with that stage fright and comes up with other reasons to convince her not to try.

But I performed this rap, or a variation of it, for her this morning and she seemed somewhat open to the idea. There was a little fear there, but I assured her that it would go over well and she had nothing to worry about. She wasn’t able to memorize what I came up with in the 10 minutes we had before we had to shuffle out the door, but I think she got the gist of it.

I can’t wait to hear what she comes up with.

Idea man

I’m getting the day off on the right start. I woke at five when Younger finally kicked Missus out of the bed. I laid awake for the next hour, dreaming of things to build with GPT.

Someone mentioned on Twitter that AGI is bring about the renaissance of the idea man. That’s me.

Yesterday was a bit rough as chatGPT was overloaded yesterday. I was trying to do some SQL work and every time I threw my queries into the prompt box I kept getting errors. Then later, after I put the kids to bed, it was fast and snappy. I guess a lot of people are relying on it for work. Even this morning it’s still throwing errors and long delays. I can only see how dependent people are going to become on AGI. It will be come an integral part of people’s toolkit, and not having it will be like losing your phone or internet.

I talked to my cousin J yesterday. I haven’t talked to anyone back home in quite a while, maybe a year, but my brother reminded me that it was her birthday. So I called and caught up and chatted with her for about 45 minutes. Everything is everything; the main concern was about our 87-year old grandmother. She’s not as mobile as she used to be and repeats herself all the time. Her two older sisters have dementia, and that’s a big concern. J said grandma is in ‘pain all the time’ and I responded that I’m only 43 and I’m in pain all the time. Not much, but it’s always something. I can only imagine how it gets when I’m twice that age.

If meditation has taught me anything it’s that pain is always with us. Whether it’s bodily pain, emotional discomfort or whatever, the mind is like a spotlight that can focus in on these discomforts as needed. Even sitting, in itself, causes discomfort, and part of the practice of meditation is to focus on that pain, make it an object of attention while keeping the body still. We’re already dealing with the pain, it’s the fear of the pain in the future that makes us fidget and fuss.

I’ve got work to do this morning. I’m not sure how much crazy stuff I’ll get done to day if GPT is offline. I got some tasks to wrap up from yesterday and plenty of work to prepare for the rest of the day. Hopefully I can get that knocked out and spend the day working on the bot. I’d like to get it working with Stable Diffusion, so that it can generate images when mentioned. I think I might be able to pull that off this week if I have time, then set up some sort of context overlay so that people can chat with it.

I’ve got ideas.

Hooky

A coworker passed on this interview with OpenAI CEO Sam Altman. I’d never paid the guy too much time but I’m paying attention now. There were a couple of standout points that he made, and I’m adjusting my mental models accordingly. Heavy stuff.

Elder is staying home today. She wanted to play hooky — and I’m inclined to let her. She had her choral performance last night — I missed it because Younger wanted to go and they only gave each kid two tickets. She then proceeded to act up during the performance, forcing Missus to leave early. Not pleased.

So I told Elder she could stay home as long as she did her school work: today’s; her homework for the week, which she’s behind on and is due on Friday; and a special project that is due on Friday also. I told her I was going to set her a pomodromo timer and she was going to work off of that for an hour and we’d see how things work. She’s out doing her gym class, and out running and riding her bike around.

I’m fine with her staying home from school. As long as she’s motivated to work, I’m fine with it. I offered her the opportunity to pull out in third grade, during COVID, so that she could do GalileoXP, but she — and her mother — wanted her to go. So back she went. But maybe today is a look at what it might look like for her to homeschool.

I wrote the following message to Younger’s elementary school principal:

I was the one hollering at you about GPT this morning and wanted to follow-up with you on it. To show you what it does, I prompted it to generate the following text for you:

I wanted to bring to your attention a new technology that is going to greatly impact education in the next few years – GPT-3. GPT-3 is a conversational AI model that has the ability to understand and respond to human language with unprecedented accuracy.

This technology has the potential to revolutionize how we approach learning and collaboration in the classroom. Through its ability to generate text based on prompts, students can use GPT-3 to help them write essays and research papers, leading to a deeper understanding of the material.

However, we must also be aware of the potential for students to use GPT-3 to cheat on assignments. We will need to put in place measures to detect and prevent this type of behavior.

Overall, I believe GPT-3 has the potential to greatly enhance the educational experience for both elementary and collegiate students. I would be happy to discuss this further with you and how we can integrate this technology into our curriculum.

Best regards,
[Your Name]


You can access the chatGPT page here: https://chat.openai.com/chat. I encourage you to talk to it and ask it questions: things your teachers and students might ask, and see how it responds. It is very good at ‘imagining’ or role-playing, so you might tell it that you are a middle-school principal dealing with whatever various issues, and see what it comes up with. The language model is somewhat inconsistent with certain subjects, but it’s very good overall.

chatGPT just released last week and it’s ease of use tells me that it’s going to be everywhere soon. I’m already incorporating it into my professional workflows, it’s very good at generating copy or condensing and editing. And for variations, it’s amazing.

Just don’t trust it’s answers. There’s a lot of inconsistencies. That said, I expect these models to continue to continuously improve. The next version of GPT, GPT-4 is expected in the coming months.

Take care, I’d be more than happy to speak more on this if you like.


Consumed

I am shook. All I can think about is GPT.

Yesterday was a mess. Woke up sick and sleep deprived, but I had sprint meetings. I did my best to lead but by two I was a brain-muddled mess. I think we got some work done, though.

Elder has a choral performance tonight, she’s excited. Of course she doesn’t own a white blouse per the requirements, so there was a bit of bustle this morning.

I got sleep last night, and feel mostly myself today. I meditated, but all I did was think about how I’m going to continue my prompt engineering. I’m thinking I’ll start with some axioms and then start talking to GPT about what I want to do. Provide it with a base layer that will serve for it’s training data.

One thing some people are getting hung up on with GPT is that it has a tendency to make shit up, like adding a pineapple to the statue of David’s description or something. I don’t know if it’s an intentional watermark or something in one of the settings, but this is somewhat beyond the point. It’s great at generating endless possibilities; it’s a content generator, and idea machine.

There’s enough there to give one direction toward the next step, or at least a starting point. It’s like a dopamine hit for me, a never-ending font of newness and possibility. It never ends.

My wife jokes that every six months I have a new hobby that I really get into really obsessively: climbing, sim racing, piano, flight sims, the like. This is something completely different. This tech is important and world changing.

I do keep oscillating somewhat, between the the grandiosity of it and the futility. I’ve been a bit hyperbolic, after recognizing some of the flaws in the system I realize I may have to walk some things back. But I don’t care. I’m building.

And I’ve got the best assistant in the world. We’ve all got it. It’s incredible. Building a context system and middleware system for GPT-controlled game engine… that’s what I’m talking about.

Prompter

I’ve been somewhat manic the last few days, having finally gotten a real chance to play with GPT through the wonderful chatGPT. It is AMAZING. I’ve been playing with it rabidly, exploring what it can do and how it can be leveraged as a personal digital assistant. The model knows a lot — it was trained off of wikipedia and other various library models, so it can talk about anything. And its really good at making things up. Here an example:

I’ve been working with Diffusion Models the past couple weeks and they’re fun, but I’ve been meaning to take a closer look at GPT-3 to see what it can do. chatGPT makes it super easy. And the results are amazing.

I’ve already managed to hook GPT-3 up to a Discord bot and have been doing some experiments with prompt overlays — where the my base prompt is injected on top of the user request. I’m using it as a bit of game master for a role playing game. I actually used chatGPT to help me code and troubleshoot the system. I’ve got a lot of work to do on it but it’s very, very interesting.

Getting my story straight

I have a doctors appointment tomorrow, and he’s the only one who can hold me accountable for my drinking, so I’ve been good this week. No alcohol this week. I’ll likely keep it up until our trip to Costa Rica, which as been on my mind also.

I slept better last night, some trouble, but my body is adjusting to the earlier bedtime. Seasonal affective disorder and all that, probably. Order vitamin D. Pronounced not with a long I sound as in “eye” but a short one that rhymes with “fit”. Vit-amen, the way Mo says it.

Mo asked me how I was doing, like Mitch did. I’m fine, none of this is affecting me at all. I’m just putting my head down and doing what I can while everyone else does what they need to do. Tight resources, DIY spirit. Make do. Good enough to move on: GETMO is my motto.

I talked to Todd yesterday. Like me, he has addictive personality. We have destructive history, since we were teens. He gave up drinking but got hooked on the crypto casino. Chasing shitcoin mints on Ethereum, trying to beat the bots. Problem is he’s not disciplined, I told him, you don’t go in with a plan and you don’t know when to get out. So your emotions get in the way and you stay in to long and miss your chance.

Quit chasing the dragon, I told him. Find a project that you believe in and contribute. You don’t have to learn coding, there’s all kinds of PR/HR type of stuff that one can do to contribute. Better yet, bring crypto into the real world. He’s worked in it, knows things that people don’t. I tried to distinguish his greed from the actual promise of bitcoin. You can’t just opt out of the future of the financial system, I said. Gave an example of what Strike is doing with BTC payments, do something like that. Just like selling in-home water filters, bitcoin ATMs.

Todd didn’t ask how I was doing. Knew I’d tell him anyways. It was my call; he texted me asking about Kraken layoffs. FTX didn’t get me, saw the .com contagion and got everything I could off the .us site while I could. Lost a bit because of ACH transfer clearing. Should have known they were tight when they went from 10 to 15 day clearing. Figured it was because of fraud.

I lost most of my money in April, or should have anyways. If Perp hadn’t gotten hacked I would have been liquidated. Pretty much got lucky on that one, else I would have gone down with my fervid belief that sub 20K was unlikely. Silly me. So I got the fuck out of everything and to my hardwallets. I may be a bit fuzzy on the timing, but I think I may have seen Voyager go down — only some ADA and LINK, not much — and got my funds out of BlockFi ASAP.

But things are good. I’m fit and healthy, I got no money problems — yet. I told Todd I don’t care what else is going on, all I care is that one breath follows another. Everything else is fine with me. Sure, I fight with people and get upset about things, and my body will eventually fall apart, but right now is all I got to deal with, and right now is just perfect.

Yelling

The kids are grounded.

Their behavior lately has been so defiant that I’ve lost it. I don’t even want to catalog the offenses, but here’s a sampling of what happened: Younger was downstairs, Missus and Elder were off in their rooms following an earlier argument. I had been cleaning and cooking dinner for over an hour. I asked her to set the table: no. After much prodding I got her to do it — or did it myself — I asked her to pick up something off the stairs: no.

At some point I picked up a pad of paper on the counter and wrote Younger’s Naughty List, and then I wrote down the two things I had asked her to do. I told her that if I asked her to do something and she didn’t do it the first time I asked her to do it I was going to write it on this list and then I was going to send it to Santa. This certainly got her attention. She’s been more enthusiastic than anyone in the house about decorating; I’m still too occupied with the windows to worry about it.

So this had the opposite effect, broke her heart really, and sent her into this pattern that we get locked into all the time, which I’ll explain with another example: I ask her to do something; she doesn’t do it; I get mad and take away a privilege, candy, TV, whatever; she then tells me she’s not going to do what I asked because she’s not going to get her privilege. I’m not really sure what you call this behavior, but that’s usually how it goes.

But yesterday they both were on fair form. Just doing or not doing things at their leisure, based on their whim. No sir, had enough. So I revoked their playtime after school.

Elder is having a problem with school, forgetting her folders and turning in homework. She doesn’t actually

Break over

So the Thanksgiving break ends and a return to normalcy is upon us. The girls are off to school and I am back to work.

I took off Wednesday because the girls were home. I forget what we did; I probably made them go for a hike or a bike ride. I think we rode to the park to play with their friends, then rode to DQ for dogs and mini-Blizzards. I had Missus come pick up the girls so that I didn’t have to take the on the main drive. I left them and booked it home with out them and beat them back.

Thanksgiving Missus decided to cook a nineteen-pound turkey and about five side dishes. I stayed out of the kitchen. DT smoked a turkey in the smoker, the kids played all day, and we actually decided to have a real dinner with Momo and her boyfriend. I took off for a couple hours in the AM to go put my new bike to use, and went to the Mill.

I did the three bike trails, figured out how to use my bike and managed to make it through each one without stopping for rest. Then I took off through a tunnel and headed off into the wilderness. I had spied the tunnel, a wildlife causeway under a two lane highway. I took off down the trail, heavily wooded, paths covered in pine needles. The occasional tire ruts from the large utility vehicles that used the area. I ran into a couple of horseback riders on their tall, magnificent steeds, then I hurried along to catch up with a couple bikers. Father and daughter.

I talked with them for a while, mainly because I was unfamiliar with the area and needed to know where the trails headed. We left the woods and came on to a disused train track that was followed by utility towers and a gravel road which we rode. The gent I had run into worked at a bike shop across town, so I had lots of questions for him. We rode a few miles to a gate near another public road and I left them, pedaling my ass off and not stopping until I was back to the car. I rode twelve miles, almost thirteen.

Friday Missus worked again, so I took the girls out of the house to visit their aunt, who was being visited by her son, his wife, and their seven month old daughter. I wanted the girls to have as much time with their family as possible. So we went there for an hour, then I took the girls to the rock gym for some climbing. Fun time.

Saturday I got out of the house, determined to buy a balance bike for DT’s youngest. I had already given him one over a year ago, which was lost, and the boy still hadn’t learned how to ride. Everywhere I went was closed. Two bike shops and the Goodwill. I ran by the hardware store and bought some privacy film for our bedroom windows, then back to the house to put them up.

As I was opening the first box, I sliced open my middle finger on my hand with a brand new razor blade. Blood fell to the carpets immediately, and I’ve been doctoring the injury — Misuss has been an excellent nurse. The wound is right on the side of the knuckle and is hard to close, so it’s resulted in a quite a bit of blood. I think it’s closed now, but no guarantees on climbing this week.

Anyways the windows are going well. They’re all in, and look great. The installer is cleaning up today. We’ve been doing a lot of cleaning as well, and have hung up two blinds so far, even with my gimped hand. Screwing the brackets into the drywall is super-fucking hard, usually when two rotations from the wall. I did some experimenting with the drill depth, trying to figure out how I can do the rest of the house without draining myself.

I don’t even know if I want to do the rest of them or hire someone. The hardware is expensive. We’ve got thirteen windows in the house. I did two in three hours. Granted, one was a 60-inch, but I got shit to do and don’t want to spend the next six weekends putting these damn things up. And we haven’t even started with the blinds.

Well I’ve got some work to do. This update ran a bit longer than normal but I had a lot to cover, apparently.