mindstalk: (Default)
2017-04-30 08:11 am

MBTA passes math

Say you're a regular commuter, taking transit at least twice a workday. 10 trips, which would cost $22.50 if you're using a CharlieCard. A 7 day pass is $21.25, so it totally makes sense to buy one, then ride the T whenever you want. Even if you somehow had a 4 day workweek, having a couple more trips would be likely.

Four 7 day passes would be $85; a monthly pass is $84.50. So that makes sense too. Or does it? Say you have three weeks of vacation, and leave town for them; maybe you'd save money by just cycling 7 day passes, and skipping the weeks you're gone.

I approached the math from a couple different angles, but this presentation seems best: a month pass costs about the same as 4 weeks, so 12 monthly passes covers the year for the cost of 48 weekly passes. Even if you skip 3 weeks, you'd still have to buy 49 passes... plus covering that extra day (or two, if leap) in the year. So go monthly!

Though, having been using 7 day passes, I noticed that they actually shuffle forward. If I buy one on Monday morning, the next Monday I can leave a bit earlier and still use it, buying (or activating) my next pass Monday evening. And so on. The effect is that you end up covering 30 days for the cost of 4 passes, as each one picks up an extra "half-day" commute. And if you shuffled into buying a pass on a weekend, well, maybe you could skip travel that day and save an extra day.

Of course, there's a week's worth of 31 day months, so there's that -- you're not quite getting a month's worth for 4 passes.

It's nice doing estimations in my head, but at some point you have to turn to a calculator for precision. A year's worth of monthly passes is $1014. If you cover 30 days with 4 weekly passes, that's $85 per 'month', and $1020 to cover 360 days, with 5 more days to finagle. OTOH, if you can skip 3 weeks, you'd spend just $956.14 in a year, saving $57.75. Or $42.57, if you threw in 5/7 of another pass for the extra days.

Of course, that assumes you can maintain the shuffle. Weekends offer skipping a day, but a regular weekend thing might pin you down. Say I activate a pass at 8pm Sunday to go to Grendel's; the next week I might leave earlier, but I'd still have to activate a new one at 11:30 to get home. The week after that I could leave Grendel's a bit earlier, activating the next pass on Monday morning... okay, it still works, though Sunday feels a bit sticky due to the short 'commute'.

Of course, the monthly pass means not having to buy stuff every week, nor worry once a week about the timing of when you do things. OTOH, saving $40 to 60... well, it's not a ton, but it's not trivial either; 40/1014 is 4%.

Extra thought: if you really use the weekends on your one-week vacations, you could save another 2 days each, or 6 days total, in effect skipping another week.

As for me, if I had today off I'd probably just go monthly. Annoyingly, I probably have 4 or 5 trips to make today. Cash today and monthly tomorrow, or weekly today?


Meanwhile, the $12 daily pass is hard to justify unless you run around a lot. Even for a tourist spending $2.75 per trip via CharlieTicket, it costs more than 4 trips -- though if you're doing train/bus transfers that becomes a lot easier to justify, since the Tickets don't give a free transfer. But even then you'd d need bus/train, bus/train, and one more trip. For a Card user you'd need to make 6 independent trips to make a day pass economical. Most likely use case would be having to make multiple quick trips along a train line.
mindstalk: (Homura)
2017-04-29 09:48 pm

On recent bouncing

Twice cast out, shy of permanence, I roam the 'hoods of Boston.

Hilton was horrible to a friend. Her compensation? Three nights downtown for me.

Oak Grove home, great view.
Reason? Same as price: a steep slope
And slippery icy death.

Oak Grove, land of giant parks.
Malden Center, land of small shops.
Which is more alive?

Life in Orient Heights:
East Boston famed for plane noise
Home eerily quiet

In Cambridge, geese walk the River
In Revere, planes fill the skies

"No one takes the Blue Line", say Cantabrigians
Just poorer and browner people
Who enjoy working trains.

