Shared posts

03 Oct 17:26

Retrieve & process TV News chyrons with newsflash

by hrbrmstr

The Internet Archive recently announced a new service they’ve dubbed ‘Third Eye’. This service scrapes the chyrons that annoyingly scroll across the bottom-third of TV news broadcasts. IA has a vast historical archive of TV news that they’ll eventually process, but — for now — the more recent broadcasts from four channels are readily available. There’s tons of information about the project on its main page where you can interactively work with the API if that’s how you roll.

Since my newsflash🔗 package already had a “news” theme and worked with the joint IA-GDELT project TV data, it seemed to be a good home for a Third Eye interface to live.

Basic usage

You can read long-form details of the Third Eye service on their site. The TLDR is that they provide two feeds:

  • a “raw” one which has massive duplicates and tons of errors
  • a “clean” one that filters out duplicates, cleans up the text and is much better to work with

You can retrieve either with newsflash::read_chyrons() but the default is to use the clean feed. If you are studying text processing and or NLP/text-cleanup via machine learning, then the raw feed may be very interesting for you. I suspect most data journalists will want to use the clean feed that also powers the IA chyron twitter bots.

Since it’s the Internet Archive, they’re awesome at providing metadata about their data. Heck, even their metadata has metadata about metadata. We can use the fact that they provide a metadata feed to enable listing available chyron archive dates:

library(newsflash) # devtools::install_github("hrbrmstr/newsflash")
library(hrbrthemes)
library(tidyverse)

list_chyrons()
## # A tibble: 61 x 3
##            ts    type     size
##        <date>   <chr>    <dbl>
##  1 2017-09-30 cleaned   539061
##  2 2017-09-30     raw 17927121
##  3 2017-09-29 cleaned   635812
##  4 2017-09-29     raw 19234407
##  5 2017-09-28 cleaned   414067
##  6 2017-09-28     raw 12663606
##  7 2017-09-27 cleaned   613474
##  8 2017-09-27     raw 20442644
##  9 2017-09-26 cleaned   659930
## 10 2017-09-26     raw 19942951
## # ... with 51 more rows

Reading the chyrons in only requires passing in a Date object or a YYYY-mm-dd format date string:

chyrons <- read_chyrons("2017-09-30")


glimpse(chyrons)
## Observations: 2,729
## Variables: 5
## $ ts       <dttm> 2017-09-30 00:00:00, 2017-09-30 00:00:00, 2017-09-30 00:00:00, 2017-09-30...
## $ channel  <chr> "BBCNEWS", "CNNW", "FOXNEWSW", "BBCNEWS", "CNNW", "MSNBCW", "BBCNEWS", "CN...
## $ duration <int> 18, 42, 26, 10, 47, 19, 14, 62, 26, 11, 45, 17, 35, 11, 62, 32, 35, 35, 15...
## $ details  <chr> "BBCNEWS_20170929_233000_Race_and_Pace/start/1800", "CNNW_20170929_230000_...
## $ text     <chr> "TRUMP CABINET SECRETARY QUITS\\n'MIRACLE NEEDED' ON BREXIT", "TRUMP BRAGS...

You get five columns in a data frame on a successful retrieval:

  • ts (POSIXct) chyron timestamp
  • channel (character) news channel the chyron appeared on
  • duration (integer) see Description
  • details (character) Internet Archive details path
  • text (character) the chyron text

We’ll talk about the details path in a bit. The text is likely what you want, so here’s a sample:

head(chyrons$text, 30)
##  [1] "TRUMP CABINET SECRETARY QUITS\\n'MIRACLE NEEDED' ON BREXIT"                                                                                                                                                                                            
##  [2] "TRUMP BRAGS ABOUT PUERTO RICO RESPONSE AS FED-UP. SURVIVORS PLEAD FOR ELECTRICITY, WATER, FUEL\\nAnderson Cooper"                                                                                                                                      
##  [3] "ALIFORNIA STUDENT SWIPES 'MAGA' HAT"                                                                                                                                                                                                                   
##  [4] "US HEALTH SECRETARY QUITS. Mr Price apologised for use O126 private \\ufb02ights since May\\nUS HEALTH SECRETARY QUITS. Private flights cost taxpayers 4OO,OOO dollars\\nLAURA BICKER. Washington"                                                     
##  [5] "HHS SECY. PRICE OUT AFI'ER PRIVATE JET SCANDAL\\nTRUMP BRAGS ABOUT PUERTO RICO RESPONSE AS FED-UP. SURVIVORS PLEAD FOR ELECTRICITY, WATER, FUEL"                                                                                                       
##  [6] "TOM PRICE RESIGNS AMID PRIVATE JET SCANDAL"                                                                                                                                                                                                            
##  [7] "US HEALTH SECRETARY QUITS. Private flights cost taxpayers 4OO,OOO dollars\\nUS HEALTH SECRETARY QUITS. Government otficials required to take commercial \\ufb02ights\\nUS HEALTH SECRETARY QUITS. Scandal emerged after..."                            
##  [8] "HHS SECY. PRICE OUT AFI'ER PRIVATE JET SCANDAL"                                                                                                                                                                                                        
##  [9] "TOM PRICE RESIGNS AMID PRIVATE JET SCANDAL\\nTRUMP: \\\"I CERTAINLY DON'T LIKE THE OPTICS\\\" OF PRICE SCANDAL"                                                                                                                                        
## [10] "US HEALTH SECRETARY QUITS. Scandal emerged after investigation by Politico magazine\\nUS HEALTH SECRETARY QUITS. Tom Price resigned over use of private planes\\nUS HEALTH SECRETARY QUITS. Mr Price apologised for use O126..."                       
## [11] "HHS SECY. PRICE OUT AFI'ER PRIVATE JET SCANDAL\\nHHS SECY. PRICE OUT AFI'ER PRIVATE JET SCANDAL. . Ryan Nobles (J\\\\N Washington Correspondent"                                                                                                       
## [12] "BRARIAN REJECTS \\\"RACIST\\\" DR. SEUSS BOOKS I"                                                                                                                                                                                                      
## [13] "TOM PRICE RESIGNS AMID PRIVATE JET SCANDAL\\nREPORTER WHO BROKE PRICE SCANDAL SPEAKS OUT"                                                                                                                                                              
## [14] "US HEALTH SECRETARY QUITS. Tom Price resigned over use of private planes\\nUS HEALTH SECRETARY QUITS. Scandal emerged after investigation by Politico magazine\\nUS HEALTH SECRETARY QUITS. Mr Price apologised for..."                                
## [15] "HHS SECY. PRICE OUT AFI'ER PRIVATE JET SCANDAL"                                                                                                                                                                                                        
## [16] "BIZARRE LIBERAL MELTDOWNS I\\nTUCKER & THE CAT IN THE HAT I. . _ < 'rnnwnn FAD! cnm tint-\\ufb01nk"                                                                                                                                                    
## [17] "TRUMP: \\\"I CERTAINLY DON'T LIKE THE OPTICS\\\" OF PRICE SCANDAL\\nTOM PRICE RESIGNS AMID PRIVATE JET SCANDAL"                                                                                                                                        
## [18] "HHS SECY. PRICE OUT AFI'ER PRIVATE JET SCANDAL\\nTRUMP BRAGS ABOUT PUERTO RICO RESPONSE AS FED-UP. SURVIVORS PLEAD FOR ELECTRICITY, WATER, FUEL"                                                                                                       
## [19] "BRARIAN REJECTS \\\"RACIST\\\" DR. SEUSS BOOKS I\\nBIZARRE LIBERAL MELTDOWN I"                                                                                                                                                                         
## [20] "TRUMP: \\\"I CERTAINLY DON'T LIKE THE OPTICS\\\" OF PRICE SCANDAL"                                                                                                                                                                                     
## [21] "TRUMP BRAGS ABOUT PUERTO RICO RESPONSE AS FED-UP. SURVIVORS PLEAD FOR ELECTRICITY, WATER, FUEL"                                                                                                                                                        
## [22] "BRARIAN REJECTS \\\"RACIST\\\" DR. SEUSS BOOKS I\\nSCHOOL LIBRARIAN REJECTS DR. SEUSS. BOOKS GIFTED BY MELANIA TRUMP. . _' tnnx'nkr"                                                                                                                   
## [23] "TRUMP: \\\"I CERTAINLY DON'T LIKE THE OPTICS\\\" OF PRICE SCANDAL\\nTOM PRICE RESIGNS AMID PRIVATE JET SCANDAL"                                                                                                                                        
## [24] "YEMEN WAR CRIMES. UN Human Rights Council agrees on investigation\\nINIGO MENDEZ DE VIGO. Spanish Education Minister"                                                                                                                                  
## [25] "TRUMP BRAGS ABOUT PUERTO RICO RESPONSE AS FED-UP. SURVIVORS PLEAD FOR ELECTRICITY, WATER, FUEL\\nSAN JUAN MAYOR: \\\"THIS IS NOT A GOOD NEWS STORY\\\"\\nSAN JUAN MAYOR: \\\"THIS IS NOT A GOOD NEWS STORY\\\". . Mavor Carmen Yulin Cruz San Juan,..."
## [26] "BRARIAN REJECTS \\\"RACIST\\\" DR. SEUSS BOOKS"                                                                                                                                                                                                        
## [27] "TOM PRICE RESIGNS AMID PRIVATE JET SCANDAL"                                                                                                                                                                                                            
## [28] "TRUMP ASIA TOUR. US President to visit Japan, South Korea and China\\nYEMEN WAR CRIMES. UN Human Rights Council agrees on investigation"                                                                                                               
## [29] "SAN JUAN MAYOR: \\\"MAD AS HELL\\\" OVER HURRICANE RESPONSE\\nSAN JUAN MAYOR: \\\"MAD AS HELLII OVER HURRICANE RESPONSE. . Dr. Saniav Gupta (J\\\\N Chief Medical Correspondent"                                                                       
## [30] "SAN JUAN MAYOR: \\\"MAD AS HELL\\\" OVER HURRICANE RESPONSE"

