A reaction I posted to a friend’s Facebook with regard to the present BART Strike:
I’m a pro-Union Liberal who thinks it is wrong to beat up on public-sector employees. I have heard that BART staff get 40 PTO days per year and there’s a scheme where you can take PTO, then take a shift, and get overtime for that. That’s something we can fix.
The train operators literally sit on their ass and watch the train drive itself. I talked to a guy who said that he did an important job of every once in a while mashing the buttons to fix something, and if he and his comrades weren’t there, BART would have to evacuate the passengers, shut the doors, and run the train empty to its terminal. Horrors!
In NYC, they’ve been laying off station agents where possible and using video cameras to aggregate agent services remotely.
I keep hoping that one of these days a labor action will be an excuse for BART to just fire the train operators and let the system run on automatic as it was designed to do. Spend the money on more frequent service so when a train occasionally has to be taken down, its replacement appears that much more quickly. Spread some of that money to the best station agents and start installing remote presence equipment to make the most of their labor.
. . . and if those train operators are even half as as good at mashing buttons in an emergency as they think they are, they can make the same salary as an entry-level SysAdmin.
Seriously, it is sad when your job is obsoleted by technology. It is even sadder when your job was obsoleted by technology before it even existed. Saddest when your skills are in extremely high demand at higher pay, but we keep paying you to do an obsolete job of extremely marginal public benefit.
Feedback to Fitbit:
I have for a long time wanted to be able to download my data. It seems simple: I buy a device to track my data, I should have access to the data collected.
It looks like now for the low low price of $50/year I can download my own data.
Honestly, that just feels slimy. They are my data. My data are not a premium feature. This restriction puts a bad taste in my mouth and that is a strong deterrent to purchasing further products from you folks. Which is too bad, since I otherwise like the hardware and I am ready to be upsold to an NFC device. But since my data are not my data … well, I’d rather just spend my money elsewhere.
If anyone has an activity tracker they particularly like, I am keen to hear about it.
I’m building out a simple template system for our email notifications, so of course I want to support multipart, text and email. But, hey, we have some text fields in JIRA that can take wiki markup, and JIRA will format that on display. So, how do I handle those fields in my text and HTML message attachments?
So, some sample code to render the custom field “Change Summary” into a pair of strings,
change_summary_html, suitable for inclusion into an email message:
from com.atlassian.event.api import EventPublisher
from com.atlassian.jira import ComponentManager
from com.atlassian.jira.component import ComponentAccessor
from com.atlassian.jira.issue import CustomFieldManager
from com.atlassian.jira.issue.fields import CustomField
from com.atlassian.jira.issue.fields.renderer.wiki import AtlassianWikiRenderer
from com.atlassian.jira.util.velocity import VelocityRequestContextFactory
# Get Custom Field
cfm = ComponentManager.getInstance().getCustomFieldManager()
change_summary = issue.getCustomFieldValue(cfm.getCustomFieldObjectByName("Change Summary"))
# Set up Wiki renderer
eventPublisher = ComponentAccessor.getOSGiComponentInstanceOfType(EventPublisher)
velocityRequestContextFactory = ComponentAccessor.getOSGiComponentInstanceOfType(VelocityRequestContextFactory)
wikiRenderer = AtlassianWikiRenderer(eventPublisher, velocityRequestContextFactory)
# Render Custom Field
change_summary_html = wikiRenderer.render(change_summary, None)
change_summary_text = wikiRenderer.renderAsText(change_summary, None)
Midnight feed. Daddy changes diaper, Mommy nurses, and everyone goes back to sleep.
Baby wakes up screaming as only a baby can scream.
Daddy changes diaper. Baby screams.
Mommy goes to warm a bottle. Baby screams.
Baby sucks on bottle.
Baby’s sucking slows.
Baby’s eyes narrow.
Daddy burps baby. Baby is wide awake.
Daddy tucks baby in.
Baby begins to fuss.
Daddy looms over baby and invokes Daddy Voice.
“No. It is time to sleep.”
Baby goes quiet.
Baby closes eyes.
Baby goes to sleep.
Daddy is pleased that Daddy Voice works.
Fully awakened by a screaming baby, and drunk on his new power, Daddy can’t sleep.