Hotel Alexa

I’m staying in a hotel tonight. It’s not something that I usually do but there’s been a couple of family events that have brought me and the crew out of town. I woke up this morning before dawn and found myself staring at this bright green light a few inches away from my face. It’s probably just the thermostat or something, but it got me thinking: how long before Hilton and the other big hotel chains start putting voice assistants in rooms? 

I probably wouldn’t be thinking this if the front desk had picked up the phone any of the dozen times I tried to call them last night, but it seems inevitable that there’s some company out there working on a bot for one of these chains: “Alexa, I need more towels.” “Alexa, how do I connect to wifi?” “Alexa, what channel is Disney channel?” “Alexa, have room service bring me dinner.”

Listening

Seems inevitable. I’m sure it will be a while before people are willing to accept these things in their rooms. Some, like myself, aren’t comfortable having these things in my house, let alone rooms where they are sleeping or doing other more intimate activities. I assume that the hotels could hand them out at the front desk as an option: “Would you like a virtual assistant with your room, sir?” And then I’m sure it’d be a matter of time before they’d become standard deployments the way wifi repeater seem to be everywhere. 

Update: It seems I’m a bit late to the party. Amazon released their Alexa for Hospitality in June of 2018:

Guests will be able to do things like order room service, request a housekeeping visit, or adjust room controls (thermostat, blinds, lights, etc.) using an Echo in their room. They can also ask location-specific questions such as what time the hotel pool closes or where the fitness center is.

Some upscale Vegas hotel apparently pioneered Alexas in their rooms back in December 2016, and in October of last year, Marriot announced plans to run a trial in Charlotte hotels. One thing that we didn’t anticipate when we were writing this was the response of hotel staff, who saw these devices as a threat to job security as far back as September. It was apparently part of a list of concerns when  Marriott employees went on strike last fall. 

https://imgs.xkcd.com/comics/listening.png

Free JetBrains software for academic developers

So I’m pretty happy cause today I found out that JetBrains is offering free licenses to their entire software library for students and faculty members. I’ve been using PyCharm Community edition for some time now, and am really glad to have access to the Professional version with all the plugin and Django support. I actually purchased a CLion license a year ago or so. They make really good software, and I encourage everyone to check it out. 

Martin Rees: On the Future

Lord Martin Rees

I just finished On The Future, by Martin Rees, U.K. Astronomer Royale. This short 200-pager is Rees’s take on the technological perils and promises that humanity faces, both in the near and far-future. The book touches on many scientific topics, including artificial intelligence, space exploration, post-humanism and biotech. He explores existential threats like climate change, nuclear proliferation and biological warfare, then pivots to more philosophical questions about the role of science and religion, science and academia, government funded explorations vs. private sector missions. 

This book is aimed at the more casual reader and is more of a light read than other science books I’ve read in the past. It covers a lot of ground without delving too deep into the actual science, which makes for a light read through most of the chapters.  I think I may have skimmed through the first two thirds of the book, as I was familiar with most of what was being covered. It wasn’t until the latter portion of the book that Rees got into more of a personal discussion about the way science is funded and how the members of the scientific community operates. 

It’s clear that Rees is thinking legacy here. He’s in his late 70’s, and it’s clear that he felt compelled to write this book as a drop of knowledge to younger generations. It’s clear that this book isn’t written for his colleagues and peers, but toward the younger generation of aspiring scientists. This book may make a good addition to a high school summer reading list, but those with a more of a background in science may find Rees’s Prospects for Humanity a bit elementary. 

Windows VM on Ubuntu

I’ve been slowly converting to Ubuntu over the years. Neal Stephenson’s In The Beginning Was the Command Line made Linux seem like such a rage when I read it years ago, but I had always been slave to the GUI. Things started to change a bit when Microsoft started pushing Powershell. My manager at the time said that it would “separate the men from the boys” and I’ve been making a push to start building out a library of PS scripts to use to during Windows Server deployments and migrations. 