Be warned: even the “clean” text is often kinda messy.

For now, there are only four channels, so it’s easy to show a quick example. Since chyrons are supposed to be super-important things you need to know NOW, let’s see how many times Puerto Rico was mentioned on them in the above archive. NOTE: This is a quick example, not a thorough one. I’m searching for some key letter combinations to see just mentions of something looking like “Puerto Rico”. “San Juan” and other text that might be associated with the topic aren’t being considered for this toy example.

mutate(
  chyrons, 
  hour = lubridate::hour(ts),
  text = tolower(text),
  mention = grepl("erto ri", text)
) %>% 
  filter(mention) %>% 
  count(hour, channel) %>% 
  ggplot(aes(hour, n)) +
  geom_segment(aes(xend=hour, yend=0)) +
  scale_x_continuous(name="Hour (GMT)", breaks=seq(0, 23, 6),
                     labels=sprintf("%02d:00", seq(0, 23, 6))) +
  scale_y_continuous(name="# Chyrons", limits=c(0,30)) +
  facet_wrap(~channel, scales="free") +
  labs(title="Chyrons mentioning 'Puerto Rico' per hour per channel",
       subtitle="Chyron date: 2017-09-30",
       caption="Source: Internet Archive Third Eye project & <github.com/hrbrmstr/newsflash>") +
  theme_ipsum_rc(grid="Y")

Details, details, details

Entries in details column look like this:

head(chyrons$details)
## [1] "BBCNEWS_20170929_233000_Race_and_Pace/start/1800"                   
## [2] "CNNW_20170929_230000_Erin_Burnett_OutFront/start/3600"              
## [3] "FOXNEWSW_20170929_230000_The_Story_With_Martha_MacCallum/start/3600"
## [4] "BBCNEWS_20170930_000000_BBC_News/start/60"                          
## [5] "CNNW_20170930_000000_Anderson_Cooper_360/start/60"                  
## [6] "MSNBCW_20170930_000000_All_In_With_Chris_Hayes/start/60"

They are path fragments that can be attached to a URL prefix to see the news clip from that station on that day/time. newsflash::view_clip() does that work for you:

view_clip(chyrons$details[2])

The URL for that is https://archive.org/details/CNNW_20170929_230000_Erin_Burnett_OutFront/start/3600/end/3660 in the event the iframe load failed or you really like being annoyed with cable news shows.

FIN

Grab the package on GitHub, kick the tyres and don’t hesitate to file issues, questions or jump on board with package development. There’s plenty of room for improvement before it hits CRAN and your ideas are most welcome.

03 Oct 17:26

Meet Our New Support Tech, Robert

by Paul Kafasis

Here at Rogue Amoeba, we take great pride in offering top-notch support to our users. Whether you’ve already purchased one of our apps, or you’re just considering it, you can always email our support team. That’s the best way to get help, provide feedback, and much more. Today, we’re pleased to announce the addition of Robert Charlton to our support team! Today actually marks Robert’s first day as an official employee here at Rogue Amoeba, but he’s been helping customers for many weeks already as a contractor.

Customers really shouldn’t notice much difference at all, because we’ve always sought to provide fast and friendly help, and Robert is helping us continue that quest. Earlier this year, we decided to increase the size of our support team. We wanted to be able to assist more customers in less time, while also working to improve our software and support systems. Our larger support team will now have more time to answer email queries, refine our support site and manuals, and improve many of our backend processes. All of this will allow us to provide ever more solid apps.

In Rogue Amoeba’s infancy, I spent part of my time handling our support via a simple email client. Over time, that job grew until we needed to hire a full-time support tech, and utilize a full help desk backend. We’ve now got multiple techs working to help our customers. The support team’s work isn’t quite as obvious as a flashy new software release, but it’s still vitally important, and we’re delighted to have Robert joining us!

03 Oct 17:26

Pixels Camp Opening

by Rui Carmo
Just before the opening ceremony, at the amazing new venue.
03 Oct 17:26

King Pollo [Flickr]

by vanderwal

vanderwal posted a photo:

King Pollo

I'm at King Pollo! 4sq.com/2wsDSCQ

03 Oct 17:26

“Eriko’s Facebook Life”/The Amazing Japanese Wife: Part 4

by Kaori Shoji

This is the fourth in a series of short fiction by Ms. Kaori Shoji  entitled “The Amazing Japanese Wife” about international marriages in Japan gone off the deep end. This is the first of the stories told from the women’s perspective. Any similarity to real events, persons, or incidents are your imagination and probably means that you really should have a stiff drink and contemplate the meaning of happiness, karma, and the universe. You need Suntory time. Previous chapters are below, although not all stories are clearly connected. 

The Amazing Japanese Wife: Part 1

The Amazing Japanese Wife: Part 2 “Fucked Up In Six Trees” 

The Amazing Japanese Wife: Part 3 “A Man Needs His Carcinogen” 

I hear his car slow down, approaching the driveway, and immediately feel nauseous. I take a breath and will the corners of my mouth to turn upwards. Americans always smile and two years of Oakland living has convinced me that Northern Californians are the smiliest Americans of all. With dazzling white teeth and clear eyes, these people broadcast an unshakeable confidence, a mineral streak of inner satisfaction embedded right in the bloodstream. At first, it was unnerving to see all those supremely happy expressions, the isense of entitlement apparent in their every movement, even in the way they waved to each other from their cars, under the bright blue Californian sky. What if they had problems, like their houses burned down or spouses betrayed them or…what then?

“The point is not to BE happy, it’s to assimilate a SENSE of happiness,” said my friend Mayu-san, about a year after I got here with my husband Douglas. “Whatever is happening in your personal life, it’s only polite to present your best and happiest self. That’s how it works around here. Anything that’s not suitable for Facebook, isn’t suitable for real life.”

I remember that moment because Mayu-san never said anything out of the ordinary and suddenly there she was, articulating words that pierced me with the spear of truth. I think I responded with my mouth agape, just looking at her. And then the moment ended, Mayu-san went into the kitchen to get more drinks and the afternoon picked up where it left off–mired in banalities.

Still, Mayu-san’s words surface in my consciousness from time to time, like right about now when Douglas turns the key in the lock and walks into the foyer. I go over to greet him and we exchange a light hug. “Hey Eri,” he says. “God, what a day.”

And I follow him into the kitchen, quelling the urge to retch. Another wave of nausea washes over me like polluted sea water. “Are you tired?” I ask in Japanese and he answers in English though I’m no longer listening. He’ll want to have a Bloody Mary, and then a bite to eat and then he’ll get ready to go to the gym. I calculate that in a little over two and a half hours, Douglas will be gone again. I feel my composure returning.

This nausea thing has been going on for the past 3 months. I haven’t told Douglas because he’ll immediately say: “You’re pregnant! I gotta call my dad!” . Then, I’ll have the horrible task of telling him that no, that’s not it and no, it’s not worth going to a doctor (because I already had a check-up four months ago) and yes, I was fine. Fine. Smile. Confidence. Happiness. Words to live by if you want to survive in California.

