Upgrade log

Jul. 1st, 2016 04:18 pm
pyesetz: (woof)

(Hi, [livejournal.com profile] porsupah!  Thanks for stopping by again!  You are the only person who has commented on my journal this year.  In previous years, [livejournal.com profile] xolo was often the only commenter, but he seems to have left LJ now.)

I decided in April that my Dell D620 laptop needed an OS upgrade.  The major issues were:
  • My 3-year-old fonts did not contain the latest emoji characters, which *everyone* has started to use all over the Internet.
  • Opera 12.16 was so old, it didn’t support the latest HTTPS standard.  Many websites refused to be visited by this old browser (“for your protection”).  Newer versions of Opera refused to install on my old OS.
  • Firefox 41.0.2 did not play well with the new Reditr 0.3.2.1ᴀ, which was a forced upgrade (they didn’t tell me until after it was installed).  Most images displayed as blanks and memory usage was astronomical.

Now it’s time to say So long! to Linux Mint Debian Edition with Cinnamon 201303 (“Jessie”) and say Hello! to Linux Mint 17.3 with Cinnamon (“Rosa”).  I’ve been down this road before, so my hard drive is already partitioned into “/home” for files that should survive an OS upgrade, “/” for the OS, plus “/windows” for my dual-boot Windows 7.

April 28th: Finally get around to it: repartition /home to be 13 GB smaller, download Linux Mint 17, write it to a USB stick, boot it up, then let it install itself onto the new partition.  Then reboot back to the familiar old system.

June 5th: Boot up the new “Rosa” system for the first time, after first saving copies of all the dot-files in my home directory (since Rosa will upgrade them and then Jessie won’t understand them anymore).  Install some of my favourite Linux packages (emacs, wget, etc) and remove a few I don’t need (hplip, cups, bluez, etc).  Then back to the old “Jessie” system, which still has those three problems forcing me to upgrade.

June 23rd: Time to get serious.  The laptop’s FN keys for controlling volume and backlight do not work when logged in to Rosa/Cinnamon as ‘root’ (which I always do but it’s been deprecated for years).  I futz around with it for a bit, but eventually decide to “act normal” and log in as an unprivileged user (this means that I can’t use my main Emacs session to edit system files).  Firefox 47.0 works better with Reditr, although memory leakage is still excessive.  Thunderbird cannot see my mail archives and Opera has lost my RSS feeds, but I decide that Rosa is good enough to use for now.

June 26th: Opera 38.0 is not very good.  It has a wacky multi-level menu system that can no longer be turned off, making bookmarks much less accessible than they used to be.  Also it seems that all support for RSS feeds has been removed.  Looks like Opera will need to be demoted to my “backup browser”, even though Firefox does not have good support for search accelerators (with Opera I could type in the address “w Boris_Johnson” and instantly get a Wikipedia bio on this famous person, or type “e ProScan” to get eBay listings for matching products).
      I can’t figure out how to pull the list of RSS feeds from Opera’s data files, so I boot up Jessie (after switching my home directory to the saved dot-files) and start Opera to export the feeds as an OPML file.  Back in Rosa (switching dot-files again), I start manually adding feeds from the OPML file to Thunderbird, then discover a poorly-documented feature Edit → Account Settings → Feeds → Manage Subscriptions → Import, which just happens to accept an OPML list of feeds to add.  Those manually-added feeds are now duplicates, so I delete them.
      Firefox has a tool called “Subscribe” (it’s hidden by default).  It strongly promotes the use of Live Bookmarks for RSS feeds, but once you tell it to use /usr/bin/thunderbird instead then it Just Works™.  Clicking on a link in Thunderbird opens the web page in Firefox, so these programs seem adequately integrated for my needs.

June 27th: Merge the old email archives into Thunderbird 38.8.0.  This is a royal pain because disk space is now very tight on /home and so I can move only a few emails at a time.  I delete the saved dot-files, which frees up a lot of space, but means I can no longer go back to Jessie.  While I’m at it, I clean up the email archives for my seven years at Company 𝔾.  It feels good to put that thing to bed, although it would be better if I had managed to find a replacement job by now.

June 28th: Java no longer works in the browser.  This has been deprecated for months, but I have IcedTea installed and it clearly does start, but then a blank screen appears instead of the Java app.  Same behaviour in both Firefox and Opera.  This is a problem.  I use StreetSmart.com to put trailing-stop protection on my stock trades, but it’s written in Java and is now obsolete.  I can still use Schwab.com which is mostly plain HTML, but that is for “investors” rather than “traders” and doesn’t offer trailing-stop orders.  I could use StreetSmart Edge®, which is a .net app, but then I would have to reboot into Windows any time I want to do something with the stock market.
      But wait!  One of the advanced new features of Linux Mint 17 is supposed to be improved support for VirtualBox.  Maybe I could run StreetSmart Edge inside a paravirtualized Windows system inside a GUI window under Linux, just like all the cool kids do nowadays!  It’s never worked for me before, but I try installing VirtualBox.  It needs a Windows installation disk, so I download the Windows 8.1 evaluation as an .iso file, then write it to a USB stick.  VirtualBox cannot reuse my /windows partition and needs several GB to create a simulated hard drive for windows, so I delete the .iso file to make room.  Then it turns out that VirtualBox cannot use the USB stick and wants to simulate the installation disk using the .iso file, so I download it again.  But Windows 8.1 refuses to boot inside VirtualBox, because my CPU is an old Centrino Duo which doesn’t have the VT-x instructions that Windows 8.1 requires when running in paravirtualized mode.
      So I download the Windows 7 Starter .iso from this slightly-shady site, figuring that I’ll reuse the product key from my dual-boot Windows.  But my officially-licenced product key is not accepted because it’s for Windows 7 Home Premium rather than Windows 7 Starter.  So I get a key from this rather-shady site, which is accepted.  But Windows 7 won’t install itself because it insists that the simulated hard drive needs at least 6 GB of space.  (I remember when operating systems would fit on a single floppy disk!  I used to use a computer whose entire hard-drive capacity was only 0.005 GB!  So get off my lawn!)  I decide to free up some space by deleting old Company 𝔾 stuff.  The most useless stuff is non-final versions of slideshows for conference sessions, which surely I will never look at again (nor will anyone else).  I try using an Emacs keyboard macro to select the non-final versions from a list of all conference-data files, but the list is long and the macro runs slowly.  So I write a Lisp function to prune the list, which runs in an instant.  It occurs to me that this is the first “computer program” I have written in many months.

