• Children of the Potatoes

    Things are going remarkably well today, as the internet revealed to me that Google Sheets have a method that allows you to get the displayed value (string) of the contents of a cell rather than the object containing the value in the cell. Maybe it’s the cell that has a method? It’s a good thing that my faculty position in an EECS department was a research position and involved no teaching because I can’t keep up with the lingo.

    Today’s deep thought is about how the students choose their usernames. We keep an eye on the usernames to ensure that they are mostly G-rated and generally appropriate for a wide audience. There is no way to write a regex that is going to catch everything terrible that the children think up without being unfairly restrictive on the other users.

    But today we are not talking about terrible and offensive usernames. Today we are talking about the lowly potato. A surprising number of users choose usernames that contain the string “potato.” By my count, 360 users. Or roughly one in a thousand. One in a thousand might not sound like a lot, but it is an order of magnitude more than the number of users who choose usernames containing “tomato.” My unscientific look at other vegetables has potato being a strong favorite for vegetable-containing usernames. We even have some whose usernames are the word for potato in other languages.


  • Life in the Trenches

    Lately I have been fighting the good fight in the realm of Google Apps Scripts. You might not know what this is or else maybe you understand the misery that I have been enduring. The idea is that Google Docs and its associated products are, unlike some competing office applications, not bloated with unnecessary features like Mail Merge because you can get them a la carte from developers that you have never heard of in the Chrome Store or else you can write your own solutions using Google Apps Scripts, which is sort of like JavaScript but not really.

    Now, the thing is that a Google Apps Script is really just a whole bunch of unhappiness in programmatic form. The documentation is remarkably sparse. The idea is that if you were the sort of person who thought that it was a good idea to roll your own mail merge from scratch that you probably know enough about writing applications that you don’t need documentation. Or something like that.

    I’m thinking that I have reached the point here where it is easier to teach one of the HR people how to find the unique identifier of a Google Sheets spreadsheet and to paste it into a particular part of the code than to figure out how to get a web front end to have a file picker to have her choose the spreadsheet that she wants. It took much of today for me to figure out how to send my script a GET request and to have it list the parameters on a web page. (Pro tip: If your script is in a Team Drive, you can not deploy it as a web app because only the owner of a script can deploy it as a web app, and when something lives in a Team Drive, it is owned by the drive.)

    So instead of fighting with all these things this morning, I spent part of my day training a Markov Chain text generator on a corpus of the titles of California ballot initiatives from the past few decades and then had it come up with 500 units of nonsense based on what I fed it.

    The original idea came about as I was imagining a game in which one person got the title of a real ballot initiative and two people got the title of fake ones, and they each needed to come up with a description of what the ballot initiative was about, and the other team needed to figure out which one was real.

    Band of Teen’s Pregnancy . Required Employee . Primaries . Low-Income Rental Assistance . Taxation – State and grants free admission to require a two-thirds for those Purposes . Redevelopment Agencies – Boards Of 1982 . Housing and Spending Limitation . Higher Education Facilities . Daylight Savings And Housing and Jobs Investment . Required Employee Union Members , Coastal , Seismic Safety And Insurers-Taxation . Sex Offender Laws . Wildlife Protection . Constitutional Amendment . 55% Local Public Services . Initiative Constitutional Amendment . Schools And Scenic Rivers Initiative . Higher Education Facilities Including A .B . Licensing Requirements for recreational use of insurance companies to 12 years total state levies and No-Smoking Sections—Initiative Statute . Drugs . Dismissal . Ballot Measures . Tribal Gaming Compacts . Health Requirements . Legislative Campaigns . Initiative . Initiative Constitutional Amendment and Flood Protection of 1984 . Public Schools . Housing and Environmental Law Of 1990 . Dedication Of 1984 . Initiative Constitutional Amendment . Safe Drinking Water Resources . Consumer Protection . Taxation . Nonpublic Schools and Quality Bond Act . Initiative Constitutional Amendment & Statute . State School Facilities Bond Act . Initiative Constitutional Amendment . Automobile Accident Claims Practices . Top Income Tax Rate Changes California Housing and Emergency Reserve Fund Act of California Safe Neighborhood Parks , the Auditor General . Motor Vehicle Tax Credit Union and Parental Notification Before Termination of 1978 . Mountain Lions . Initiative Constitutional Revision: Public Entities . Youthful and Animal Poisons . Assessments , Foreign Entities . Fire Protection and Architectural Services . Local Majority Vote For Tax appropriations mandate and exempt from expenditures limit . 1572 . Earthquake Relief And Water , Ethnicity , Historic Structure Exemption . Use Taxes—Revenue Sharing . Death . A .C .A . Bingo . Welfare . Funding . State-Negotiated Rebates . 15 . Wildlife Habitat Enhancement Bond Act Of Persons’ Exposure To Provide Public Funding . Health Services . Clean , Legislators and Water Reclamation Bond Law Of Schools . Partial Constitutional Amendment and Reporting . Statewide Voter Fraud Penalties . Bond Act Of 1976 . State Offices . Transfer Of 1990 . Transportation . Acquired Immune Deficiency Syndrome ( third attempt at Proposition 73 ) Bonds . Public Funding . Attorneys’ Contingent Fees . Veterans Bond Act of Education Facilities Bond Act Of 1990 . California State Civil Service . Prescription Drugs . Electric Service Position . Ethics , Corporations And Mass Transit Guideways . Repeat Offenders . Property . Commission Or Slanderous Campaign Financing Act of 1993 . Class Actions . Peace Officers . Property . Open Meetings . State Civil Service Position . Statute . English Only . State-Funded Private Contractors . $1 .00 per pack , 2012 primary Limits On Terms Of 1986 . Veterans Bond Act Of Office of Existing Motor Vehicle Taxation And Replacement Bond Act Of 1986 . Public Schoolfunding . Initiative . Imposes additional requirement to all state parks to lower taxable income tax credits , Supply and


  • Tales from the Regrade Log

    An assortment of answers that students have submitted to this problem.

    -16,-8,8,16
    0
    a+b
    15
    16384
    -64 -9,9
    3,5
    (x+3)(x+5)
    8
    8x
    x^2+8x+15
    10
    30
    225
    15376
    16144
    64
    3,5,-3,-5,1,15,-1,-15
    10,8
    -7168
    \(k>9\)
    i dunno
    sqrt15, -sqrt15
    Qwertyuiopasdfghjklzxcvbnm
    205520896

    I do worry about the problems when the students have trouble agreeing on what category the answer should belong to.


  • Picking Back Up

    I guess we’ll try to pick back up approximately where we left off.

    1. A student submitted a homework bug report asserting that the answer to the problem should be some other number, and the student justified this value with some remarkably specious reasoning that the student attributed to his father. Due to various student privacy policies, I don’t have the ability to reply to this student, but if I did, I would be tempted to say, “Please don’t let your father ‘help’ you with math homework ever again.” The only bright spot is that in the initial report the student did not inform us that the father works in a STEM profession. It’s always the worst when you get a student adding fractions by adding the numerators and then adding the denominators and then claiming that this method was recommended by a parent with a PhD in math.

    2. I keep buying the cookies in the cute tins where the lids don’t fit quite right and eating all the cookies and ending up disappointed by the tins. But the cookies are so yummy, and the tins are so close to being very nice tins.

    3. The universe is telling me that I should just pick a health insurance plan at random. Well, that is not true. Half the plans would let me see the doctors that I already see (PPO), and half the plans would make me pick all new doctors for everything (HMO). But of the plans that would let me see the same doctors that I’ve been seeing, there are inconsistencies between the various documents describing what is covered, and there are inconsistencies in the pricing. Also, our “open enrollment” only lasts three business days. Since two of my doctors have been throwing around the initialism “MRI”, I’m thinking that I’m just going to pick the “gold” plan and be done with it.

    4. We did a brand refresh at work, which means that all the fonts and colors changed. This also means that we need to recompile all the TeX documents. Wish us luck.


  • Even Briefer Update

    Still not much to say.

    I’ve been spending my time binge-watching various TV shows that I can watch for free via Amazon. I watch The Romanoffs so that you don’t have to.

    Also I’ve started working on Kon-Mari again. I’ve bought a bunch of stuff since I started throwing everything away, so I need to get rid of a lot of things just to get to where I was when I gave up. This weekend’s almost-triumph is that I’m within striking distance of no longer using the second bathtub as an improvised closet. If I can find a space for the very large suitcase that still remains in the bathtub, then I will throw away the two boxes that are keeping it company.

    Such is the glamor of living in an 840 square foot apartment after having spent a decade living in a 1420 square foot house with remarkably high ceilings (suitcases could be stored on high shelves in closets) and a basement and a garage.

    I just opened up a private window in the browser where I’m not signed in to anything and have verified that if I want to buy a house-house with more square feet than this apartment, I’m going to need three quarters of a million dollars.


  • Brief Update With Airplanes

    Still been working on the airplanes. Haven’t been in the mood to write anything here because my allergies have been bugging the heck out of me for the past many days, and that has made me somewhat uninspired about writing about stuff.

    At least temporarily I have the airplanes in the cloud for you to see. Still a lot of work to be done; I want to get the daily file of plane data to move from the Raspberry Pi into The Cloud without my interfering with it. My hunch is that the best way to do that is to install the AWS command-line tools on the Pi and then set a cron to move the daily file into this bucket.

    At least until I take them down, you can take a look at the first decent draft.


  • Nerd Hobbies

    I haven’t had much to write about because I have been spending most of my free time working on stuff relating to my nerd hobbies. By which I mean computers and airplanes.

    I took a screen recording and turned it into an animated GIF, but the real version of this is in JavaScript. This is the path that Qantas 7 took yesterday when it was flying over San Diego County on its way from Australia to Dallas. Yes, I did not get all of the positions from out over the ocean; I had set my filter too conservatively.

    Qantas flight

    Remaining issues to be dealt with:

    1. How to visualize an undetermined number of planes?
    2. Having the visualization develop over time in a pleasing way.
    3. Getting the data into The Cloud.
    4. Better colors.

subscribe via RSS