Not that I’m not having a good time. Everyone I know back in Japan is so envious of the life I have out here, the privileges of being a wife in Silicon Valley, with her own Honda to get around in and her own circle of friends consisting of well-to-do Japanese women. There’s a whole club of them here, and when we stroll around the malls together or have lunch at a swank restaurant, white men stare with frank interest. I never knew Japanese women had such magnetism in the US, I always thought everyone preferred blondes, period. Everyday I get compliments about my smooth skin, petite figure, my flawless fashion and femininity. At parties, men come up to flirt and seem enthralled that my English isn’t that great. I also discovered that there’s a gated community known locally as ‘The Japan Palace,’ where tech moguls like Jerry Ang and the CEO of Oracle live with their Japanese wives, in huge, splendid villas.

In my head though, I’m constantly making excuses to friends and family back in Japan about my wonderful Californian life. It’s not THAT great, I would say weakly. In these imaginary conversations, I’m mostly talking to my mother or my female colleagues back in Tokyo who are trying to juggle kids, day care and a full-time job while clutching at the last strands of youth before collapsing into middle age.

Really, I say to them. Silicon Valley is the most expensive place on the face of the earth! Our rental house costs a little under 3000 dollars a month but that’s because we have only 2 bedrooms and even then the locals told us what a bargain and an exceptional piece of luck. And: A packet of organic eggs came to 6.50 at Whole Foods before the Amazon merger lowered that by about 1 dollar, like yeah, that’s supposed to make everyone feel better! And the Californians make such a big deal about the Farmer’s Markets but the produce is about 40 percent more expensive than the supermarkets in Tokyo. We can never afford to have kids, because day care is just too costly and nannies are..

What I leave out is this: I don’t want children. I’m fine with being a Japanese Wife but I would never want to be a Japanese Mother. I think about sex with Douglas, and a spasm of pain shoots up from the bottom of my spine to the back of my eyes. Mayu-san who has two kids with her husband Michael, told me that unlike Japanese husbands, American men will demand sex after childbirth and fall into black rages if their wives refuse. Mayu-san shrugged and said it was a trade-off but she didn’t specify what she was getting in return. Something she didn’t care to post on Facebook, I guess.

I recall the thrill and slight disgust of making love to Douglas for the first time and how, during the course of our dating, he never wanted to use a condom. “In America, a lot of women would qualify this as rape,” he’d say matter-of-factly as I wiped his goo off my chest. “But Japanese women love it, don’t you sweetie?”

Last month on our wedding anniversary he took me to French Laundry for dinner and then in the car heading back, leaned over and said: “I’m a great husband, aren’t I? Now you have to be extra nice to me tonight.” The fact that he said this in Japanese secretly enraged me but I laughed it off. Later, at home, after he was finally done, I locked myself in the bathroom and gargled with mouthwash over and over and when I came back to the bed, Douglas said “hey baby, did you have a good time? Oh, by the way, don’t tell my mom I took you to French Laundry, she’s dying to go but Dad’s never taken her.”

Unsuitable for Facebook again.

Once the voices in my head die down, I find myself calmly going through the day. After all, why worry? Life is so good here, and so easy. Douglas is fine with eating cereal for breakfast, he never wants to bring a Bento box lunch like he did when we were living in Tokyo. For dinner, he just grazes on whatever’s available in the fridge, a glass of vodka clutched in one hand. I make my own meals but apart from weekends when events like pot-luck parties and brunch with Douglas’s parents crowd my calendar, I never cook anything elaborate. I don’t have to, and when I think of how hard I used to work in Tokyo, earning a steady income and being the good Japanese wife, I can’t help scoffing at my poor, overworked self. If there was a time machine, I would use that to go back and tell my 36-year old self to relax. In a little while, I would be crying to my husband Douglas that I was sick of Japan and Tokyo. I would implore him to get a lucrative tech job in Nor Cal. And then I would move to a real American home with a backyard and two-car garage. So go easy on yourself because you will be SO all right, I would say. And now? Apart from this nausea and the suspicion that deep down I hated Douglas, I was having the time of my life.

 

“Just don’t go to Whole Foods, and avoid that fucking Aveda place like the plague,” Douglas said when we first got here. “Man, talk about overpriced BS.” Already, he was mixing Americanisms in his conversations, ignoring the fact that I couldn’t understand half of what he was saying. Not that it bothered me. In Tokyo, where we lived for 5 years before coming out here, Douglas would often launch into long diatribes against the Japanese government, Tokyo life, the joylessness of Japanese society and why we were so ‘insular’ and ‘defeatist’ and ‘fucking depressed.’ I didn’t really understand then, either.

 

To me, it was all the same. I grew up in a typical Japanese salariman household and there was never much smiling going on. Depression was more or less the norm. As far back as I can remember, my parents had bickered and fought. My mother sighed and washed the dishes by hand and acted tired to the very dregs of her existence, every single day. Her mantra in life went to the tune of: it was a terrible thing for a woman to be a wife and mother, tied to household drudgery for life. But equally terrible was to remain single. Either way, a woman was doomed. And then she would bend over the sink filled with dishes and it would be time for me to go to cram school, so I could at least get into a good university before becoming the ill-fated wife/mother to carry on the cycle of Japanese womanhood.

 

But even my seemingly miserable mom perked up whenever there was a family event, like my brother being promoted and sent to his company office in London. Or my sister’s wedding, when Mother splurged on a formal kimono with a price tag that enraged my father. He had just spent 5 million yen (a little over 50,000 USD) in getting his older daughter married and settled down and was devastated to see that his wife had gone and spent another million yen on what he saw as a completely unnecessary extravagance. “How can you say that?,” my mother wept and screamed. “All my life, I gave everything to this house and the family and now I can’t buy a little something for myself?” When she calmed down, my mother said plaintively that she will wear the same kimono at my wedding, so this purchase was actually a money-saver.

 

Well, she lied. Seven years later I had my own wedding in Honolulu and my mother bought a flowing silk summer dress with a hat and heels and a Fendi handbag she has never used since and is tucked away in a closet crammed with similar “little somethings” she had bought for herself over the years. “Japanese women are scary,” Douglas said to me when I told him about it. “That’s what happens when men let housewives hold the purse strings. It’s just stupid to do that, I don’t get why the majority of men in this nation insist on making their own lives miserable. I never would.” True to his word, back in Tokyo, Douglas and I had separate bank accounts. He would hand over 200,000 yen out of his payment every month. I would spend another 150,000 to cover the rest of our monthly expenses. But I had another, secret account from when I was single, in which I hoarded my personal savings. That account is still in Japan, waiting for me. I learned from watching American TV that this was called a Fuck Off Fund. Douglas was only half right – Japanese or American, women are scary. How else were we going to protect ourselves?

 

I have money on my mind a lot because I worked in a Tokyo bank for 16 years and 10 of those years were spent at the counter, counting the customers’ cash and helping them with their little financial problems. I wore a suit and heels to work but changed into the bank uniform once I got there, in the women’s locker room with 23 other females. I worked 10 to 11 hour days, rode a crowded train for 2 hours everyday and by the time I hit 30. I was exhausted. I was more than ready to quit the job and get married. Never mind that I would be tied to housework for life – at least I could stop forcing my body every morning into the bank uniform with its tight skirt and tiny vest. I told Naolki- my boyfriend of six years what I was feeling and he said, okay we may as well take the plunge.

But a week after this dicussion he injured a knee playing futsal–which is like indoor soccer for Japanese salarymen.He  was in the hospital for 2 weeks. During that time, he got real friendly with the other patients on the floor, all with sports injuries. One of them was a 17-year old girl who hurt her spine playing volleyball for her school team. She wasn’t one of those sex-kitten high school girls of Japanese media lore – she was in fact, so wholesome and exuberant she made everyone laugh just by showing up for medication at the nurse statiom. Her hair was short, her limbs too long, she was clumsy and had no sensuality to speak of. Yet, my boyfriend fell head over heels for her.

 

“She’s young, she’s SO young,” he kept saying, as if I didn’t get it the first time. He talked incessantly about the latest funny thing she did, how she bit into an apple without peeling the skin, how she giggled with her family when they came to visit, and broke down in tears when they went home. “She reminds me of what it’s like to be 17 again,” he said wistfully, and would engage her in long conversations about volleyball (he too, had played in high school) and help her with school work so she wouldn’t lag behind. By the end of those 2 weeks, I really had enough of this but didn’t know how to tell him without sounding like a jealous nag. And then my boyfriend Naoki looked me right in the eye and said: “I can’t marry you. I’m sorry. I just can’t.” I did put up a fight, telling him it was just an infatuation that would go away but he shook his head. “It’s not her. It’s just that the thought of marriage is suffocating to me. It’s got nothing to do with you personally.”

 