June 29th: Windows 7 installs successfully inside the simulated computer, but it cannot access the Internet.  Google finds many people with similar problems, but most of their “solutions” don’t work.  It turns out that the default networking settings for VirtualBox are not compatible with Windows 7, even though there’s a drop-down menu with “Windows 7 (32-bit)” selected so VirtualBox will know what kind of OS it’s supposed to be supporting.  The correct answer is to tell VirtualBox to use the ”Bridged Adapter” methodology and simulate the ”Intel PRO/1000 MT Desktop (82540EM)” type of networking device, which is so old that even Windows 7 knows how to deal with it.
      StreetSmart Edge installs successfully and runs well.  The “Live Chart” function correctly updates once per second to show the latest prices on Wall St.  But the rest of my system lags a lot while VirtualBox is running.  I improve this some by telling VirtualBox to simulate a computer with only 0.75 GB of RAM.  (I spent most of my career writing software for computers with only 0.00003 GB of RAM, although those programs couldn’t do any fancy graphics.)  I only have enough hard-drive space to store one “snapshot”, so I set it to resume to the moment when StreetSmart Edge asks for my username and password.  I’m getting warnings that there’s *only* 1 GB of space available, so I invoke the wizard command “tune2fs -m 2” (kids, don’t try this at home), which reduces the /home partition’s safety margin from 5% to 2% and frees up another 2 GB of space.

June 30th: Begin writing up this document, which requires examining the log-files from the old Jessie partition.  Some of the ”facts” documented above might be inaccurate because I didn’t keep careful records as I went along; sorry.

July 1st: Time to get rid of the old Jessie partition to free up 12 GB.  To move partitions around on a hard drive you must boot from someplace else, but my usual USB stick was overwritten with Windows 8.1, so I download Linux Mint 17.3 again (meanwhile, Linux Mint has released version 18.0).  Write it to the stick and boot it up.  Remember that I haven’t set up Rosa to act as its own web-server yet, so save a copy of Jessie’s /etc to Rosa in case I need it.  Then use gparted to delete Jessie, make /windows be 1 GB bigger, and put the rest of the released space into /home.  This requires moving 21 GB from one spot on the hard drive to another, which takes half an hour.  Despite all the warnings that this could make my hard drive unbootable, Rosa boots up just fine.  Windows also boots correctly, after first spending a lot of time on chkdsk which finds no problems.
      So now all that’s left is to remove Jessie from the boot menu, since that menu item no longer points anywhere.  I use the wizard command “grub-mkconfig” for that.  All done!  Happy Canada Day!

Guts

Dec. 13th, 2013 08:44 pm
pyesetz: (woof)
I didn't do much today.  The wind-chill was nasty all day, but most of the things I was supposed to have done were on the telephone.  One item: I was supposed to call one of the local "Chamber of Commerce" type places to ask if they know of any other Job Fairs like the one they held a month ago.  (They had 55 vendors, I handed out 5 résumés, went home thinking there were actually two companies I'd like to work at, but later found out that one doesn't need a software guy right now and the other has run into funding issues and can't hire anyone.)

I was also thinking of asking them where I could find a part-time semi-retired salesman for a "Linux system administration outsourcing" company, because it seems that I could actually form such a venture but none of us wants to be the guy who goes out and hawks the product to potential customers.  One of the nice things about sysadmin is that you really can create virtual full-time people by packaging up a bunch of part-timers (as long as work-documentation standards are strictly adhered to).  Two half-time contractors get paid less than one full-timer, so there's "margin" and "value-add" and all that lovely business stuff.  But I didn't call.

Today, PZ Myers wrote about the first time he asked out his future wife, which reminded me of my difficulties in picking up the phone to ask those two companies from the Job Fair why they hadn't called me back.  (You never know — I once got a job several months after a different job I had interviewed for had funding difficulties, because the interviewer remembered me.  And *that* job led to Company ℱ where I worked for 17 years.)  Professor Myers writes, "She was the brave one when she said yes."  Yeah, if any salesman were to agree to take on this gig, he would have to be a brave one.  Right now I have only one customer (that I would like to replace, or at least augment) and the method I used to acquire that one probably wouldn't work again.  I have no idea how to sell such a service, or how to determine what price the customers would pay for it, or how to find people who should buy it.  If you know that you're not good with sysadmin, then you don't think about sysadmin approaches to solving your problems, so you don't "feel the lack" of a sysadmin on your staff and don't realize that you could benefit from hiring an outsourcing firm.

I had a much easier time asking out my future wife than Dr. Myers did.  I just posted a "mating call" to a University BBS.  She was the only female respondent, so — years later — I married her.  Now if only I had some income to put food on the table for our children...
pyesetz: (woof)

Suppose you need to convince a client to buy your company’s product, so you decide to take him on a hunting trip — and you bring along your dog.  While jawboning to the client about how great the product is, in order to emphasize your company's ability to complete its projects, you shoot a duck out of the sky.  The duck lands in a marsh, so your dog goes and fetches it for you.  As you take the hunk of meat from the dog, you give him a small prepackaged treat and think, “What a stupid trade this dog just agreed to.”  But who is really getting the better deal here?

Suppose instead that you fail to shoot any ducks, so your dog has nothing to do — yet he still gets his dinner when you go home, just like every day.  The dog gets heating and air conditioning, food, vet care for his boo-boos, and an appreciative boss.  He gets fed regardless of whether you end up pulling off that deal with the client.  He got no worries, hakuna matata!

* * * * *

In other news, I gave another lecture at that monthly programmers’ meet-up, which is sponsored by a company that I guess I’ll refer to as “ℙ” on this blog.  I talked about my never-completed doctoral thesis and how it relates to my difficult-but-eventually-completed move to Canada.  (I skipped over the part about how the USA is not actually a “free country” because previous meet-ups clearly indicated that these Canadians didn’t want to hear such talk about our neighbour, friend, and ally The States.)  I talked about the professor that I had hoped would supervise the dissertation and how I had designed the program to match up with his personal proclivities.  I showed some code and discussed how it connected to certain foundational theorems of computer science.

After my speech, a fellow I had never met before, who apparently does not work at Company ℙ, asked me if I was a professor at the local university.  “No,” I replied, “I just sound like one.”  He asked to see my résumé, so I showed it to him.  He was apparently not expecting to see that I have spent the last seven years doing web-monkey work at Company 𝔾, so he never did talk about whatever job he had wanted to offer — which is too bad because the fellow seemed to be quite well off and I could sure use some dough.

The Company ℙ manager asked many questions about my project, but continued to avoid saying anything about possible employment.  My impression was that my presentation had convinced him that I was not a suitable candidate for his own part of the company (perhaps to be called here?) because his group is all about the “awesome user experience” and my program clearly demonstrates that my visual-design skills are not “awesome”.  Damn it, I’m a content guy, not a pretty interface guy!  But apparently there are other positions accessible through the Company ℙ network, so it still seems worthwhile to go back next month.