Blue Line stations clean, bright, spacious
Are they a real subway?
Red Line gut says no.

From a plain dark box, with two forks and no can opener,
To a home full of rugs, plants, and Buddhas.

If you meet Buddha by the catbox
Try not to piss on him.

Springtime paradox:
Plants have sex by wind pollen,
I hide indoors.

Jamaica Plain green and quiet,
Land of vegans, queers, Dominicans.
Co-worker fears crime: "Please don't die!"

One hostess: absent, unmet.
One hostess: garrulous and gift-giving
One hostess: fleeing to China.

Orange Line, Blue Line, Orange Line
Not a Trader Joe's for miles.
Just great Mexican food.
mindstalk: (Default)
2017-04-23 04:57 pm

life stuff

I'm still nomadic in housing. Since leaving a friend's free basement, I've stayed in a downtown hotel, near Oak Grove (tip: prefer Malden Center), a Cambridge co-op, Orient Heights (a bit too quiet), and now in JP. I sample a range of housing as well as neighborhoods, from "motels have more character" to "totally decorated in plants and Buddha statues". In May I'll be by Malden for a month; be nice to stay somewhere long enough to make it worth buying olive oil.

Job progresses. Friday not so much: I put in some USB sticks, wanting to extract my VM image. Two of these I know worked in this laptop before. But one never became visible, the other had most of its structure missing. I tried rebooting... and the Windows laptop refused to reboot. "Required device not available". My co-workers had never seen that before, though some people on the Internet had. Unclear why it happened. My boss had been diligent in saving and labeling stuff, and was able to launch a repair process, though I had to make a trip to Braintree. (Too suburban for me.)

I can say proudly that the only thing at risk was a tool to work with; I've been good at ending the workday with no information uniquely on my laptop.

Entertainment: slowly re-reading Hodgell. Wikipedia pages on Catullus and Ovid, and linked pages on various forms of rhetoric. Watching episodes of Ghost Stories (the black comedy anime dub) with people.
mindstalk: (Default)
2017-04-22 02:37 pm

US air marshalls

"Someone forgets their gun" isn't that newsworthy; people make mistakes. This article is more interesting for the other terrifying information it includes:
"newly hired air marshals do not currently receive on-the-job training"
"Although it has an $835 million budget, agents cover less than 1% of US domestic and international flights"
"A CNN report in 2015 exposed the long hours, chaotic schedules and use of drugs and alcohol among federal air marshals"
"obtained a now-classified study commissioned by the TSA that revealed 75% of air marshals flying domestic missions were sleep-deficient"

I like that 'now-classified' bit. "Oh god, they found problems. Let's classify it so people can't see!" This is also part of why it's hard to take "leaked classified information" as an inherent civic sin.

mindstalk: (Default)
2017-04-22 02:09 pm

varieties of train station neighborhood

One possible categorization of train stations:

* You emerge, and are immediately in a business district or otherwise interesting area. Examples: Central, Harvard, Porter, and Davis Squares on the Boston Red Line, along with Charles/MGH and Quincy Center; Kimball on the Chicago Brown Line; almost any downtown station, at least in a healthy downtown during the workday; Maverick, Orient Heights, and Beachmont on the Boston Blue Line.

* You emerge, in a parking lot or bus station or other thing that involves a fair bit more walking, but at least can see where to go toward something interesting. Examples: Fields Corner on the Boston Red Line, where you're at a long bus stop but can spy businesses; Assembly on the Boston Orange Line, where I think you'll have to walk a block but you can see the TOD from the station; maybe Wellington, where IIRC you have to walk through a big parking garage to the TOD, but there might be signs telling you to go.