Three years later when he was 33, Naoki married a woman aged 26, and the whole thing was so wounding I took time off and spent three days lying in my bed at home. By that time though, I had come to realize the horrible truth about being a woman in Japan – the options dwindle with each passing year and the number 3 at the left side of one’s age may as well have been a poisonous smudge. Up until age 29, I was used to male attention and could count on a few invitations a week to ‘networking parties’ which were actually matchmaking parties. I’ll admit that on a few occasions I went to love hotels with one or another of the men who expressed more than a passing interest, but it didn’t lead to anything much and my heart was set on Naoki anyway. And then my 30th birthday came and went. The invitations dried up and at the end of that year, Naoki was gone.

 

On my 35th birthday I took fate into my own hands and started looking for a foreigner husband. A little before this, my mother’s brother – my uncle who had always praised me and said I would go far in life because I was intelligent and pretty, went to Cebu on a business trip and ended up getting engaged to a 16 year old Fillippina waitress. The whole family was dumbfounded, but my uncle was ecstatic and it turned out, so was my mom. “He says that the women over there age really quickly and by the time she turns 30, there won’t be much of a difference between them,” she said in a conspiratorial whisper. “Now I call that smart. At his age, he wants a young woman to take care of him.” My uncle was 59 at the time. It was, as Douglas said to me later, “an obscene WTF situation.” We didn’t invite him to our wedding, ostensibly because Honolulu was so far away from Cebu where he now lived with his young wife. He didn’t ask to come anyway.

In some dark and torturous way, my uncle’s impending marriage hurt me even more than Naokl’s betrayal. It seemed there was just no dignity, much less happiness, to be found in a society where men placed such value on young women. For a long time, I crossed the street whenever I saw a girl in a school uniform walking alone – she seemed like a hooker or a temptress, the symbol of all that made me want to scream and scream every morning while I waited on the station platform for the train to come in.

So I spotted Douglas one night at the gym and walked right up to him, swinging my hips as I casually took one earphone out, like I had seen some actress do on a dubbed “The Mentalist” episode. I asked for instructions on working the elliptical, in what I hoped was endearingly broken English. Sure enough, Douglas’s eyes flew open and he stared at my torso and thighs. “Sure, okay. Let me help you with that.” After that he wouldn’t leave my side. He asked what kind of music I liked to work out to, and I told him “American rock. Like…’Born in the USA’ “and I could see him going all woozy inside. No American woman would say that, it was too ordinary. But coming from the mouth of a pale, fragile Japanese woman, it was the turn-on line to beat all others. Six months later, we were engaged. Two years after our marriage, on my 37th birthday, I quit my job at the bank and threw out that wretched uniform. A year after that, I told Douglas that I wanted to move to the US and he started looking for a job in the Bay Area.

When I’m not with my Japanese girlfriends, and just by myself in a Safeway aisle, I’ll encounter a young girl who reminds me of that 17-year old volleyball player so long ago. In fact, a lot of the teenagers here are tall and lanky like her, without artifice or evil and so, SO young. They have no idea what life has in store for them. They don’t know that one day their butterfly wings would turn brown and spotted, and they would still have to flutter along, pretending that it’s all right, willing the corners of their mouths to turn up. “Ganbatte (Good luck),”, I whisper in Japanese. Good luck to you all.

And then I catch a glimpse of myself in the big mirror mounted on the wall and hastily look away. I really have to get to that Asian salon to have my hair done, and possibly get a facial before Douglas gets back.

 

 

 

 

 

 

 

 

03 Oct 17:25

Name that Ware, September 2017

by bunnie

The Ware for September 2017 is shown below.

And here is the underside of the plug-in module from the left hand side of the PCB:

Thanks to Chris for sending in this gorgeous ware. I really appreciate both the aesthetic beauty of this ware, as well as the exotic construction techniques employed.

03 Oct 17:25

Lucy checks out Nuit Blanche

by jnyyz

There was an event nearby on the West Toronto Railpath timing around dusk. We thought it would be a nice opportunity to get in a little family outing.

Lucy wants to go for a bike ride.

DSC01747

The event was put on by DeRail Art, and was entitled “We pause at twilight” It consisted of an audio track accessed from their website that we could access while we were guided along the rail path. At various points, we were directed to pause, and to think carefully about our surroundings, the movement of our bodies, and even at times the collective motion of the entire crowd.

Here on the bridge over Bloor, we are directed to face south. Of course there are always one or two who don’t take direction as well 😉

DSC01749

It was interesting to see the repainting of the Red Cross building, and how the new paint deliberately avoided these vines.

DSC01752

The evening event ended with us on the Wallace St. Bridge.

DSC01756

Neighbourhood resident Vic was taking pictures as usual.

DSC01757

It was also interesting to see the row of two storey live/work buildings almost complete, as one of the last parts of the Wallace Towns development.

DSC01758

At this point Lucy was getting a little cold, so we wrapped her up like ET and headed home.

DSC01759

Thanks to DeRail for an simulating event. Nice to see so many people turn out as well.

 


03 Oct 17:21

Book recommendations from the Juvet AI Retreat

I've been at a retreat the last few days, 20 of us at a gorgeous hotel in Norway nattering about artificial intelligence. Here's a photo of how insanely beautiful Norway is. And here's a list of who was there, plus some more background on the retreat from the organisers.

I collected book recommendations as I've done regularly at conferences. The question I ask is always the same: What 3 books should I read this year? I don't want to hear your best-ever books, nor the books that will make everyone believe you're a super-genius, just... if we were speaking face to face, knowing what you know about me, what are the 3 books you would recommend for me right now? Here's a pic of how the question is posed. Putting it that way gets some cracking suggestions.

Anyway, I've ended up with 40 recommendations from a dozen-plus folks. So here they are. All links go to a physical edition at Amazon UK.

Book recommendations

Adrian Zumbrunnen, @azumbrunnen_:

Amber Case, @caseorganic:

Ben Sauer, @bensauer:

Bill Thompson, @billt:

Cennydd, @cennydd:

Chris Noessel, @chrisnoessel:

Dan Harvey, @dancharvey:

Dan Hon, @hondanhon:

Ishan, @poietic:

(I'm tempted to say that recommending a whole series is cheating...)

Josh Clark, @bigmediumjosh:

Karen Kaushanskyn, @kjkausha:

Kate Devlin, @drkatedevlin:

Me, Matt, a.k.a @genmon:

Warren Ellis, @warrenellis:

Recommendation made with no name attached:

  • Feed, M. T. Anderson Fiction

Thanks all! Transcription corrections welcome.

03 Oct 16:49

A morning bike ride with HPVDT

by jnyyz

The bike team had a little group ride this morning, on a planned 47 km route. They said that they would cruise at about 30 kph.  I thought I would tag along. Can’t say I wasn’t warned.

Here is the before picture.

IMG_6826

The ride went east from downtown, along the lakefront and the Beach, and then further out on Kingston Rd, down and up Brimley, and then back west, taking in some of the Don Valley. At least that was the plan, but I got a flat right at Corktown Commons, so I got dropped right away.

I decided then to ride up to the Danforth and run the latter part of the course in reverse until I caught the group again. A bonus feature of this plan was that I would not have to ride the Brimley Rd. segment down and up the bluffs. I finally caught the lead group on Danforth just north of St. Clair.IMG_6827

After heading west on Danforth, we turn north on Woodbine, and I get to see part of the northern section of the recently installed bike lanes, albeit at a faster pace than usual. You can see that I’m getting dropped between every set of stop lights.

IMG_6828

Eventually I rode the last half of the route on my own. Long story short, since I was so far behind, after descending into the Don Valley on Bayview, I decided to take a detour to check out some of the features of the recently reopened lower Don Trail. Coming up from the Bayview/Pottery Rd intersection, here are some P gates on either side of the rail crossing.

IMG_6829

Here is the new pedestrian/ cyclist bridge that parallels the concrete roadway bridge.

IMG_6830

From the pictures that I had seen, I was a bit confused about exactly where this bridge was. Here, looking north from the east end of the bridge, you seen that the Pottery Rd crossing to go further north on the trail remains the same, with two offset crossings and a lot of pavement markings.

IMG_6831

However, if you look south from the same point, you see the connection to the Lower Don Trail. It was at this point that I realized I had never ridden this section between Pottery Rd and the Gerrard St. bridge.

IMG_6832

These sculptures look like bits of stonework that had fallen off of Notre Dame Cathedral in Paris.

IMG_6833

The close spacing of the way finding signs suggests that they are more for pedestrians than cyclists.

IMG_6834

Here is the revised Belleville underpass, compete with cyclists on mural (and regrettably some fairly fresh tags).

IMG_6835

The team made it back to the shop in drips and drabs and were soon back to work on their various projects.

IMG_6837

Here is some speed data from my phone.

speed

The three sections where I was going more than 30 kph correspond to:

  1. downtown before my flat
  2. riding with the fast group. The only reason I wasn’t dropped right away was all the stoplights on Danforth.
  3. descending into the valley on Bayview.

 

 


03 Oct 16:45

Setting up AWS IoT with LightBlue® Cloud Connect

AWS IoT header

Setting up AWS IoT as a platform for LightBlue® Cloud Connect

  • LightBlue® Explorer has the ability to send data received from your BLE devices via indication or notification to AWS's Internet of Things (IoT) platform.
  • You'll be prompted to provide some information for your AWS IoT set up from within LightBlue® Explorer when you opt to send data to AWS IoT.
  • There are many ways to set up your AWS IoT instance, and this guide is just one of them. This guide aims to help you set up your AWS IoT instance and related services in the simplest way possible so that you can provide the information required for LightBlue® Explorer to send data to your AWS IoT instance. If you're an advanced user, feel free to skip or customize any step listed here to your preference.
  • By following this guide you understand that you're responsible for any and all charges incurred on your AWS IoT account. Punch Through is not responsible for any usage charges incurred as a direct or indirect result of following this guide or using the LightBlue® Cloud Connect feature in general.

Before we begin

  • Prerequisites
    • A BLE device/peripheral that supports sending notification or indication
    • An Amazon AWS account. Note that a Free Tier account will work just fine, though you will need to at least associate your account with a payment method.
    • Decide on a MQTT topic name (e.g. "lightblue_indications", the guide will assume this is the desired topic name in the following sections) that'll be used by LightBlue® Explorer to send BLE indication data to AWS
  • Services used:
    • AWS Internet of Things (IoT): IoT platform with support for MQTT topics. This is the first point of entry in the cloud.
    • AWS Cognito: AWS's identity authentication service. LightBlue® Explorer prompts for your Cognito credential ID to authenticate the connection to AWS services. This basically ensures that we're using your AWS instances instead of someone else's.
    • (Optional) AWS DynamoDB: a database service that supports table management. If you choose to set up DynamoDB, all the data received via BLE indication or notification can be stored in a table and can be visualized as a function of time using other third-party tools or database extraction/visualization software.

Step 1: Setting up AWS Cognito

  • Head to the AWS Cognito console and make sure you're logged in to the right AWS account, then visit this link to create an identity pool that'll be used by LightBlue® Explorer.

3.png


  • Choose a descriptive name for the identity pool and make sure to check "Enable access to unauthenticated identities" since we are not authenticating with an identity provider and instead only require an ad-hoc connection to your AWS service instances.
  • Select "Create pool".
  • You'll be directed to a page to set up Identity and Access Management (IAM) roles. You should see two sections, the top one corresponds to authenticated identities while the bottom one corresponds to unauthenticated identities. As mentioned before, we're only interested in setting up the unauthenticated identity. The following step is only specific to the "unauthenticated" or bottom section.
  • Make sure that the IAM role picker has "Create a new IAM Role" selected. The role name should already be pre-populated for you and should say something like "Cognito_LightBlueExplorerUnauth_Role". Expand the "View Policy Document" section and tap on the Edit button to the right. Select "OK" on the dialog that pops up, and we now have access to modify the policy document directly. Copy and paste the following snippet, replacing the entire content of the text box with it. If you're an advanced user, feel free to tweak this snippet to more finely control the permissions you grant to the IAM role.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mobileanalytics:PutEvents",
                "cognito-sync:*",
                "iot:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
  • The fields should look similar to the screenshot below:
4.png
  • Click on the "Allow" button on the bottom right of the page to finalize the creation of the identity pool and the assignment of roles. You'll now see the "Getting started with Amazon Cognito" page with your identity pool ID highlighted in red (redacted and shown as a red block in the example screenshot below). ACTION ITEM : Copy this string of text and save it somewhere convenient—we'll need this to authenticate your connection to AWS. Also remember to take note of the region as shown in the sample code snippet as you'll be prompted for this information as well in LightBlue® Explorer.
5.png

Step 2: Setting up AWS IoT

  • Head to the AWS IoT console and tap on "Get Started".
  • On the left sidebar, click on "Security" and then "Policies". Select "Create a policy".
1.png

  • Name the policy lightblue_awsiot_policy, and click on the "Advanced mode".
  • Cmd+A or Ctrl+A to select all the content into the in-browser editor and replace them with the following:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iot:*",
      "Resource": "*"
    }
  ]
}
  • Tap on "Create" to finalize the creation of the policy.
2.png

  • On the left sidebar, click on "Settings". ACTION ITEM : note down the custom endpoint of your AWS IoT instance, you'll need to input this into LightBlue® Explorer when prompted. See the following screenshot for what you should be looking for.
6.png

  • Right now you should have everything you need to start sending data received from your BLE device via indication/notification to the AWS IoT platform. While this may be sufficient for some people, be sure to read the "Setting up rules for AWS IoT" section to learn how to set up an AWS IoT rule that'll forward that data to AWS's DynamoDB—a database service—and store it in a table. This is helpful if you want to take your testing to another level and visualize the data changes as a function of time.