I’ve been exposed to *nix plenty over the years. My first job after high school was at an ISP, and I remember watching in awe as the sysops guy would bash his way through things to disconnect hung modems or do this or that. I forget exactly when I started getting into actually using it, but I remember setting up LAMP stacks back in the day to setup PHP apps like WordPress or Wikimedia when I was working at the Fortune 500 firm. Cryptoassets led me further down that world, compiling wallets from source, deploying mining pools on AWS instances. Computer science courses opened me up to the world of sed and regex. I still haven’t gotten into emacs or vim — I’m not a sadist. 

As someone who’s been supporting Windows operating systems pretty much for the past 20 years, one of the realities that one often lives with is the reality of having to reinstall the operating system. I did so many during the time that I operated my service center that it was as natural as turning it off and back on again. Luckily I’ve managed to keep a few boxes up and running for several years now –knock on wood– but my primary work laptop hasn’t been so lucky. It’s five+ years old now and has probably been redone 3 times. The last time I went ahead and took the plunge and installed Ubuntu. I still run Windows in a VM since my job relies so much on it, but I’m becoming more and more comfortable in it that it’s becoming my preferred OS. 

One issue that I’ve been struggling with on this setup is that from time to time my system will halt. I might be in the VM, working on something, or browsing Chrome on the host and it will just lock. Sometimes it seems to be when I open a resource-heavy tab. I don’t know if it’s a resource issue between host and guest, but it’s been annoying while not bad enough that I can’t just reboot and keep going.

Today has been a different story. 

Earlier I noticed that the system was starting to become unstable. Fans were whirring, Chrome was starting to hang up intermittently, so I went ahead and restarted the guest OS. Only this time it wouldn’t come back up. Stuck in a automated system repair. I downloaded a boot disk and tried to mount the system. Wouldn’t even get that far. Finally I said ‘screw it’, unmounted the disk and started creating a new one. That’s when I started getting into raw vs. vpc vs. qcow2, ide vs. virtio, pouring over CPU and RAM allocations. I spent hours trying to get the disk to come back up. I think it had something to do with the format I used when I originally set up the disk. It might have been a swap issue or something, but since I’m running it off of virtio now it seems more stable. Time will tell. 

As for the original vhd, I eventually copied the data file off of the local file system on to an external, and was able to fire it up attached to another Win10 no problem. I deleted the original on my laptop and copied the copy back and was able to get it to spin back up. I think it  may be something to do with the fixed allocation of the vpc file vs. the dynamic sizing of the qcow format. 

Today has been a reminder to check backups on all of my systems. Thankfully Crashplan has Linux support now, so I’m going to get that deployed ASAP. 

 

Programming as a discipline

I’ve really gotten into programming lately. Like really started delving into in a way I haven’t done. I’ve been messing around with scripts and basic programming for some time, but I’ve never been able to complete a large project. I usually put some bits an pieces together to cobble for a function or small library, but my skills were never such that I could really put the larger pieces together. I’ve spent time looking at various libraries on GitHub or wherever, and just been floored by not only the size of the projects, but just the sheer complexity. 

One thing I’ve learned over the years — not just with programming, but skills in general — is that the things that got me here aren’t necessarily the things that will get me too the next level. I’ve learned this most painfully at my current job, where the skills that enabled us to be a fairly decent small IT service shop weren’t the skills that were going to be able to scale and get us to the next level of excellence. It’s one of the main reasons that I finally decided to go back to school to finish my degree. I’ve always been self-taught, and been able to get along with whatever needs getting along, but that same self-directedness has resulted in a bit of lack of discipline in several regards.

One of the main reasons I felt like I needed to go back to school was because my projects would always get to a certain point where I wouldn’t be able to figure out how the various components should fit together. I remember thinking that I needed to learn ‘design patterns’ and that I needed the tutelage of someone who could help me understand how to put the various components together. I was always good at being able to understand the syntax and structure of a language well enough to be able to do some calculation or basic function, but being able to take that same logic and put it into the larger set of data structures and external libraries and inputs, outputs that I needed to make something work — that’s always been where I’ve hit a wall and walked away from a project for the next starting point. 