The Company ℙ guy who’s big on Haskell wasn’t there this month.  In fact, there were less than a dozen people in attendance because so many people were on vacation for August.  But one guy announced that it was his first day on the payroll so he had brought free beer for everyone!  So that was nice.

* * * * *

Doesn’t anyone need a doggie to go fetch a program for them from the marsh after they’ve convinced a client to buy it?  I can fetch really meaty programs and I don’t need especially-fancy treats for them!  And I can and have fetched from areas of the marsh that most doggies wouldn't dare enter.

pyesetz: (felix)
Yesterday I did something a little different: I attended a meet-up for software developers.  It was sort of like a furry meet-up in that most of the people present were of the feline persuasion and very few of them said anything.  Basically, a few people played "exhibitionist" and showed off their naughty bits software code to the people playing "voyeur".

One guy showed off his Haskell program for XMPP messaging on multiple platforms, to get around Google's new (evil?) restrictions on IM chats.  I've never used Haskell, but it does seem to do a reasonable job on such multithreaded tasks.

Another guy showed off his shell script for grabbing videos from YouTube and queueing them for background downloading to his laptop.  He said that his mother once complained about YouTube's new advertisements and he hadn't even noticed them because he never actually views videos at their website!  His T-shirt was too short and he displayed some bellyfur whenever he gesticulated (which was often).

A third guy showed off a chat robot he uses to keep his programming team on the same page.  It contained various silly features and inside jokes.  I asked him why his company was hosting these meetings and providing free pizza and pop, but he couldn't really explain that and just mumbled something about "exposure".

After the main meeting, I whipped out my laptop and showed off some code from Company 𝔾's website.  I mentioned that I had processed the data using Lex "because I'm just that old", but the shell-script guy said he also uses Lex, even though he's probably 15 years younger than I am.  I mentioned that I was looking for a new job, because seven years with Company 𝔾 is just too much (the average programmer changes jobs every two years).  One fellow who works at OpenText said that his company was hiring.  I suppose I could do that job, but it's full time and I was hoping for a semi-retired position.  And there's some Windoze programming required.  And they've outsourced their HR department; I was hoping to avoid the cattle calls by schmoozing at a programmer's meeting instead of spamming my résumé all over the Internet.

Dunno yet whether I'll go to next month's meeting.  I certainly have plenty of code I could show off, but... what exactly is the point of these meetings???

*sigh*

Dec. 21st, 2012 11:36 am
pyesetz: (arctic-fox)
Sometimes an entire week goes by between moments when I feel like working at Company 𝔾.  The situation is starting to look similar to my last few years at Company ℱ, where I didn't want to leave because I like being "a big frog in a small pond" and hate job-hunting due to poor health, but I wasn't happy with management so I never felt like working.  A good boss could get me going again, but I don't have one.

I would say "FML", but things seem to be okay at home with the wife and kids.  Money is going to be a problem soon, though.

In Russian, Песец (which can be pronounced "Pyesetz") refers to a fox that's white in the winter and sort of blueish in the summer.  Maybe I should pick a new name.  The other Russian name I got in college was Мчить (don't even try), which perhaps I should use to refer to my weredog.
pyesetz: (Default)
The next “Company 𝔾” conference is coming up very soon!  Three customer complaints came in over the last two days, saying that the website wouldn't let them have their sets of slides for sessions-not-attending, even though it had already given them the slides for the sessions they did plan to attend.

The problem is here:if ($x == "all") {
    …some code…
}
So, does some code get executed or not?
‣ Yes if $x is the string "all";
‣ No if $x is the empty string "";
‣ No if $x is Boolean FALSE (which prints as an empty string);
‣ No if $x is the number 1 or the string "1";
Yes if $x is Boolean TRUE (which prints as "1").

I can sort of see why the PHP folks might have thought that it should work that way, but that's not what I meant!  Fix:if ($x === "all") {
    …some code…
}
The third equals sign means exactly equal rather than close enough.

Of the 536 customers for this conference, only 52 have tried so far to get their non-attending slides.  Because of this bug, the software told all of them that their downloads were “unauthorized”.  Bad software, bad!  Fourteen customers got around the problem by using the download-in-parts function, which is just supposed to be for large books downloaded via slow, unreliable modems.  As for the other people?  It seems they meekly accepted the computer's claim that they were not entitled to their books (which were supposed to be included in their conference purchase price).  “Mr. Bear” sent them emails apologizing for the computer's impertinence and asking them to please try again to get their books for the conference.
pyesetz: (arctic-fox)

DAY FOUR: The conference.  I’ve mentioned previously that Company 𝔾 is involved with conferences.  There’s one in the spring and one in the fall, never in the same city twice.  This year the spring conference was in Boston, which just happens to be the city name printed on my birth certificate.  Wifey had been agitating to do another Mass. Trip this year, so we timed it to coincide with the conference.

I have years of experience driving around in Boston, which doesn’t mean that I like it.  My Google directions told me to get off the Mass. Pike at Copley Square and immediately turn onto Huntington Ave., but I couldn’t do that.  When I got off the Pike, I was on Stuart St., which abuts Huntington but is one-way in a different direction.  So I had to go around in circles trying to get to where Huntington and Stuart meet.  When I eventually found the hotel where the conference was, it turned out that I had driven past it during a previous circle but hadn’t detected any of the signs (side-street name, hotel name, etc.) that would have clued me in.

It was nice entering the hotel, seeing that every conference room door had a sign with Company 𝔾’s name and the conference session numbers and titles that I had been manipulating with my software.  Yes, these conferences actually do exist in meatspace!  And people pay serious money to attend them.

I proceeded to the registration desk.  There I shook paws with “Mr. Bear”, for only the second time in the four years I have been working this job.  He introduced me to another fellow, whom I will be calling “Mr. Green” for reasons best left unsaid in a public post.  Officially, “Mr. Green” does not work for Company 𝔾, but for a separate company that I suppose I'll call “ℐ” in this journal.  The conferences are a joint production of 𝔾 and ℐ.  They’ve been doing this together for years.

I told “Mr. Green” that I had come all this way just to see him, which is actually sort of true in a way.  He was taken aback, but immediately asked me if my company could write some software for him.  I stammered for a moment, then said that I would have to hire some more staff but it should be possible to work something out.  His website software is crap and I think the organization as a whole would benefit if he could get some better people to work on it, but “Mr. Green” is computer-phobic and his current website represents his best effort to hire and manage software developers.