* You emerge, and see no reason not to turn around and catch another train somewhere else. Examples: some Jamaica Plain Boston Orange Line stops, where you come out to a bridge surrounded by traffic; some stops on the south branch of Chicago's Blue Line, where the train runs in a freeway median, and you come out onto an overpass, and there's nothing around; Braintree on Boston's Red Line, where after two minutes on a ramp I still hadn't even left the station yet, and couldn't see anything but giant boxy buildings; I suspect Malden Center on Boston Orange, where you're not far from Malden's center but I'm not sure you'd see it; likewise Sullivan Square on Boston Orange, where the most interesting part I know of is hidden over a rise.

Note that can include "there is stuff but you don't see it" and "there's pretty much nothing around, for real."
mindstalk: (atheist)
2017-04-14 09:14 am

UC Davis trying to scrub pepper-spray incident.

It's a small thing in the world, but I feel compelled to counter-act their revisionism. For once, posting is direct action! http://www.sacbee.com/news/local/article71659992.html
mindstalk: (Default)
2017-04-12 08:46 am


post-icon: robot
post-tags: random

Huh, a forged e-mail from a different account didn't seem to work.
mindstalk: (Default)
2017-04-12 08:40 am

Almost final test and explanation

So yeah, I was exploring settings, and I stumbled onto this here:

There's even a version for using PGP/GPG signing as authentication,
rather than a cleartext PIN.
mindstalk: (Default)
2017-04-12 05:43 am

Forged mail test

How secure is an approved address?
mindstalk: (Default)
2017-04-11 09:25 pm

vigorous vim; frigging Python

Speaking of aggravating values of fun... I foresaw a day of boring editing in my future? Well, I managed to make that half a day. I'd looked for programmatic solutions but they all seemed half-assed in bad ways, especially in breaking the logging information (filename, function name) we want. So I went through by hand... and a good mastery of vim commands and maps. It's funny, I haven't had to make a new vim map in forever, but the skills are there.

Samples: (Edit: all the [] should be angle brackets; I forgot how Dreamwidth swallows them.)