I can’t say I learned a lot about design patterns per se during my college career, but what it has done is forced a lot of other things that I hadn’t considered, like test-driven development, for example. But one thing has happened in the intervening months and years that I’ve been finishing my degree — I’ve kept programming. It has become a habit — a practice — and I feel the changes in my brain, affecting how I think about problems. And things have begun falling together. I recall specifically looking at a piece of code on someone’s blog and seeing a class’s create function declared as a class function. It clicked. I’d understood the difference between class and instance-based methods for some time, but I never really understood why to use them. Same with a class passing self as a parameter to another class function. These were just two solutions to problems that I had been struggling to figure out for some time. Things are just starting to click in that way. 

I’ve made a habit out of programming, and I recently found myself coming back to one of these aforementioned abandoned projects. Looking at it now with the benefit of a year and a half of additional skills, I’m not so overwhelmed, and I’m thinking I know enough to take it a little further to the point where it will actually work. 

 

Escrow services for new PoW cryptoassets

One of the ideas I keep returning to is an automated cryptoasset escrow service. When new PoW coins are launched they usually go through a period where the miners are accumulating them while the devs work out the wallets and other functionality. There’s a period before the coins are listed on an exchange where the only way to trade them is ‘over the counter’ (OTC). This usually happens in Discord or via some sort of chat, between the miners and whoever wants to get in on the action. About 18 months ago I was one of the ‘approved’ escrow IDs for this project I was helping out on, and saw a little bit about how lucrative it could be. Escrow agents can make a couple percent on the trade. 

Usually escrow between two assets involves the escrow agent holding one of the party’s assets, then delivering to the second party after the first has confirmed delivery of the trade asset. There’s too much room for fraud in this scenario for my taste, so the way I functioned was to receive assets from both parties, so that I can cut out any BS and eliminate the likelihood that anybody gets ripped off. Especially me. The other benefit to this protocol is that I can split the fee between assets. 

 The whole process is rather cumbersome, initiating and confirming details with both parties, generating fresh addresses — and sometimes wallets — for each trade, then monitoring and disbursing funds. Not to mention calculating fees…. it’s all a mess. I kept to tracking things in a spreadsheet, but even then I still wound up with around a dozen columns and formulas. 

I started building out helper functions in a python notebook to help me generate the wallet and transaction management commands, and started working on ways to initiate and complete the whole process automatically via Discord. I even engaged some professional software development firms to quote out a spec, but we didn’t have the tens of thousands of dollars — nor time — to finish up such a project. 

After a few weeks the token was listed on an exchange and the whole idea was moot. However here I am again involved with another freshly-minted token project and have been revisiting the code. I spent most of today trying to get the json_rpc calls to work so that I can start building the wrapper functions that will generate unique addresses, monitor transactions, and send funds. I’ve learned so much over the past 18 months that I think I may be able to throw a proof of concept together that can generate escrow details in a web form. There will still be a lot of manual steps needed, but it still beats copy and pasting addresses and commands between cli and spreadsheet windows. 

The Overstory

So I first heard about Richard Power’s The Overstory last week through a tweet by Naomi Klein. A review in the replies called it “the decade’s most important novel”, and my local library had a copy of it, so I picked it up. I barely put it down over the next 24 hours, and plowed through all 500-pages while ignoring my family. 

It’s basically a story about trees, but ultimately a story about humankind’s relationship with nature. It’s about expanding our concept of time, and understanding our puny lifespans in comparison to the lives of the kings of the plant kingdom. It’s about activism, environmental destruction, tech and artificial intelligence, and so much more. Powers draws on science that shows that trees are not solitary organisms, but that are able to communicate through their root networks and via the release of chemicals in the air that affect not just their neighbors but perhaps us as well. 

The plot is interesting, the characters as well, and Power’s prose is quite amazing. There’s so much science and literature quoted in here that it feels quite educational. The breadth of the story, mainly the multi-generational setup and ensemble casts reminds me both of Cloud Atlas and Neil Stephenson (Anathem, The Baroque Cycle, &c…)

I’m waiting for my wife to read it next, to see what she thinks of it, but it has already affected my thinking in some ways already. I’ve decided to let part of my backyard go wild, and I’m no longer looking at the weeds in my lawn with quite the same vindictive rage. 