“Mr. Bear” went off to attend a session.  Eventually “Mr. Green” went off to some meeting or other.  So I was standing there at the registration desk, trying to decide what to do next.  Neither Bear nor Green had seemed particularly interested in introducing me to the attendee customers, probably because I was a little scruffy inside my clothes.  I don’t need a fursuit to be “furry”!  Eventually I decided to declare my mission a success and go home.  It was less than an hour of business meeting for a week of driving.  Doesn’t seem worth it, somehow.  It’s too bad that I can’t just fly to these meetings, but airplane travel has joined drug use as part of the US War Against Our Own Citizens and I do not enter warzones if I can help it.  Long-distance train travel is uncomfortable.  I wonder if I could go by boat?  It would probably cost a lot and take a long time, but maybe it wouldn’t be so bad if someone else were piloting the boat.  And it would need a satellite link for Internet access.  Perhaps I should look into that…

Returning to my hotel room in Billerica, I wrote a business email to “Mr. Green”, summarizing the points discussed in our meeting.  He replied later that day.  His reply is still sitting in my inbox.  I suppose I should do something with it; he is the easiest “second customer” that my business could ever get.  But I don’t want more customers!  I want to continue doing as little as I’m doing now and just get paid a whole lot more for it!  But I suppose I owe it to Canada (which has been very nice to me) to grow my business so it can employ Canadians and pay taxes.  [livejournal.com profile] shiver_raccoon says he might be able to rustle up some more “on-the-spectrum” folks who can appreciate the charms of this kind of virtual job.  But it takes months to develop a new subcontractor!  Maybe I should just go back to bed.

No, I wanted to talk to “Mr. Green” because I was sick of dealing with the garbage data that his website sends to mine.  I wanted him to fix his end.  He is (apparently) willing to pay me to do that for him.  There is Engineering Work To Be Done.  This isn’t the work that I had planned to do after moving to Canada, but it has fallen into my lap.

pyesetz: (fire-hunter)

Jump out of bed, drive to the Company 𝔾 conference and back (see next post).  Then laze about.  Then off to the local Borders bookstore, so the kids can spend the gift certificates they got from the in-laws.  The kids take forever to select their books, so there is no time available to visit Penzey’s Spice Shop.  Wifey is very unhappy about this.  I tell her that it’s all her fault, which is one of the worst things you can say to her.

Visit with my spinster aunt in Brookline (¾ hour drive each way).  She is the only surviving member of my family with whom we are still on speaking terms.  I am the executor of her estate and much of the conversation revolved around making it easy for me to clean up her affairs after she passes away.  “I’m almost eighty,” she said.  She dropped hints about whether I needed some money before she died.  It reminded me of my great-aunt, who called me at University 25 years ago, not long after she turned 80, and asked if I had a business that she could invest in.  “This may be the last time I can help you,” she said.  The next time I saw her, the mind was not all there anymore.  My father had a horrible time cleaning up her estate.

I regretted not getting the dough from my great-aunt, so I shouldn’t waste this offer from my non-great aunt.  But my business is software development and doesn't really have any capital costs.  My mortgage balance is uncomfortably high and interest rates are expected to rise drastically in the near future.  My car has 100,000 miles on it and might not last much longer.  But none of these seem like good reasons to present to my aunt as to why she should give me a hand-out.  Maybe, if one of my elderly neighbours wants to sell their house and move to an old-age home, I could ask my aunt for the down payment so I can rent it out.  My father did that for awhile.  My great grandfather apparently made most of his money that way, eventually closing his butcher shop and just doing real estate all the time.  But there are no For Sale signs on my block at the moment.

pyesetz: (woof)
Yup, I'm a businessdog now!  I just finished paying my employees workers one-and-only subcontractor.  [livejournal.com profile] shiver_raccoon should get the money by tomorrow.

When I told one of the homeschooling moms that my payroll consists of going to my bank's website and pressing some buttons, she asked: "Is that legal?"  I've gotten that before, when I tell people that my job consists of sitting in my basement and pressing buttons on my computer, then money magically shows up in my chequing account.  Because of the paranoia that the mass media churns up about "hackers" in order to sell their advertising, a lot of people assume that any kind of electronic transaction that they are not personally familiar with must be a criminal activity.

No, the money magically appears because "Mr. Bear" tells his bank to take the money out of his pocket and put it into mine.  The money being sent to Shiver was withdrawn from my account.  There's a lovely audit trail and everything!
pyesetz: (fire-hunter)
The yum update command is supposed to fix problems, not cause them.  It installs only carefully-vetted changes that merely improve security and do not change the function of any program.

Yesterday I ran yum update on company 𝔾's servers.  It found 14 updates, including one called "httpd.i386 0:2.2.3-31.el5.centos.4".

Today I got an email:
From: anonymous@Company 𝔾.com
Subject: Output from your job 97
To: apache@Company 𝔾.com

This account is currently not available.
Well, isn't that special?  I like to use the adverb "currently" a lot, but that message doesn't appear in any of my code.  A Google search says it comes from /sbin/nologin.  Apparently the update for httpd had silently "fixed" the "problem" that my system allows Apache to run batch jobs, because surely only an Evil Hacker would ever want to allow such a thing so it should just be fixed without even mentioning it.  So I edited /etc/passwd to reënable (hi, Logan!) the batch jobs, but obviously this problem will come back with the next update and next time I might not be so lucky that the email shows up soon after the update so I can connect them in my head.

There's remarkably little on the web about this.  Allowing Apache to run batch jobs is so mind-bogglingly insecure that no pundit tries to defend the practice.  For example, this page tells people to "temporarily" enable Apache logins, but is preceded by the text "NOTE !!! only change the following for testing purposes so that you can su to apache from root and test xmms !!!!" because of course there could never be any legitimate reason to do such a thing non-temporarily.  Earlier on that page, another commenter recommends using sudo, but with the proviso "Major security risk - do it only if you really need to run some commands as different users (nologin users) and if you are really lazy :)".  Apparently his preferred solution is a cronjob that runs constantly, looking for work to do.  Since when is polling to be preferred over an interrupt-driven approach?

I guess I'll write a setuid program to run the batch job as some random user.  It doesn't matter who; the batch job is already using a setuid program to read a logfile that's restricted to root, and the results are written to a MySQL table.  It'll be just another useless layer of indirection to placate some paranoid person someplace, with minimal actual increase in security.  If nobody else in the whole world allows Apache to run batch jobs, then nobody will aim a virus at that attack-vector and I'm completely safe!!!  And why is it so much more horrible to let Apache run batch jobs than to let it run programs like "batch" in the first place?
pyesetz: (Default)
Welcome, [livejournal.com profile] shiver_raccoon!  Shiver has signed up to work at Company 𝔾 in his spare time.  Recently “Mr. Bear” wrote Congratulations to both of you! (to Shiver for finishing his first project and to me for finding a productive person to hire).