Step 3: Sending BLE indications data to AWS IoT via LightBlue® Explorer

  • Armed with a fully set up AWS IoT instance and AWS Cognito for un-authenticated users (i.e. the LightBlue® Explorer app), you should be sure to have the following information handy (replace us-east-1 with your region, of course):
    • Your AWS Cognito identity pool ID (in the form of us-east-1:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
    • Your AWS IoT endpoint URL (e.g. https://xxxxxxxxxx.iot.us-east-1.amazonaws.com)
    • Your decided-upon MQTT topic name (e.g. lightblue_indications)
  • In LightBlue® Explorer, connect to your BLE device with at least one characteristic that supports notification or indication, and tap on that characteristic after the initial connection.
7.png

  • You'll see a toggle for the Cloud Connect feature, flip that switch to enable the feature and select "Amazon Web Services (AWS)"
8.png

  • Populate the text fields in the alert dialog that appears with your AWS IoT endpoint (starting with "https://..."), your chosen MQTT topic name and your AWS Cognito identity pool ID, and tap OK.
  • Select your AWS region from the action sheet that appears afterwards. A loading spinner should appear and will disappear briefly after a MQTT session is successfully established between LightBlue® Explorer and your AWS IoT instance.
  • IMPORTANT : If you've previously left the app to copy the credentials from Safari or another iOS web browser, or if you keep getting connection failures to AWS IoT, you may have to navigate back to the main BLE scanning screen of the app and reconnect to your device for Cloud Connect to work correctly.
  • You're now ready to start sending BLE indications data to your AWS IoT instance! Tap on "Listen for notifications" above the cloud feature toggle, and the data that appears in the "read/notified values" section should get sent to AWS IoT. Hint: you can use the "Test" feature on the AWS IoT console to verify that the information did end up on your AWS IoT instance—simply subscribe to the same topic that you specified under your chosen MQTT topic name!
9.png

OPTIONAL: Routing data from AWS IoT to AWS DynamoDB

This section is entirely optional and illustrates the steps to route all the data coming into AWS IoT (from your BLE device's indications/notifications) to AWS DynamoDB. We're assuming your AWS IoT instance has been set up as described in the previous sections.


Step 1: Setting up AWS DynamoDB

  • Before we can add a rule to route the data from AWS IoT, we first need a DynamoDB table to store those data.
  • Head to the AWS DynamoDB console and tap on "Create table".
  • Name the table "lightblue_ble_indication_data" or some other descriptive name, and specify the primary key as "ble_device_name" of type String and add a sort key of "timestamp" of type Number.
13.png

  • Create the table. It can take up to a few minutes after initial setup before the table is usable.

Step 2: Setting up rules for AWS IoT

  • Once the DynamoDB table is ready, head to your AWS IoT console. On the left sidebar, click on "Rules" and then "Create a rule" when the page finishes loading.
10.png

  • Fill in the "Name" and "Description" fields with something descriptive, e.g. "Routes data from MQTT topic lightblue_indications to a table on DynamoDB"
  • Under the "Message Source" section, make sure "2016-03-23" is selected for the SQL version, and populate the Attribute and Topic Filter fields with "*" and your MQTT topic name respectively. The resulting rule query statement should be something like SELECT * from 'your_mqtt_topic_name'. Optionally you can also add a conditional check to filter out undesired data—we'll leave this as an exercise for our savvy users!
11.png

  • Click on the "Add action" button below the fields and select "Insert a message into a DynamoDB table", and confirm this selection by clicking on the button on the bottom right corner, "Configure action".
12.png

  • Select the DynamoDB table that was created under the "Table name" dropdown picker, and populate the hash key value with ${ble_device_name} and the range key value with ${timestamp()}. Populate the final field with payload.
14.png

  • Select "Create a new role" from the bottom section and give it a descriptive name like "LightBlue-IoT-DynamoDB" and create it.
15.png

  • Select the newly created role from the dropdown and finalize the action by selecting "Add action" on the bottom right of the page.
  • Finally, select "Create rule" on the bottom right of the rule creation page. Verify that the new rule is now shown on the Rules page on your AWS IoT console.

Step 3: Looking at data coming into DynamoDB

  • Use LightBlue® Explorer to listen to a characteristic notification or indication with the Cloud Connect toggle turned on as detailed in the "Sending BLE indications data to AWS IoT via LightBlue® Explorer" section above. Make sure that the MQTT topic name you specify in the alert dialog matches the topic name you specified when setting up the AWS IoT rule.
  • Listen for notifications as usual, and the data should now be sent to AWS IoT and DynamoDB. To see this, head to your DynamoDB table page and click on the "Items" tab.
16.png

  • Et voilà!
  • Side note: AWS currently does not support visualizing DynamoDB data out of the box without additional setup. There are other third-party scripts that would allow you to access the DynamoDB table, pull all the values and visualize it as a graph plot over time, but that is out of the scope of this tutorial. We hope this guide was helpful in getting you started with Cloud Connect, happy hacking!
03 Oct 16:45

Setting up Adafruit IO with LightBlue® Cloud Connect

Adafruit IO header image

Setting up Adafruit IO as a platform for LightBlue® Cloud Connect

  • LightBlue® Explorer has the ability to send data received from your BLE devices via indication or notification to Adafruit's IO platform.
  • You'll be prompted to provide some information for your Adafruit IO set up from within LightBlue® Explorer when you opt to send data to it. This guide aims to help you set up your Adafruit IO account so that you can provide the information required for LightBlue® Explorer to send data to your AWS IoT instance.

Before we begin

  • Prerequisites
    • A BLE device/peripheral that supports notification or indication.
    • An Adafruit IO account. It's free to sign up and use, but Adafruit also offers a premium tier that supports an unlimited amount of feeds. The free account is more than sufficient for the purposes of this tutorial. Punch Through is not responsible for any usage charges incurred as a direct or indirect result of following this guide or using the LightBlue® Cloud Connect feature in general.

Step 1: Obtaining your username & secret AIO key

  • If you don't already have an Adafruit IO account, sign up here.
  • Each Adafruit IO account has a username and a secret AIO key associated with it. The app requires both pieces of information in order to authenticate with the Adafruit IO server.
  • The username is straightforward and is the username you used to sign up for your Adafruit IO account.
  • The secret AIO key can be found by signing into your account at Adafruit IO and going into your account Settings. The first item should be "View AIO Key", tap on that and there should be a QR code on the screen. You'll be given the option to scan this QR code in LightBlue Explorer later.

Step 2: Sending BLE indication data to Adafruit IO via LightBlue® Explorer

  • In LightBlue® Explorer, connect to your BLE device with at least one characteristic that supports notification or indication, and tap on that characteristic after the initial connection.

  • You'll see a toggle for the Cloud Connect feature, flip that switch to enable the feature and select "Adafruit IO".


  • Populate the text fields in the alert dialog that appears with your Adafruit IO username and secret AIO key for the first two fields. If you have the QR code for the secret key handy on another device, you can opt to scan the QR code. Note that if you have previously filled in these fields before, they'll be pre-populated for your convenience, but can be changed easily.
  • The third field corresponds to the name of the Adafruit IO feed that will appear on your Adafruit IO dashboard. By default, LightBlue® Explorer suggests a name based on the BLE device name, but feel free to change it to anything you like! If you're going to be listening to notifications or indications from multiple characteristics of this device, it is highly recommended that you provide a feed name that would distinguish data from this characteristic from the rest.
  • You have the option of sending the indicated data as a numerical value or as a hex string. We highly recommend sending data as a number if you're certain that the data coming from the BLE device are numbers, as that'll allow you to visualize the value changes over time in the form of a beautiful line graph. If you're unsure of the form of data that you'll receive, choose to send the data as a hex string.
  • You're now ready to start sending BLE indications data to your Adafruit IO feed! Tap on "Listen for notifications" above the cloud feature toggle, and the data that appears in the "read/notified values" section should get sent to Adafruit IO.

Step 3: Looking at the feed data on Adafruit IO

  • Now that the data received via BLE indication is set up to be sent to Adafruit IO, you can see the data arriving in real time by visiting the Feeds page on your Adafruit IO account. The actual URL should look something like https://io.adafruit.com/your-username/feeds.
18.png

  • The feeds page also provides a history of the stream of data with timestamps. If the data is in the form of a numerical stream, the page will also display a convenient graph plot over time of the data value.

19.png

Step 4: Visualizing multiple data sources using an Adafruit IO dashboard

  • LightBlue® Explorer supports listening to indications and notifications from multiple characteristics of the same BLE device, and you can take advantage of that by enabling the Cloud Connect feature on multiple characteristics! We recommend using different feed names for different characteristics so that you can easily distinguish them as coming from separate data sources.
  • Adafruit IO provides a dashboard feature accessible from https://io.adafruit.com/your-username/dashboards that is perfect for visualizing data from multiple feeds.
20.png

  • You can create a new dashboard and add "blocks" to it. You can freely resize each block and move them around the dashboard interface.

21.png

  • Each block is a way to visualize any existing data from your feeds, and we encourage you to experiment with them to find the one that suits your needs. For instance, a line graph is perfect for visualizing numerical values while a stream provides a console-like log output of data arriving in real time, complete with timestamps on each entry.


  • Here's an example of a line graph that is set up to display data from two different feeds.

23.png

  • We hope this guide has been helpful in getting you started with Cloud Connect, happy hacking!
03 Oct 15:49

Fixing an Important High Sierra Incompatibility

by Paul Kafasis

All current versions of our software have compatibility with MacOS 10.13 (High Sierra). However, users running an outdated version of some of our apps may experience problems with audio playback on the new OS. Please read on for more details.

The Basics

A small number of our users on High Sierra have experienced a loss of audio on their Macs, with no audio being heard from the computer. This problem can be caused by a conflict between High Sierra and an outdated version of our Instant On audio component (specifically, Instant On version 8.4.3). When Instant On 8.4.3 is installed on High Sierra, MacOS’s audio backend (CoreAudio) can crash, resulting in lost audio.

The conflict described only occurs when the outdated Instant On 8.4.3 runs on High Sierra. Well before High Sierra was released, we updated Instant On to fix the incompatibility. Instant On 8.4.4 (and up) has no conflicts on High Sierra, and users who are up-to-date will experience no problems on the new OS. While very few people will be affected by this issue, any number greater than zero is undesirable.

How To Avoid This Issue

To ensure a smooth upgrade to High Sierra, just make sure you’ve got the latest versions of your Rogue Amoeba apps by selecting “Check for Update” within the app, then updating if prompted.

Location of updates in the app menu

You should also check the “Install Extras” window to make sure you’ve got the latest Instant On as well. If you’re running Instant On 8.4.4 or newer, you’re good to go.

Location of Install Extras in the app menu

Fixing The Issue on High Sierra

If you’re on High Sierra and you’re experiencing issues with audio playback, try removing the outdated version of Instant On. You can do this manually with the steps below.

Manually Removing Instant On

1) In the Finder, select “Go to Folder” from the Go menu, then enter /Library/Audio/Plug-Ins/HAL/

Location of Go to Folder

2) If Instant On is installed on your Mac, you’ll see the “InstantOn.driver” folder here. Drag it to the Trash.

diagram showing the folder dragging to the trash

3) Enter your administrator password when prompted, then empty the Trash to complete the removal of this old version of Instant On.

4) Log out of your Mac, then back in. Audio should now play as expected.

After Fixing, Remember to Update!