map CP :s/,/+/g #turns commma to plus, down a line
map KE cwkinnlog.error([Esc]A)[ESC]CP
#changes word under cursor to 'kinnlog.error(', appends ')' to line, invokes CP
map KX cwkinnlog.exception([Esc]A)[ESC]CP
map fp /print^M # fast search for 'print', since CP changes the current search to ','
map St istr(^[ #inserts 'str(' and goes back to command more.
map stt a)^[ #inserts ')' and goes back to command more
map kld cf(kinnlog.debug(^[ #changes everything from cursor to a '('

I got to show off more simply last week, too; I was setting up the product for Co-worker, and had to edit the IP address in a bunch of files.
$ vi *.json
/[IP 1]
n #search next
. #ditto
:wn #write, move to next file -- which preserves all the state, so I can keep going 'n' and '.'

She was impressed by my speed. (If you're wondering why not regexes, there were only 1 or 2 addresses per file, this seemed as fast or faster as recalling a ':%s/...')


All that said and done... Python makes it easy to write code. Python has an awesomely nice standard library, including a logger module with many handlers like RotatingFileHandler. Python makes it easy to rip out the guts of a stub logging module and replace it with something sophisticated.

Python 2 has a print statement which can take an indefinite list of things, and print them all, without any type information.

Python 2 does not provide any function that does something similar, so converting from those print statements to calls to actual logging functions was terribly painful and/or un-typesafe. I mean, a lot of the time I can't tell easily what the type of the value of a variable is where it's being used. Granted you can wrap almost anything in 'str()', and maybe I should have been more thorough about doing just that. Python doesn't have a compiler, and as long as it's basically syntactically correct, will be happy until it tries to actually execute the code. I really hate this.
mindstalk: (Nanoha)
2017-04-11 09:16 pm

So yeah job

I haven't been practicing tight infosec and have leaked a lot, but here's Ye Officiale Announcemente: I have a job. Started a bit over four weeks ago. I wasn't shouting about it because I felt traumatized after over a year of searching, and takebacks-shy after December's "we'll tell you we'll make an offer, then disappear" firm. Plus a bit of paranoia about whether I'd be out of work-shape and get into trouble. But I've gotten my second paycheck, so this seems real and ongoing. They can pay me! I can keep earning getting paid!

It's a tiny startup, I'm literally the first person to get paid in money and not just equity. Back-end work on a web services (more or less) company, with C++ in my distant future, but right now lots of Python. After lots of virtual machine wrangling (see previous posts.)

I've been learning a lot, it's been fun[1], I like my boss and co-worker, and the hours are agreeably flexible for someone with sleep disruption and a nomadic existence.

[1] For somewhat aggravating values of fun.
mindstalk: (food)
2017-04-10 10:28 pm

pork skin inconsistency

I'm staying on the Blue Line for a couple weeks. Lots of Hispanic food stores, and I got some Goya pork skins. I looked at the nutrition label, as I do.

"Protein: 8g Not a significant source of protein."

Dudes, that's like a whole serving of protein. Something's off.

Well, supposedly 14 g to a serving, 8g protein, 5 g fat, 80 calories, 50 calories from fat... that's a pretty consistent set of numbers, if we assume dried skin is basically nothing but protein and fat, which seems reasonable. So I'm inclined to believe that the 8g is accurate, and the "Not significant" is BS.

Unless there's some subtlety like it's indigestible protein. Wikipedia instead says that it's an incomplete protein, very low in some amino acids. So, don't try to live on pork skin, I guess.
mindstalk: (escher)
2017-04-03 10:02 pm

VMs four: stuff works!

My boss apparently figured out the problem with the VMware clone: fakes3 (for faking a local Amazon S3 service) apparently behaves badly if given the local hostname (or just localhost?) rather than an IP address, and I'd probably edited the clones files to use a name because why wouldn't you.

And I tackled my VBox again, and got shared directories working! I'd found a different set of instructions, which worked for manual mount, and then even automount from fstab. Going back, I reproduced the error I'd gotten from the Arch instructions: I'd been using '/vmshare /vmshare' (Window and guest locations, a la VMware FUSE command syntax) when it actually wanted 'vmwshare /vmshare' (short name of the shared directory in VBox, guest location). "Protocol error" is a pretty terrible error message, but I can see now what I was doing wrong.

I also found VBox's Seamless Mode, which I don't quite see the deep point of yet, though it does reclaim screen space from the Windows title bar while still leaving the start/monitor bar at the bottom, but it's allegedly similar to VMware Unity Mode, except Unity says it doesn't support Linux Guests.

So VirtualBox seems strictly better than VMware in features, since it does everything one would want, while VMware doesn't do Unity or (more important to me) touchpad scrolling. OTOH we probably have the VMware clone at least behaving the way we expected it to. Though I'm not sure this was actually tested on it, I think it's a prognosis based on fixing something on the Ubuntu machine.

Also VBox is open source and doesn't charge you money for running more than one VM at once. OTOH we already paid VMware the money.

I haven't tried comparing performance.
mindstalk: (Default)
2017-04-01 09:47 pm

Sometimes doing things right does help

The work system has two kinds of debug/logging statements.

One is a class with the standard methods (trace through critical) which are just print statements that add "DEBUG" or "INFO" as appropriate. There's not even a hint of output throttling. But it is a class, and so I can rip its guts out and replace them with calls to Python's logging module, and it works.

Then there's the 500+ naked print statements, with "ERROR" or such in their constructed output strings. I can search for them easily -- though I can just search for 'print', I think these are the only uses -- but I don't see any programmatic way of converting them, especially as the logging output formatting needs types (%s, %d) which are totally absent from the existing statements. (And it's python 2, so they are statements.)

I see a day of boring editing in my future.
mindstalk: (Default)
2017-04-01 09:41 pm

VMs take three, everything has problems

My Arch VMware still doesn't do touchpad scroll, not that I've tried.

I cloned it for my co-worker, edited the accounts, tested the system, it worked fine. Copied it to the shared hard drive, then to her laptop. And now it has quirky IP address or hostname lookup issues that we can't figure out, such that the boss decided to start over.

With OpenSUSE! He trusted the official VM tools, it didn't work. May have tried Open VM Tools, I stopped paying attention.

Co-worker moved onto Ubuntu, using an image from OS Boxes, which I view as potentially NSA/mafic front, but hey, it's not my IP. That seems to be working, possibly in all ways.

I was inspired to go back to VirtualBox, and started over from scratch. After 40-50 minutes, mostly waiting for packages to download and install, it was ready, with X and XFCE and Firefox. Display resizes, cut and paste works, even scrolling works! Everything... except shared folders; I thought I followed the Arch instructions, but I get a "Protocol Error".


I have continued to realize VMs are cool. I could have a second Arch VM and play with desktop environments without messing up my working one. Or play with Ubuntu and Red Hat without rebooting. Or you could skip "will Linux work on this laptop?", install VBox or QEMU on Windows, then go full screen and ignore Windows almost entirely.
mindstalk: (Default)
2017-03-26 01:27 pm

medical cost sharing and single payer kinds

Long article from EPI arguing that medical cost sharing is a terrible idea, just as you'd think. Also, I learned that EPI is a labor-affiliated think tank. Cool!

PDF of California's 2017 tiers. Look how high the out of pocket maximums are, or the deductibles in some cases.

Reader reminder: the US has 3 different "single-payer" systems (maybe four with the Indian health service.) VA, operating like the NHS. Medicare, for seniors, operating like traditional insurance with deductible and co-insurance[1]. Medicaid, for poor people, operating like a magic "we take care of you" ticket -- the user experience is much like the NHS, where you go in and get treated and walk out again, no billing. (Unless you need drugs, at like $4/month.)

[1] My mother had Medigap, which pays what Medicare doesn't, so her treatment turned into an avalanche of bills telling us what we didn't have to pay. Sort of Medicaid/NHS + lots of paper experience.
mindstalk: (bujold)
2017-03-24 09:38 pm

VMs take two, and UI stuff

LXDE was happy starting from startx, but it doesn't have a way to configure move-on-focus. Searching about "you can't" and "apply this 100 line XML file somewhere". So I moved on to xfce -- the full thing, not just xfwm. It's not happy starting from startx/.xinitrc, or I'm doing something wrong, but it provides its own startxfce4. It resizes, doesn't crash, and had a single step for turning on the One True Mouse behavior. Was also able to configure my usual X keys (I have some function keys mapped to window raise/lower/minimize). Plus it's supposed to be fairly light weight. So that's where I'm at for now. Haven't explored it much since; if it lets me move my windows around, I'm good. (I'm used twm after all, which pretty much is nothing but that.)

On the downside, touchpad scroll still doesn't work. This may be a VMware problem. I was working on a VirtualBox image, but it didn't go smoothly. First I tried export/import, which didn't seem to work -- frozen boot screen. But when I went to Close it, the proper display flashed up, and I've been able to find that it does boot and have my account. But it's not *usable*. Possibly X would fix that. I also tried a pure install, but after applying some tweak to make console resize, it didn't want to boot at all. I haven't had time to go back and try pure vanilla. And the VMware image I'm working with is getting more and more developed, it may be hard to switch.

I also found a program to make *Windows* use move-on-focus. I should probably tell you what it was, but I don't remember, and the info seems to be only on the office machine. But it's SO useful, at least for my workflow which uses overlapping windows a lot. (Often a full-screened browser or VM (or browser in VM) and some other window I'm taking notes in.)

OTOH I really wish I could make *Windows* raise and lower windows with a key.

New co-worker coming Monday, she'll need a VM too. Rather than re-installing, I simply cloned mine. Easy! And purged my limited personal info on it, a bit more work. And got the system working on it... that was a lot more work, we've got too much hardwiring of local IP address. Which will interfere with putting code in source control too, so we've got a double incentive to fix that.