I'm not really much of anybody in the Furry Fandom.  I don't wear a fursuit, I don't draw in people's sketchbooks, I don't help out at FurCons.  But I hire furries!

Oh, and the qualified respondent to my DailyKos ad has signed up as well.  Now the only remaining issue is the other TorFur fellow, a heath feline who flunked the "Can you still remember how many 1,000-line programs you've ever written?" item on my hiring quiz.  I'd like to encourage him, but he has a long way to go.

Update: Company "Γ" is now renamed to "𝔾"!  The old name looked like a hollowed-out box in sans-serif fonts.  The new name is supposed to be a double-struck capital G.  It is a non-BMP Unicode character, which probably looks like a big fat nothing to those of you with subpar fonts on your computers.  Please leave a comment below if you can't see the 'G'.
pyesetz: (felix)

The subject above is a surprisingly-popular answer for the poll at the bottom of this diary over at DailyKos.  I had originally sent it to TorFur, but the initial response was rather poor (I had been warned that job postings to furry lists usually don't get much of a response), so I reposted it to DailyKos.

In case you're wondering (and who wouldn't?), the [CENSORED] items are
  • Dogbiscuit crumbs and Nutella
  • Wear a diaper and not bathe
  • Cute foxboi
As of today, I'm still talking to one of the TorFur respondents and one of the dK respondents, but so far no one has actually signed up for the job.  So my unblemished record of "always a programmer, never a manager" continues!  I expect that becoming a manager will cause my headfur to go grey overnight, because management is one of those "life passage" things that causes your body to think that you need to start looking older and more distinguished.
pyesetz: (Default)
My system for getting paid is a baroque monstrosity:
  1. At end of month, calculate hours worked and multiply by the exchange rate from the front page of xe.com.  Send email to "Mr. Bear" at company 𝔾.
  2. Wait for Mr. Bear to cut me a cheque (a day or two).
  3. Wait for cheque to travel via snail-mail from California to New Jersey (3-5 days)
  4. Wait for cheque to clear via ACH (1 day)
  5. Order a currency trade via xe.com.  Their bid/ask spread means the rate I actually get is usually about 2% less than the front-page quote.  Sometimes it's 10% less if the loonie is rising in value.  Sometimes I get lucky: the loonie falls between steps 1 and 5 so I actually make money off the currency fluctuation.
  6. Wait for the money to travel via ACH from New Jersey to xe.com in British Columbia (5 days).
  7. Wait for money to travel via CPA from British Columbia to Ontario (2 days).
  8. Decide how much spare money I have and transfer the excess to my home mortgage to reduce the principal (instantaneous).

Right now I'm at step 4: the November paycheque has arrived in New Jersey but has not yet cleared.  It looks like there will actually be some money available for a mortgage principal payment this month!

The ridiculous part: my bank in New Jersey and my bank in Ontario are owned by the same holding company!  The transfer could be instantaneous if the various governments and regulatory boards would permit it.

The stupid part: Mr. Bear has to mail paper cheques because his bank treats Direct Deposit as a premium feature that is not part of the El Cheapo business checking account that he has.  In Canada, anyone can make an electronic payment to anyone who has an email address, with no spread because it's done via CPA.  In the States, a similar service is provided by PayPal but they want a piece of the action *and* they want assurances that you are not buying something that they disapprove of (such as furry artwork).

pyesetz: (sozont)
I don't really have a website.  I used to have Furtopia, but I messed up and my account was frozen.  I used to be a paid member here at LiveJournal, but I had to cut costs.  For a while it seemed I didn't "really" need a website since I could just embed images directly in journal posts, but LiveJournal recently (and silently) stopped allowing that.  As usual, they didn't reply to my support request, so I'm left guessing as to why they did it.  My guess: it allows people to not buy LiveJournal memberships because they don't really need the ScrapBook® feature!  If that is really the reason, the new owners have flushed [livejournal.com profile] brad's original raison d'être for this site and I should avoid paying them on principle.  That's too bad because I really liked the (poorly-documented) RSS feed of friends-only posts.  It was my favourite paid feature.

A few months ago I created a Google Sites website.  It seemed like it might fill the bill, although the documentation for how to write JavaScript for it seemed rather complicated, so I put off learning more about it.

Last night was the beginning of Rosh Hashanah.  Since "Mr. Bear" and I are both Jewish, I generally make a show of not doing any paid work on major Jewish holidays.  What to do instead?  I worked on my Google site.  Problem: it is difficult to figure out how images stored in Google's File Cabinet (example) are to be hot-linked from other websites (example — can you see the laptop photo?).  In general, it seems that Google Sites is too concerned with preventing you from doing things that will make Google look bad and not concerned enough with ease of (re)use.  Also, their Terms of Service allow them to delete your site at any time for any reason or no reason.  Hey, if I didn't care about long-term storage or customized programming, I would use Imgur!

So I restarted another old project: find an ISP.  I wanted
  • Server physically located in Waterloo, Ont. (since we have plenty of connectivity here);
  • Runs Linux so I don't have to learn another operating system;
  • Offers ssh shell access so I don't have to learn another "website control panel";
  • Virtual Private Server technology so I can get root access even with "el cheapo" shared hosting;
  • PHP and MySQL for custom programming (which is what initially attracted me to Furtopia);
  • About $7/month, which is what WestHost used to charge for this feature-set (but they're in Utah, the cheap plan is now $9 and doesn't include ssh anymore).
Last night I found lots of ISPs that had *some* of these features, but none had *all* of them.  And reading through HostSearch was depressing; so many of these hosts have gone out of business after posting their ads.  Consider AroundKW:  They're based in Waterloo, but apparently their server is in Florida.  No Linux, no ssh, and minimum $12/month.  Other people offer Linux for as little as $2/month, but almost nobody dares to offer ssh (which would be suicidal for a Windows-based ISP to offer, due to lack of security).

But lo and behold!  HostMDS offers Linux, ssh, PHP+MySQL, hosting in Waterdown Ontario (at least it's in-province, but they claim it's in Toronto?), and only $6/month!!!  Their Terms of Service are reasonably clear ("A website is considered using 'Excessive amounts of resources' when it monopolizes the resources available using 10% or more of system resources for longer than 60 seconds.") although it seems wrong to me to mention "Canada" and "DMCA" in the same paragraph.  Sorry, Stephen Harper, nobody but you wants a DMCA here in Canada!

So I tried signing up for their basic starter "Unlimited" plan.  Things were going fine until I got to the page where it said "To protect against fraud, we will now call the phone number you gave.  Enter this PIN when prompted.  Click HERE to begin the call."  But it was 1 AM and I had sleeping children!  Today I managed to get the signup process restarted to the point where their computer did call me and I entered the PIN and also the voiceprint of my name, but the transaction still didn't go through because it had already been "cancelled".  I tried a complete do-over, but then it wouldn't give me the hostname I wanted because "this name is already in use at HostMDS; cancel your other website first" but the name isn't in use and it shows in my account as "cancelled; status FRAUD".