As mentioned, newer versions of Instant On are fully compatible with High Sierra, and can be installed without a problem. Instant On provides enhanced audio capture in our products Airfoil, Audio Hijack, Nicecast, and Piezo. You should be sure to update to the latest version of these apps, after which you can re-install Instant On via the “Install Extras” window.1

Closing

When the conflict between High Sierra and Instant On 8.4.3 was discovered during High Sierra’s beta period this summer, we quickly released updates to rectify the problem. These updates shipped well in advance of High Sierra’s official release, and ensured that nearly all of our users would experience no problems. For those users who didn’t update our apps, the information above will help fix the conflict, or prevent the issue entirely.

We always recommend users stay up to date with our latest releases, as that’s the only way to be sure you have the most recent bug fixes. On our side, we’ll continue our never-ending quest to avoid bugs entirely!


Footnotes:

  1. Loopback is also powered by Instant On, but unlike our other apps, it’s a mandatory part of the software. As such, no additional installation is needed.
    ↩︎

03 Oct 15:49

Cyclist’s Guide to Healthy Feet and Preventing Plantar Fasciitis

by Average Joe Cyclist

Anyone who cycles regularly may develop pain or injuries. One of the worst is plantar fasciitis, which can cause enough pain to stop you cycling, and interfere with all of your daily activities. This post offers three vital tips for cyclists on how to maintain healthy feet and prevent or cure plantar fasciitis.

The post Cyclist’s Guide to Healthy Feet and Preventing Plantar Fasciitis appeared first on Average Joe Cyclist.

02 Oct 21:35

And this is how you evolve a design

by Volker Weber

ZZ57D08012

These are three generations of Apple Watch. Do you notice the difference? There is none. Apple got the design right on the first product and they have been iterating the internals year after year. They have re-assigned the buttons since they did not get the software right in watchOS 1 and 2. But they kept a steady hand at the industrial design. Your first Apple Watch does not look different from the newest ones.

The Aluminium case comes in Gold, Silver and Space Gray. The Steel case is available in Stainless and Space Black Stainless. The Ceramic case comes in gray and white finishes. Watches can be 38 mm or 42 mm and bands are available in lots of materials and colors. There are special models in cooperation with Nike and Hermès. All of these options allow you to express yourself and to spend anywhere between 269 € and 1499 €.

But no matter what you spend, you will get an Apple Watch.

02 Oct 21:35

Apple Watch LTE :: This is seriously cool

by Volker Weber

IMG 0999 IMG 1001

Oh dear, this reminds me of my very first mobile phone, a Motorola 3200 International. Phone calls on the go, without a landline. Connected everywhere, without much effort.

Now I can do the same. Without a smartphone. This feels so weird. I am always alert because I don't feel my phone on me. Did I forget it somewhere, did I drop it? We are so used to always keep that phone safe, that it is almost second nature.

IMG 1002

It looks strange when you raise your wrist to accept a phone call. But with your AirPods it's completely natural and you cannot hear a difference to an iPhone call. It's not only phone calls. You can also send texts and iMessages. And you can reply to WhatsApp messages since they arrive as push notifications. iMessage stickers also work but show some artefacts from other frames.

IMG 1003 IMG 1007

I may have to go back from using Outlook on the iPhone to the native messaging app. Outlook does not seem to work well over LTE, if at all.

02 Oct 21:35

eSIM für Apple Watch Series 3 aktivieren

by Volker Weber

Das klingt eigentlich ganz einfach:

Sketch

Also habe ich da mal angerufen:

Da sehe ich Verbesserungspotential.

Wenn man dann mal durchkommt, geht alles ganz einfach. Der Kundenberater fügt dem Account eine Multi-SIM hinzu. Dann meldet man sich einmal ab und wieder an. Auf der Startseite findet man unten einen Eintrag mit einem Aktivierungslink.

Sketch2

Klickt man auf diesen Link, zeigt das Kundencenter einen QR-Code an. Man wählt auf dem iPhone die Watch App und dort die Option Cellular. Dann kann man den Code einscannen und die App lädt das Profil in die Uhr. Fertig.

43d47ad98f4485a96d7b73cf4f2c334b f0f0779a0d9ae2a33f6c3ff31b4799c2

Sketch3

Ab jetzt geht eigentlich alles automatisch. Die Watch verbindet sich nur dann mit LTE, wenn keine Wifi- oder Bluetooth-Verbindung möglich ist. Man kann LTE aber auch im Control Center der Watch abschalten.

6bca10d23575a2649aff00b88d02e903 d2543db9c0a731e1961c626e4942346c

02 Oct 21:35

Apple Watch LTE :: All the notifications, not all the apps

by Volker Weber

IMG 0990

Apple Watch is designed to work with iPhone. On the App Store you will find iPhone apps that support the Watch. In watchOS 1, apps would execute on the iPhone and display on Watch. With watchOS 2 Apple released a native SDK that allowed apps to execute on the Watch itself, which sped up things considerably. Just by looking at App Store you cannot find out if an app runs natively on the Watch oder on iPhone.

Watch, Watch Series 1 and Series 2 can talk to iPhone via Bluetooth or WiFi. Watch Series 3 adds (optional) LTE. When your iPhone is on and has a network connection, you will get all notifications via WiFi or LTE. Rule of thumb: if your app can connect via WiFi, it can also connect via LTE. The app developer does not have to do anything for LTE to work. His app inherits LTE support from WiFi support.

Twitter just removed Watch support from their app. I have a hunch that happened because they don't support the WiFi connection and don't want LTE users to yell at them. I will have to find out one by one, which apps support this connection.

02 Oct 21:35

iPhone 8 Plus :: One phantastic camera

by Volker Weber

IMG 0985

I don't look at cameras the same way as pixel pushers do. The only thing that counts for me is how photos turn out. This is a split second snapshot I made this morning. It's not the best of a series. It's just one single attempt at getting it right. And boy, the camera delivered. For this kind of result I used to get the Fujifilm X-Pro1 with 35mm f/1.4 glass. Megapixels don't matter. If you just compare iPhone 7 Plus and 8 Plus on megapixel count, you might come to the conclusion that both have 12 megapixels and should render the same results. And you would be very wrong.

02 Oct 21:34

Apple Watch :: Do you need to upgrade?

by Volker Weber

ZZ0E1C3D40

There are three generations of Apple Watches:

  • Apple Watch
  • Apple Watch Series 2 and Series 1
  • Apple Watch Series 3 and Series 1

The photo above shows an Apple Watch, an Apple Watch Series 2 and an Apple Watch Series 3. I do not have an Apple Watch Series 1. Forget about the material, because that isn't important. It's just a matter of personal preferences and how much money you want to spend.

What you see is that the Apple Watch does not get thinner. It gets thicker. But trust me, it feels the same. The body itself does not get bigger. It's the sensor thing sticking out the back that is getting thicker. It is growing ever so slowly that you do not notice. Since the steel Watch on the left is heavier than the aluminium Watch in the middle it actually feels more substantial than the thicker Series 2.

What is important is that the Watch is getting faster and more capable. Series 2 adds GPS and a better display, Series three adds LTE with the exception of entry level aluminium models. The more expensive ones all have LTE. The thing you cannot see is how much faster it got. And I don't want to give you any numbers. It's very simple: if you only want notifications and simple activity tracking, Apple Watch and Series 1 are good. If you want to track your runs with your route, you want (or keep) Series 2. But if you want to use any additional apps, Series 3 is a great upgrade. This thing loads apps so much faster.

I can say with great confidence that you should buy a Series 3 and don't save some money by going with Series 1. You don't have to invest in fancy bands. Put everything into the Watch and go with the simple Sport band. I love the Nike band, but the new Nike Series 3 isn't out yet.

And then there is LTE connectivity. I made a couple of adjustments to my Telekom plan and will add the Watch Series 3 soon. This needs further research.

02 Oct 21:34

iPhone 8 Plus :: Qi inductive charging just works

by Volker Weber

7e66bf0785ba53de7de9e6665bee4e94

Every single one of my Nokia Qi chargers works with the iPhone 8 Plus. Through the Apple case. It’s good to have standards.

02 Oct 21:34

A day to remember

by Volker Weber

Sketch

I am not a frequent flyer. I once was, but I have been cutting my CO2 footprint a lot. Most of the events are live streamed today. But once in a while it's good to talk to real people, especially in individual one-on-one meetings. Yesterday was a day I was going to fly into London for two hour meetings. My plan was to go in on LH 928 scheduled to arrive at LCY at 8:40 local and to return from LHR at 15:30, both on Economy Light without checked baggage. Meetings from 10:45 to 12:45 with some breathing time before and after. Little did I know that nothing was going to go according to this plan. But then it did, thanks to Robert, Flo, Martin & Ute.