The book also makes me recall Paul Stamets 2008 TED talk about mushrooms. Paul was first brought to my attention through Michael Pollan’s book How to Change Your Mind. These sub-surface networks of mycelium are perhaps the largest organisms on earth, transporting minerals between trees and may form the basis of some sort of nervous system for the forest. 

As one who is very distraught about the state of the world when it comes to climate change, the urgency of this book is very critical. What is perhaps the most telling or affirming part of the book is that no matter what happens — even if we lose — that what comes next will prevail, even if it is beyond the span of a human lifetime, or event the lifetime of the human species. So even while 400+ pages of the book seem to be ultimately fatalistic about our heroes being on the losing side of battle after battle, even after the majestic chestnut and redwoods are felled by disease or loggers, there is still the sense that nature will survive, and renew itself after human society has ceased to be. 

 

Learning is the only constant

Spent the day working on several projects. I’m taking over management of several websites for a client, and have been migrating WordPress sites over to my new host and getting SSL certificates updated. Had some issues with that, mainly due to the lack of a trailing ‘.’ at the end of a CNAME record, which messed with my ability to validate the domain via DNS entries. I’ve been looking at ways to manage large numbers of WP sites, and standardize plugins across them. I’m not sure I’m happy with the solution that I’ve chosen thus far, but I’ll save judgement and a post on that for another day.

Figuring out a baseline for templates, to ensure performance, security and monitoring is proving important. Keeping a dozen sites up to date and standardized is a bit more difficult when I don’t want to commit to a paid solution right off the bat.

I’ve been using Google Analytics for a while just to monitor basic traffic to sites, but I’ve started messing around with goals a bit more. One of the sites is a listing directory, and so it’s important to know not just how many people are coming to the site, but how many of them are actually completing a site, and most importantly, what they are looking for.

I’ve also been working on a lot of cryptoasset projects. I’m not sure if I want to talk too much about that on this blog since I maintain another site for that specifically, but I have been learning so much about Ubuntu and AWS instances as a result of that.

I’ve also been learning a lot of Python for programming, it’s my favorite to work with right now, and I’ve really fallen down the rabbit hole with Pandas and Jupyter notebooks for my finance work. Been spending a lot of time focusing on the equities market in addition to the crypto markets. I love it.

Thoughts on completing a three day fast.

So there’s been a lot of talk about the benefits of fasting. I’ve been doing time-restricted fasting for serveral months now just as part of my regular diet. I usually don’t eat until after 11AM, except on Sundays when family comes over for breakfast. I’ve been wanting to do a longer, 3-day water fast for some time, and after a 24-hour water fast a week ago, I decided to start a full 3-day one earlier this week.

My last meal on Wednesday was some chicken wings and mixed nuts for lunch around noon. Probably not the best meal, but to be honest my decision to go ahead with the 3-day was a bit unplanned. I had been thinking about it for some time, so I did manage to prepare. I picked up some magnesium supplements, and some melanin to go with the L-theanine. Since fasting can cause the autonomous nervous system to ramp up, I wanted some things to help calm me down so that I could sleep at night.

Day one wasn’t too bad, ignoring my stomach wasn’t too difficult to do. Day two was a bit more rough. I tried to stay active, and did some yard work, but I could tell I had real low energy. I needed lots of breaks. The bit of hedge trimming I did after noon into the third day was absolutely brutal. I was miserable.

The morning on day three wasn’t too bad, and before I broke fast I tried to do my standard 30-minutes of daily meditation, but it was hard. I knew it was the only thing standing between me and my lunch, and all I could manage was to lay on the floor prone for that time until the bell rang.

I broke with some tree nuts, pistachios, walnuts, and the like, as well as a deli chicken sandwich wrap. It was DELICIOUS. I’ve been pigging out all day today: huge Thai dinner; ice cream for desert; and a bag of popcorn earlier. I’ll have a big breakfast tomorrow and then it’s back to usual.

I plan on doing these 3-day water fasts at the 3 and 6 month mark. I heard that the long-term changes really go into effect after the third time, and I want to see if this has any impact on my chronic cholesterol issues.