I sent email to their sales department, but it's the weekend and they probably won't reply until Monday.  And then Rosh Hashanah will be over.

So I had to think of yet another thing to do that wasn't paid work and wasn't 8 boring hours of chanting Hebrew in a synogogue.  I started cleaning out my email inbox.  I actually managed to get rid of 10% of the oldest entries (down to 371 now) before thinking of something else to do instead: write this post!

UPDATE Sunday 20 Sept.: Heard back from HostMDS sales.  The "fraudulent" signup evaporates after 24 hours.  So I signed up again and asked for a new phone call—which failed because Wifey was on the phone to her mother!  Oh well, guess I'll try again tomrrow.
pyesetz: (arctic-fox)

Have I mentioned that I do not like Perl?  Yes, I think I have.  Well, I'll say it again.  Non-programmers should skip this post, which is just a long drawn-out whine about how Perl makes computers unnecessarily difficult to operate.

Today's job: install Bugzilla.  Bugzilla has a neato feature where you can send it email and it will make a pretty bug report out of whatever you say.  How do I know that?  Wikipedia said so back in October (and I have a citation in an email to prove it), but there's no mention of it there now and no mention in the Bugzilla configuration manual.  It's in the API manual.

So there’s this program that's supposed to read the email, which means I have to tell the email system that all email received on behalf of some nobody-would-ever-guess-it address should be processed by this program rather than being held for someone to read.  My laptop uses postfix, so all I have to do is add this line to file “/etc/aliases” and then recompile the aliases database:
     nobody_will_ever_guess: |/usr/share/bugzilla3/lib/email_in.pl
Where the | character means “run this program when mail is received for nobody_will_ever_guess@mymachine.ca”.

Okay, now send a test message to the special address.  Fail: Permission denied.  Set the ‘execute’ permission bit on the program file.  Fail: Permission denied.  Allow userid ‘nobody’ to access the program’s parent directory.  Fail: Can’t find module Bugzilla.pm.  Add a use lib statement to the program—didn't anybody test this thing?  Fail: Can't find module Email::Reply.

Well, I guess that’s a reasonable error.  Bugzilla’s checksetup.pl script had warned me that module Email::Reply was missing but optional.  It even told me the exact command needed to install it:
     /usr/bin/perl -MCPAN -e 'install "Email::Reply"'
Piece of cake!  So I intone the command as instructed.  Fail: Can’t access server ftp://ftp.perl.org/CPAN.  It's down for Christmas.  But ftp://cpan.org is up and has the same data—and Perl helpfully tells me the comand to use to give it an alternate server: 'o conf urllist push ftp://myurl/'.  But it doesn’t tell me *where* to enter this command!  I try /usr/bin/perl -MCPAN and enter the command o conf urllist push ftp://cpan.org/Fail: Bareword found where operator expected.  Maybe quotes around the URL?  Fail: Syntax error.  Okay, I don’t speak Perl (apparently the correct answer is q[ftp://cpan.org], which is both ugly *and* materially different from what was said in the hint) so I add a line to /etc/hosts to make outgoing requests to "ftp.perl.org" actually get sent to "ftp.cpan.org" (try *that*, Windows® mavens!).  This produces a cascade of error messages (because cpan.org is not equivalent to perl.org, but to perl.org/CPAN, so all the URL paths are wrong) but somehow it manages to download the file anyway!

Okay, now send the test message again.  Fail: Permission denied, file /etc/bugzilla3/localconfig  This is going to be a problem.  The program is getting run as userid ‘nobody’ but all of Bugzilla’s files are restricted for access by userid ‘www-data’.  I try fiddling around with the permissions a few times, but Fail fail fail: denied denied denied.  I set the sticky-userID bit on the program.  Fail: cannot exec sperl.  Install Ubuntu package “perl-setuid”.  Fail: Insecure dependency on chdir at line 31 of email_in.pl.  Didn’t anybody test this thing?  How can it possibly work without setuid, and how can it possibly work *with* setuid if they didn’t write it with the extra care required for such programs?  The reason why it is calling chdir() is because it wants to include some subprograms from the same directory where email_in.pl is stored.  In other words, it is assuming that the current directory is part of the library include path, which is absolutely not true for setuid programs.

So clearly this program is not supposed to be setuid.  Postfix has a way to set the userid for subprograms that it runs, but I can’t figure out how to do that for programs specified using | in /etc/aliases.  Maybe I should just install this thing on Company 𝔾’s server, which uses qmail instead of postfix.  So I install Bugzilla there and configure it the same as on my laptop, including the feature “automatically compress BMP attachments to bugs as PNG”.  Fail: Can’t find Perl module ImageMagick.

Okay, again this missing module is identified by checksetup.pl, which tells me to use one of those -MCPAN commands to install it.  By now, perl.org is back up, so I don't have that problem again.  It offers me a selection of mirror-servers and I select “carroll.cac.psu.edu” because it's first on the list.  Oops!  Apparently PSU doesn’t really have the CPAN files anymore—I get a cascade of errors and instructions to use "o conf urllist" again.  Well, I know *that* won't work, so I scroll back through my Emacs shell buffer to find where it said “commit: wrote /usr/lib/perl5/5.8.8/CPAN/Config.pm” and then I edit that file to name one of the other mirror-servers.  It successfully downloads the module but then Fail: cannot compile.  Install Fedora package “ImageMagick-devel”.  Fail: cannot find directory /usr/include/ImageMagick.  Fuck CPAN and just install Fedora package “perl-ImageMagick”.  Success!

So next I should try getting that program email_in.pl running under qmail on the company’s server, but it’s too late at night now.  Fail: programmer time exhausted.

pyesetz: (Default)
This is a Panasonic TOUGHBOOK, model CF-Y5.  It is less than two years old.  Reviews are generally positive.  I got it as a Chanukkah present from "Mr. Bear" of Company 𝔾.  And just in time, too!  My previous laptop bit the dust last week, crashing dozens of times a day whenever it got jiggled a litle bit.  I had to pay about $280 in Canadian import taxes for my "gift".

I've set it up for dual-boot with XP (modified with Panasonic's custom drivers) and Ubuntu 8.10 "Intrepid Ibex".  It's mostly working with Linux except
  • The "DVD drive off" button doesn't do anything.
  • Pressing both mouse buttons simultaneously to create a "middle-button click" doesn't work reliably in Opera.
  • Most of the FN+Fx key-combos don't work.  I installed a free-software driver which makes the "brightness up/down" keys work.  It seems that I could also use that driver to make the suspend/hibernate keys work.