As I arrived at Frankfurt Airport 7:10, already checked in for a flight leaving at 8:10, I got an SMS from Lufthansa. My flight was cancelled. I approached a desk and was told that I had been reschulded to LH 906 leaving at 12:00. That was too late for my meetings and I asked to be put on an earlier flight. There were no seats available for regular travellers. I asked to be put on standby for LH 900 leaving at 8:00 for LHR. That is a lot further out, but since I had some additional time planned, I would have made it for the meeting.

IMG 0912

LH 900 was fully booked with quite a few people on standby. After everybody had boarded and all the other people from the waiting list had disappeared, the ground crew was missing one passenger with checked baggage. If this passenger would not be found on the plane, that seat was mine. But it should not be. While I was waiting a new player showed up: a status flyer that would bump me off that flight, because she was exercising her privilige to be put on an earlier flight.

IMG 0965

The Lufthansa ground crew was stellar. They put her on that flight, but in the very second they took her off LH 902 they put me into her place. Now I had a confirmed seat and a boarding pass for LH 902 scheduled to leave at 9:00 and arriving at LHR 9:40 local. This was only 50 minutes after my original departure, but in a more remote destination. It would be a tight squeeze. If the flight would only arrive a few minutes early I could make my meetings via Heathrow Express to Paddington and the Tube to my destinationin Soho. Ten minutes later LH 902 was delayed by 30 minutes, and then by another half hour. I arrived about the time my meeting was going to start, still an hour away from the location.

Sketch

But I was safe. Before I even boarded Heathrow Express Martin had rescheduled my meetings. Meanwhile LH 909 leaving LHR at 15:30 local was cancelled. I did not know about that but Flo rebooked me on LH 911 an hour later. Lose an hour, win an hour. I still had those two meeting hours I had planned for.

IMG 0960

Back at the airport at 15:00 LH 911 was delayed to 17:00, then to 17:45. I was anxious it might also get cancelled but it eventually left LHR at 18:55 wheels up. Back in Frankfurt one hour later at 21:00 local Ute picked me up. I was home more than 15 hours after I left. Frau Brandlinger was thrilled to see me.

I have to thank everybody who made this happen, despite all the difficulties. You are stars!

02 Oct 21:32

Burrard Bridge: This is About a Bike Lane – 3

by pricetags

It’s not a detour anymore.

Today the City removed the fencing and added new jersey barriers, formally creating the east-side bike lane – previously a curbside traffic lane.  The rebuilt sidewalk which had been used as the temporary northbound bike lane is now solely for those on foot.

And as with all the construction, it was being done without stopping traffic – car, bus, bike or ped.


02 Oct 21:25

"Science is not concerned with the discovery or creation of beauty; it seeks only the truth. But..."

“Science is not concerned with the discovery or creation of beauty; it seeks only the truth. But science, for better or worse, is pursued by men – and the achievement of its ideals, as in all human activity – be it humble, moderate or great-cannot be attained in a climate completely devoid of emotion. The result is that, though science does not in any way aim to become an art, an art it inevitably is.”

- | François Le Lionnais, Science is an Art
02 Oct 21:25

"Excuse me, Mr. President but your tantrum tweet storm this morning attacking the mayor of San Juan,..."

“Excuse me, Mr. President but your tantrum tweet storm this morning attacking the mayor of San Juan, a fellow American citizen dealing with a real-time life and death struggle for hundreds of thousands of her constituents on an island of millions in crisis, is not only far below the dignity of the office you hold. It fails even the most basic test of humanity.”

- Dan Rather
02 Oct 21:25

scipunk:SP. Android cries. Automata (2014) ‘You not only burned...



scipunk:

SP. Android cries. Automata (2014)

‘You not only burned it up; you made it cry.”

02 Oct 21:24

Twitter Favorites: [bmann] First I’m supposed to seal it all over with some olive oil heated in the pot https://t.co/BbVuW1ynWq

Boris Mann @bmann
First I’m supposed to seal it all over with some olive oil heated in the pot pic.twitter.com/BbVuW1ynWq
02 Oct 21:24

Twitter Favorites: [bmann] Look at this. It’s glorious - a polpettone—Italian meat loaf—from Columbus Meats on Nanaimo https://t.co/pEwob7Z9XD

Boris Mann @bmann
Look at this. It’s glorious - a polpettone—Italian meat loaf—from Columbus Meats on Nanaimo pic.twitter.com/pEwob7Z9XD
02 Oct 21:21

roseydoux:The Blue Sky Maiden (1967)



roseydoux:

The Blue Sky Maiden (1967)

02 Oct 21:21

iPhone 8 Plus cracks open for two users in Asia, batteries may be to blame

by Timmy Shen

The iPhone 8 and iPhone 8 Plus have been available for just a couple of weeks, but reports of alleged battery issues have emerged in Asia.

A Taiwanese Apple fan noticed her newly-bought iPhone 8 Plus was bulging while charging, and soon cracked open, Taiwanese media Apple Daily reported.

The owner surnamed Wu told local media that she was using the official Apple charging cord. The smartphone started swelling after about three minutes and then split open. The phone was later recovered by the carrier and will be shipped to Apple for analysis, local media reported.

Another iPhone 8 Plus owner in Japan experienced something similar but this time without even charging the mobile device. Twitter user Magokoro0511 uploaded a few photos on Twitter of his broken device. He tweeted that “it was already slightly split open when I received the iPhone 8 plus.”

Screen Shot 2017-09-30 at 17.26.47

Apple has yet to confirm if these cases were caused by batteries, but iPhone 8 Plus might use the same battery manufacturer, Amperex Technology Limited (ATL), as the Samsung Galaxy Note 7, said The Next Web citing unconfirmed reports. However, if these cases turn out to be isolated incidents, there’s not much to worry about. After all, Samsung Galaxy Note 7 explosions were reportedly caused by faulty design rather than the manufacturing flaws from the battery makers.

Even though these cases may just be some unlucky consumers getting some individual broken devices, the incidents may as well reflect part of the hardware supply chain problems Apple has. Apple is expected to see delays in iPhone X shipment, given that its OLED edge-to-edge screen design may lead to more production difficulties.

02 Oct 20:59

There is now a Keurig machine for yogurt, and it’s called Yomee [Sticky or Not]

by Rose Behar

You all love yogurt enough to consider getting a dedicated yogurt-making machine, right?

Perfect. Let me introduce you to Yomee.

Yomee is essentially a Keurig machine for yogurt. You put a pod full of powdered milk and bacteria into the machine, put a cup underneath and six hours later you have yogurt.

Much like a Keurig machine, it’s impossible to use the Yomee without its pods — which can be purchased in either dairy or vegan variants — but the company promises that customers need not concern themselves with environmental waste, since they are “100 percent natural and completely soluble.”

The company says the benefits of using its machine are manifold. First, yogurt is good for you, but homemade yogurt is better than the store bought stuff because it generally has less sugar, preservatives, live cultures and artificial colourings and flavours.

However, making your own yogurt takes a concerted effort that may exceed your time and patience — so the Yomee automates the process. On its Kickstarter page, the company breaks down its yogurt-making process for curious minds, and according to them it as as follows:

  1. Yomee boils and stirs the milk (which can be a non-dairy option) for 15 minutes.
  2. Yomee cools the milk back down to 46°C— “the ideal temperature for live yogurt cultures to thrive.”
  3. Yomee drops a culture-filled pod and stirs.
  4. Yomee incubates the milk at a steady temperature for 6 hours, during which the live cultures transform milk into yogurt.
  5. Yomee chills the yogurt to 10°C.

The Yomee also comes with an accompanying app that updates users on the process, lets them select the yogurt texture and provides them with yogurt recipes.

A Yomee kit with the yogurt making machine and 20 pods is priced at $119 CAD with an expected ship date of April 2018.

Verdict: Not sticky. But probably literally very sticky.

Sure, it would be nice to have a robot make yogurt for me every night, but it’s not worth $120, plus $1 per pod and the endless ridicule of my friends and family. Also, I’m not sold on the concept that there’s no environmental impact from those pods — the mere shipping is wasteful.

The Kickstarter has already surpassed its goal, though, so maybe I’m the odd one out on this, and the Yomee will be in every house in America in ten years — but I highly doubt it.

If there’s one thing I can say for this machine, though, it’s that you at least seem to need both the pods and machine for operation — so it’s ahead of the Juicero.

The post There is now a Keurig machine for yogurt, and it’s called Yomee [Sticky or Not] appeared first on MobileSyrup.