This is a stock photo.  My digital camera hasn't been seen since the return from Massachusetts, so I have yet to try out the photo tricks that [livejournal.com profile] dakhun told me about.
Rusty Russell: "You never see me hard with time word making sentence coherent stuff. Ever."
pyesetz: (Default)
In this week's episode, Obama has dropped "fuel-efficient cars" from his make-work program.  This might have something to do with Bush's insistance that the Big Three bailout must be funded from the "fuel-efficient car research" budget already passed, or it may have been that bloggers such as myself were misinterpreting what he meant in previous speeches.

He repeats here (from his Thanksgiving speech) that the make-work program will "save or create 2½ million jobs".  Previously it was just "create 2½ million jobs" and before that "create 2 million jobs".  This new rhetoric sounds nice, but does Obama really believe that "saved jobs" will contribute a significant fraction to the total?  The two million American jobs already lost during this recession are no longer eligible to be saved.

I like the new details on his "fix up the schools" program.  Current American schooling is designed to churn out factory workers, who are expected to "do as they're told" and "don't make waves".  Americans do not do as well at that kind of work as the Southeast Asians do, so really the US ought to break out of the factory-worker mold and train our kids to develop the next generation of gosh-wow computer software—that's something we're actually good at!  Of course, many school administrators will treat their new computers as tools for indoctrination and as traps for detecting "bad kids" who need to be branded as deviants and ejected.  No word from Obama on how he is going to get rid of the evil "Zero Tolerance" people.

Is it just me, or does Obama's "wire up all the doctor's offices for electronic medical records" sound a whole lot like HillaryCare?  Revenge is a dish best served cold...

So my last Obama-speech post on LJ got zero comments, but I thought it deserved better so I reposted it to DailyKos.  68 comments!  A spot on the most impactful diary of the day list!  I'm not sure what it means that my post was the 112th most important of the day.  It was a weekend so standards were lower.


* * * * *

So, Я did come back to Company 𝔾 for another week, but he never did manage to finish that initial project.  Apparently there was some personality conflict with "Mr. Bear".  So I'm back to looking for another assistant.  Does anyone know anyone who can do PHP applications development in a work-at-home setting?  Even during a recession?
pyesetz: (Default)
Wifey and I emailed our absentee ballots on Monday.  On Tuesday she received an email acknowledgment that her vote was accepted.  I did not get any acknowledgment.  Oh well—every candidate I voted for won anyway.

On Tuesday I got a promotion to Team Leader.  The *fifth* person I've tried to hire as an underling accepted the job.  On Friday he sent in his work for the week.  I wrote back that it was "not the correct solution" and went into considerable technical detail as to exactly why his program doesn't do what is needed, ending with "you did a great job on everything I didn't complain about!"  We'll see if he comes back next week for more punishment.  Hey, in today's economy, a job with an obnoxious boss is better than no job at all—right?

If he does come back, I guess I'll refer to him as ‘Я’ on this blog.  The letter ‘Я’ appears frequently in English parodies of Russian text because it looks like a backwards ‘R’, but it is actually not a very common capital letter: the ‘Я’ section of a Russian dictionary is very short.  But IRL, both Я’s name and mine contain this letter.  (Actually, I've never seen his name in Russian, but I *think* it has a ‘Я’ in it.)  A millennium ago, the letter now written as ‘Я’ represented a nasal vowel, perhaps like French "in", but this fact might not have anything to do with the history of my family's name, where the initial sound might have been the same as today's palatal approximant back when Slavs were writing Я as Ѧ and sounding like Frenchmen when they pronounced it.

So, how about them Team Democrat folks, eh?  Some of them still can't believe they actually won for a change.  President Obama gave a press conference where he announced that he is NOT THE PRESIDENT yet—meanwhile Harper is already trying to get Obama to do a North American deal on global warming so Canadian firms don't get penalized by the new US cap-and-trade system.  Even Dictator Chávez of Venezuela is saying that it's a new day and maybe he doesn't have to hate the USA anymore.  Did you know that Obama is the first-ever US president whose name ends with ‘a’?  It's true!  All previous president's names ended with a consonant or a silent ‘e’.  Also, he's the first-ever US president with a living grandmother in Kenya.  Some pundits have already started using the word Dholuo when referring to the president's family-in-the-Old-Country, while the more idiotic pundits use the word "Swahili" which is the official language of Kenya but is spoken by a completely different group of black people in that country.

The John McCain we saw making his run for the presidency (unlike the real John McCain, who gave his concession speech) was utterly unqualified for higher office, yet 47.5% of American voters pulled the lever for him.  That's like 70 million Americans doing something that no reasonable person should ever do, no matter what their positions might be on abortion and gays and whatnot—you should not hand over the football to a man who is willing to pretend to be a spineless hack!  So no, I will not be moving back to the States any time soon.

pyesetz: (Default)
(Based on my recollections, financial records, and Kid#1's diary.)

Friday, August 1st

Called the IRS to try to find out WTF their problem is.  No luck.  After 15 minutes on hold, interrupted every minute by a recording that commanded me not to hang up, I hung up.  I figured that if they weren't going to answer quickly, they would probably prefer for me to stay on hold for an hour so I could "soften up".  I am not in the habit of paying international long-distance phone charges for the privilege of being abused—and I was calling a number that was specifically for persons living outside the States.  Although I could perhaps try again from a hotel room during my trip, I decided to leave the IRS paperwork at home, as if they had "just missed me" and their letter was waiting in my mailbox upon my return.  The IRS letter made no sense (later, my accountants - TaxAct.com - concurred that there was no obvious reason for the IRS to reject my deduction).  Because of cascading effects from the IRS to New Jersey's Dept. of Taxation, I currently have $9,000 less money to my name than I had expected to have at this time.  I'll probably have to borrow some more against the house to pay for the washer, dryer, and stove I bought from Home Depot on a "12 months no interest" plan.  (They're an American company, so they were able to extend credit to me based on my US credit rating.)

Saturday, August 2nd

Rented 3 DVD's from Blockbuster, to use in the DVD players in our hotel rooms.  Our home DVD player has been on the Fritz for some time; one of these days I'm supposed to take it apart, give it my "magic touch", and get it functioning again.  That probably won't work unless the underlying problem is that the laser's lens is dirty.  I bought this player back in 2001, because it was available at Boscov’s and there was a cheat code for it on a website.  Macrovision® and Region Coding are of no value to me, only to the media barons, so I wanted a player that would work for me (the owner) rather than for Hollywood (the bully).

Sunday, August 3rd

Got the Voyager's oil changed at Jiffy Lube.  Also they replaced the dead brake light, and all three windshield wipers, and replenished the washer fluid (it was so low that its idiot light was illuminated).  Of course, it would be much cheaper to do these things myself, but I never get around to it.  They reminded me that the transmission fluid was overdue for replacement, so I had them do a full transfusion.  They showed me the tranny magnet, which was covered in metal filings.  Apparently my vehicle was heading towards a high risk of transmission failure due to particulates in the fluid.  I was supposed to return in a week to have the transmission bolts retightened, but haven't gotten around to it yet.  Maybe this week.

Stopped by Wal*Mart to get a fresh bag of Walnut’s usual dog food, to make his kennel experience less upsetting.  Wal*Mart is not the cheapest store in Canada, perhaps because they are not getting quite as big a subsidy here as the US govt gives them—properly paid near-full-time workers of a major corporation should not need food stamps!

Monday, August 4th

The big day.  Dropped off the dog at the kennel in the next village.  Wifey had set a target time of 1 PM for beginning the drive, but her weeks(!) of preparation had gone so well that she was actually ready to leave several hours before that.  I was not.
      After [livejournal.com profile] deffox told me that US tax forms should be done before the Canadian ones for my first year, I put off the US forms until their deadline (June 15th for us nonresidents).  By then the Canadian forms were already six weeks overdue.  There is apparently no lateness penalty for paupers who don't owe any tax (my earnings last year were below the poverty line, although I am doing much better this year).  So I continued to put it off.  But the time for dawdling had now run out.
      Before my last trip to the States, in January, I had worried that there would be trouble because my car was still registered in New Jersey, so there was a last-minute scramble to get Ontario versions of licence, insurance, and registration.  At the border, they did indeed ask me why I had re-registered my car so recently, and confirmed that there would have been trouble had I attempted to re-enter Canada in a vehicle with foreign plates.
      This time, the worry was that they would ask me why my taxes were late.  I actually do not know whether Border Patrol has access to such information, but I thought it better to have copies of the completed forms with me to confirm my claim that "I mailed them before I left".  So I needed completed forms, preferably copies of ones that had actually been mailed.
      The forms were mostly complete, but I needed to print out the 60(!) pages from UFile.ca and determine which were actual forms to file and which were part of the "presentation package" designed to make UFile's fee seem more reasonable.  The actual forms needed to be printed a second time and then mailed in, which involved a walk to the local bakery/convenience store/greasy spoon/post office (with free wireless Internet!).

We got under weigh at 1:10 PM.  Spent $80 on gas.  We drove along the QEW, which avoids Downtown Hamilton by crossing over the southwest corner of Lake Ontario, on a bridge that looks (in Google Maps) to be about 6 km long!  That lake is so big, it might as well be an ocean.

Our pre-printed directions from Mapquest.com had us going over the Queenston-Lewiston bridge into New York, but electronic signs on the QEW informed us that said bridge had an hour's wait, so we used the Rainbow bridge for tourists in Niagara Falls.  Unlike last time, there were no attack dogs today, but there were vast quantities of armed officers standing around, pretending to look for trouble.  "Security Theatre" does not make me proud to be an American.

We returned to our pre-printed directions at the New York State Thruway, which runs parallel to the lake but 40 km to the south.  Like southwestern Ontario, much of this area of New York consists of mile after mile of farmland, dotted with occasional cities.  We arrived at our hotel in Utica in time for my family to use the pool, while I tried to get in some work hours for Company 𝔾.  We ate food that Wifey had prepared at home for us.  We were only halfway there.

pyesetz: (arctic-fox)
Since [livejournal.com profile] momentrabbit took my bait, I am now obligated by the rules of LJ memeage to post in my journal:
Everyone has things they blog about.  Everyone has things they don't blog about.  Challenge me out of my comfort zone by telling me something I don't blog about, but you'd like to hear about, and I'll respond (if I can stand the searing pain your suggestion causes in the back of my head).
It's too bad that Moment and I aren't furiends.  If he were (and if I am reading the tea leaves properly regarding his whereabouts), he would be my second-closest furiend after [livejournal.com profile] solstice_sings.  Well, [livejournal.com profile] tehpyrex might actually beat Solstice for proximity if I friended him, but let's not go there today...

So what's on my furry to-do list?  Thanks for asking!  Let's see:
  • Bark Bark Woof Woof is still waiting for an answer to his email asking about how things are working out for me in Ontario (he lives in Miami FL but visits Stratford ON every summer).
  • [livejournal.com profile] shy_matsi (who just got out of hospital after having chest pains at age 29½) asked me for more detail about what it's like being married to a she-bear (see [livejournal.com profile] she_bears nope, that's a different kind of "she-bear").
  • [livejournal.com profile] loganberrybunny sent me extensive commentary on the complex situation of citizenship in the former British Empire, but I still don't quite know what to do with the pull-down "Country" menu at my employer's website, so I should reply to him again.
  • [livejournal.com profile] giza wrote a comment on my journal.  I need to find some way to respond that defends my point (because I still believe in it) without denigrating his much-greater experience in website design and maintenance.
  • [livejournal.com profile] tgeller wrote an entire post (last December!) in reply to one of my off-the-cuff comments.  I still haven't dared to look at the links he found.  BTW, on BoingBoing recently they showed a clip of zit porn.  I don't know about you, but somehow my zits just never look as *voluptuous* as those!
I also have non-furry to-do items, but you probably wouldn't want to hear about those.  Oh, you would?  Super!
  • "Mr. Bear" keeps asking when I'm going to hire some local college kids and start a little software-for-export business.  That's because I keep complaining about the "bodies" he hires who produce too little work for too much money.  But running a business is such a pain!  I could then join the local Chamber of Commerce, where I could hear all the town gossip myself instead of getting it second-paw from my dentist who is a member.
  • The government of Ontario hands out money to academics in April.  I really should apply 'cause it's free gravy.  And time is running out!
  • Most of the sewage pipes inside my house are clogged and they probably all need a good hard reaming.  Does that make you think of buttsex?  Enjoy your laugh if so.  But I would like to officially announce at this point that no human male has ever inserted any original-equipment piece of his body into my anus while thinking of me as being a creature named "Pyesetz".  Of course, the preceding pronouncement says nothing about my lurid (and nonexistent) life as a Topman.  As for frottage, my equipment is just not shaped properly for that activity (though I suspect it might be possible in a zero-g environment?)
[livejournal.com profile] swift_fox got some good responses when he posted this meme.  But of course I won't.

Profile

pyesetz: (Default)
Pyesetz/Песец

April 2017

S M T W T F S
      1
23 45678
9101112131415
16171819202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 26th, 2017 08:37 am
Powered by Dreamwidth Studios