Shared posts

21 Sep 16:22

Headphones optimized for the Google Assistant

by Tomer Amarilio

Your Assistant is already available to help on phones, speakers and more. But sometimes you need something a bit more personal, just for you to hear. And that’s where headphones come into play. Like when you’re commuting on the train or reading at home. It would be nice to get on-the-go help from your Assistant, without glancing at your phone.

To help with those “in between” moments, together with Bose, we’re announcing headphones that are optimized for the Assistant, starting with the QC35 II. So now, you can keep up to date on your messages, music and more—with headphones that you’ve paired with your eligible Android phone or iPhone.

To get started, connect your QC 35 II headphones to your phone via Bluetooth, open your Google Assistant app and follow the instructions. From there, your Assistant is just a button away—push (and hold) the Action button on your headphones to easily and quickly talk to your Assistant. 

  • Stay connected to what matters: Hear your incoming messages, calendar events and more, automatically, right from your headphones. So if you’re listening to your favorite song and you get a text, your Assistant can read it to you, no extra steps. 
  • Listen to music, news and more: Now it’s easier to access a playlist, skip a track or go to a new song when you’re listening to music—and the music experience will continue to get better over time. You can also keep up with news while you take walk, jump in a cab or go for a run. Just ask your Assistant to “play the news” and you’ll get a read-out of the current hot topics. You can choose from a variety of news sources, like CNBC, CNN, NPR and others. 
  • Keep in touch with friends: You can make a call with just a few simple words—“Call dad”—take the call from your headphones and continue on your way. No stopping or dialing, just talking. 

Bose

We’ve worked together with Bose to create a great Assistant experience on the QC35 II—whether you’re on a crowded street or squished on a bus, Bose’s active noise cancellation will help eliminate unwanted sounds around you, so you’re able to hear your Assistant, your music and more. The Assistant on the QC35 II will be available in the U.S., Australia, Canada, Germany, France and the U.K.

21 Sep 12:14

Photo



20 Sep 20:52

HTC to halt trading of its shares as Google acquisition news looms

by Evan Selleck

Earlier this month, a report surfaced that suggested Google may be in talks to acquire the phone manufacturer HTC.

Now the Taiwan Stock Exchange has notified those keeping an eye out that trading of HTC shares will be halted tomorrow, September 21, due to an announcement set to take place on the same date. To go along with that, Evan Blass was recently tipped that HTC will be holding a town hall meeting on September 21, with the topic on hand reportedly being a Google acquisition.

[2] According to this person, the companies have finalized a deal wherein GOOG will acquire certain HW eng assets, but HTC retains its brand

— Evan Blass (@evleaks) September 20, 2017

According to Blass, the tipster says that HTC and Google have come to terms on several topics and that Google will acquire specific hardware engineering assets from HTC, but that HTC will hold on to its brand.

A statement from HTC says, “HTC does not comment on market rumor or speculation.”

What do you think? Will Google acquire parts of HTC?

20 Sep 15:42

USB Cables

Tag yourself, I'm "frayed."
20 Sep 12:54

TOMB RAIDER - Official Trailer #1

TOMB RAIDER - Official Trailer #1

 

The fate of humanity rests in her hands. Alicia Vikander is Lara Croft In Tomb Raider. The fiercely independent daughter of a missing adventurer must push herself beyond her limits when she finds herself on the island where her father disappeared. What do you guys think of the first official trailer?

20 Sep 12:08

Poll: College Students Are Hostile Toward Free Speech

by John Gruber

Catherine Rampell, writing for The Washington Post:

Here’s the problem with suggesting that upsetting speech warrants “safe spaces,” or otherwise conflating mere words with physical assault: If speech is violence, then violence becomes a justifiable response to speech.

Just ask college students. A fifth of undergrads now say it’s acceptable to use physical force to silence a speaker who makes “offensive and hurtful statements.”

That’s one finding from a disturbing new survey of students conducted by John Villasenor, a Brookings Institution senior fellow and University of California at Los Angeles professor.

Even worse, a large segment of them fundamentally do not understand the First Amendment:

For example, when students were asked whether the First Amendment protects “hate speech,” 4 in 10 said no. This is, of course, incorrect. Speech promoting hatred — or at least, speech perceived as promoting hatred — may be abhorrent, but it is nonetheless constitutionally protected.

This notion equating speech with violence is more than just an irritation. It’s ammunition for the right to shut down legitimate protest. It’s self-defeating for people on the left to take this stance. Sticks and stones, folks.

Update: Polling experts are casting serious doubts on this poll’s methodology. But whether this poll is valid or not, there’s no question in my mind that today’s youth have a serious problem with free speech. There’s a reason why many comedians won’t play college campuses anymore — too many kids can’t take a joke.

19 Sep 19:13

Oddworld: Abe’s Oddysee FREE for 48 Hours | Humble Store...



Oddworld: Abe’s Oddysee FREE for 48 Hours | Humble Store  

Escape RuptureFarms and grab Oddworld: Abe’s Oddysee for FREE for 48 hours in the Humble Store!

19 Sep 19:12

'Tis the season...

by MRTIM

19 Sep 14:02

The EFF Withdraws From the W3C Over Support for DRM

by John Gruber

Cory Doctorow, in an open letter from the EFF to the W3C:

In our campaigning on this issue, we have spoken to many, many members’ representatives who privately confided their belief that the EME was a terrible idea (generally they used stronger language) and their sincere desire that their employer wasn’t on the wrong side of this issue. This is unsurprising. You have to search long and hard to find an independent technologist who believes that DRM is possible, let alone a good idea. Yet, somewhere along the way, the business values of those outside the web got important enough, and the values of technologists who built it got disposable enough, that even the wise elders who make our standards voted for something they know to be a fool’s errand.

I’m no fan of DRM. Who is? But I am a fan of practicality, and there are practical reasons why web browsers should be able to play DRM-protected content without using proprietary plugins. Netflix, for example, is never going to serve video without DRM. Or perhaps better put, movie and TV studios wouldn’t allow Netflix to do that. Nor would professional sports leagues or the Olympics.

So either you can watch Netflix in a web browser or you can’t. If your web browser doesn’t support DRM natively, then you have to use plugins. And plugins are rapidly going the way of the dodo bird, because they suck. Even Flash’s end-of-life has been announced. iOS and Android don’t even support browser plugins anymore — and together they dominate real-world usage.

I love the EFF and will continue to support them, but I’d rather see a world where Netflix and all the other DRM-protected streaming services still work in standards-based web browsers than a world where they don’t but where the W3C can claim a moral victory. If you think the open web is losing ground to native app-based platforms now, think about how bad it would be if you couldn’t watch Netflix or live sports.

I also think it’s silly to say DRM doesn’t work. It’s not perfect, and can be worked around, but it’s harder to pirate DRM-protected content than it is non-DRM-protected content. Just making it harder is “working” to at least some degree.

Update: In a series of tweets, Doctorow clarifies that it was the W3C’s refusal to seek compromises over the DMCA, not support for DRM in general, that led to the EFF’s decision to leave:

Significantly, refusal from DRM advocates to promise not to use the DMCA against security researchers, accessibility workers, archivists […] is an ominous sign that they want to reserve the right to execute exactly that power. Publishing EME after the refusal to deal on this is recklessness embodied: when someone tells you they plan to use the power you’re giving them, you should believe them.

I’ll leave the original post as-is, because I think it expresses well my thoughts on why the W3C should support DRM, but this DMCA issue is important, and now I’m uncertain how to feel about the EFF’s decision to leave. The DMCA is an odious — and I think unconstitutional — law. DRM should be protected by its encryption and longstanding copyright law. Anything that’s “fair use” under copyright law should be “fair use” with DRM content if the DRM can be circumvented.

19 Sep 12:02

Comic for 2017.09.19

18 Sep 17:53

Childhood of a coder: Pirate all the things

by CommitStrip

18 Sep 15:48

Obsolete Technology

And I can't believe some places still use fax machines. The electrical signals waste so much time going AROUND the Earth when neutrino beams can go straight through!
18 Sep 15:48

Beautiful 30-day time lapse of a cargo ship’s voyage

by Jason Kottke
Dan Jones

Most of this you can skip through, but there are some beautiful shots of the night sky, and the lightning was pretty awesome.

Jeffrey Tsang is a sailor on a cargo ship. On a recent voyage from the Red Sea to Sri Lanka to Singapore to Hong Kong, he set up a camera facing the bow of the ship to record the month-long journey. From ~80,000 photos taken, he constructed a 10-minute time lapse that somehow manages to be both meditative and informative. You get to see cargo operations at a few different ports, sunrises, thunderstorms, and the clearest night skies you’ve ever seen. Highly recommended viewing. (via colossal)

Tags: time lapse   video
18 Sep 15:26

Comic for 2017.09.17

18 Sep 11:45

Intriguing CSS Level 4 Selectors

by Dennis Gaebel

CSS selectors have progressed massively over the years, giving developers far more power for targeting specific bits on their pages. The examples in this article are part of the CSS Selectors Level 4 specification. Let’s dive in and investigate seven of these intriguing selectors, some of which I guarantee you’ve yet to use in practice!

Selectors Level 4

The Level 4 spec certainly contains some well-known selectors such as nth-child, but it also contains some very unique characters. Much of the Level 4 spec outlines many new and wonderfully useful pseudo classes and pseudo selectors, so on that subject, let’s briefly review what the difference is between single and double colons when it comes to pseudos in CSS.

Single vs. Double Pseudo Colons

As a general rule these days, double colons :: should be used instead of a single colon : to distinguish pseudo-classes from pseudo-elements and content as the specification states.

“This [double-colon] notation is introduced … in order to establish a discrimination between pseudo-classes and pseudo-elements. For compatibility with existing style sheets, user agents must also accept the previous one-colon notation for pseudo-elements introduced in CSS levels 1 and 2 (namely, :first-line, :first-letter, :before and :after). This compatibility is not allowed for the new pseudo-elements introduced in CSS level 3.” –W3C Specification

Okay, so that’s clear, but what’s the difference between classes and elements?

Pseudo-classes vs Pseudo-elements

A pseudo-class always consists of a “colon” : followed by the name of the pseudo-class (the keyword) and, for functional pseudo-classes, by one or more arguments between parentheses (similar to CSS functions). It’s a method for authors to specify and target a special state of the selected element(s).

“Pseudo-classes let you apply a style to an element not only in relation to the content of the document tree, but also in relation to external factors like the history of the navigator (:visited, for example), the status of its content (like :checked on certain form elements), or the position of the mouse (like :hover, which lets you know if the mouse is over an element or not).” – MDN Web Docs

Pseudo-elements create abstractions about the document tree beyond those specified by the document language. For example, document languages don’t offer mechanisms to access the “first letter” or “first line” of an element’s content. Pseudo-elements allow authors to refer to this otherwise inaccessible information. 

Pseudo-elements also provide authors a mechanism to reference content that doesn’t exist in the source document such as the well-known ::before and ::after pseudo-elements that allow access to generated content in CSS 2.

Now that we have the logistics out of the way let’s dive in and explore a few of these intriguing CSS level 4 selectors.

1. :matches()

The :matches() pseudo-class is certainly a strong selector to come from level 4, but browsers are still discussing its inclusion with the exception of Safari (WebKit). 

Generally speaking, it can be used to combine multiple selector rules into one succinct line. It accepts a selector list as its argument. These arguments can be compound selectors and complex selectors, however combinator selectors are not allowed.

/* Chrome */
:-webkit-any(:hover, :focus, :active) {
  color: #222;
}

/* Firefox */
:-moz-any(:hover, :focus, :active) {
  color: #222;
}

/* Safari */
:matches(:hover, :focus, :active) {
  color: #222;
}

While this snippet combines all our general states for :hover, :focus, and :active into one ruleset, it still doesn’t show the potential it possesses. We’ll review a more complex example coming up next.

If you’re familiar with “nesting” get ready to have your socks knocked off. Matches can be combined with other :matches selectors to mimic this very same feature that many pre-processor users adore, but from within CSS!

:matches(section, article) :matches(h1, h2, h3, h4, h5, h6) {
  color: goldenrod;
}

/* equivalent to: */
section h1,
section h2,
section h3,
section h4,
section h5,
section h6, 
article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
  color: goldenrod;
}

If you’re so inclined you can even string them together to open up another set of possibilities.

/* Firefox */
:-moz-any(a):-moz-any(:link, :visited) {
  color: blue;
}
:-moz-any(a):-moz-any(:hover, :focus, :active) {
  color: red;
  text-decoration: none;
}

/* Chrome */
:-webkit-any(a):-webkit-any(:link, :visited) {
  color: blue;
}
:-webkit-any(a):-webkit-any(:hover, :focus, :active) {
  color: red;
  text-decoration: none;
}

/* Safari */
:matches(a):matches(:link, :visited) {
  color: blue;
}
:matches(a):matches(:hover, :focus, :active) {
  color: red;
  text-decoration: none;
}

This example is the equivalent of writing:

a:link,
a:visited {…}

a:hover,
a:focus,
a:active {…}

Keep in mind that :matches() can’t be nested (:matches(:matches())) and doesn't work with :not() (:matches(:not()), :not(:matches())). 

Sadly the spec for this selector has only been solidified in Safari and still awaits other browser vendors to support it, so you’ll have to use separate declarations and vendor prefixes in the meantime. Currently, tooling such as Autoprefixer doesn’t support :matches(), but have no fear as I recently filed an issue on GitHub requesting this support.

If you have an example using this selector and would like to share, please post it in the comments below. We always love a tasty CodePen demo!

2. :placeholder-shown

Input elements have the option to show placeholder text hinting to a user what should be typed into the input. This occurs when the placeholder attribute is present on the input tag and thus matches an input element showing placeholder text.

/* affects entire input */
:placeholder-shown {
  opacity: 1; /* works */
  color: gold; /* sketchy */
  background: blue; /* works */
  font-weight: bold; /* works */
  border: 1px solid red; /* works */
}

/* only affects placeholder text */
::placeholder {
  opacity: 1; /* works */
  color: gold; /* works */
  background: goldenrod; /* works */
  font-weight: bold; /* works */
  border: 1px solid red; /* works */
}

Essentially :placeholder-shown is for selecting the input itself when its placeholder text is being shown vs. ::placeholder which styles the placeholder text. There is in fact documentation about the ::placeholder noted in the CSS Pseudo-Elements Module Level 4 Editors Draft. Keep in mind that :placeholder-shown is a pseudo class (it’s an element in a particular state) and ::placeholder is a pseudo element (a visible thing that isn’t really in the DOM).

During my research I discovered that color was a particular property (when used with :placeholder-shown to change placeholder text color) that was only honored by Firefox, whereas Chrome and Safari maintain the gray placeholder text color.

3. :any-link

The :any-link pseudo-class represents an element that acts as the source anchor of a hyperlink. 

:any-link {…}

For example, in HTML5, any <a><area>, or <link> elements with an href attribute are hyperlinks that match :any-link and are equivalent to :matches(:link, :visited). In my opinion it’s a really peculiar selector and is still awaiting a better name apparently, however support is fairly wide these days with the exception of Edge. 

Autoprefixer currently supports this property and provides the proper vendor prefixes for browsers that require them.

4. :indeterminate

The pseudo-class :indeterminate is a selector intended for particular form elements and applies to all media. 

:indeterminate {
  outline: 2px solid red;
}

Typically this selector will match inputs such as radio and checkboxes when there is no checked attribute present. Inputs such as these can exist without without either checked or unchecked states. 

It also selects elements like the progress element with no value content attribute (i.e. when the percent completion is unknown). Support is very stable at the present time across many widely used browser vendors.

5. :user-error

The pseudo-class :user-error represents an input element with incorrect input, but only after the user has interacted with it.  For example, from the time the user has attempted to submit the form and before the user has interacted again with the form element.

:user-error {
  background: red;
  color: red;
  border: 2px solid red;
}

Support, however, just isn’t there and there’s no way to know if this will be implemented by major browser vendors. For the time being it’s better to use :invalid or :required if you need this kind of error styling for your web forms.

:invalid {
  background: red;
  color: red;
  border: 2px solid red;
}

6. :optional

The pseudo-class :optional can be used when the value is valid and before the form it belongs to is submitted.

:optional {…}

It selects any input or textarea element that does not have the required attribute present. This allows forms to easily indicate optional fields, and to style them accordingly. 

This is one of the very lightly documented selectors included in the selectors level 4 specification draft.

7. :scope

The pseudo-class :scope  can limit style rules that only apply to a part of a page by setting the scoped attribute on a <style> element (a direct child of the root element of the subtree you want the styles to be applied to). This limits the styles to affect just the element that is the parent of the <style> element and all of its descendants, or in other words, the parent of the <style scoped> element and anything inside.

<ul>
  <style scoped>
    :scope {
       color: red;
    }
  </style>
  <li>item 1</li>
  <li>item 2</li>
  <li>item 3</li>
</ul>

Unfortunately, most browsers don’t support it, or did at one time and have since removed it entirely. Although Chrome and Safari register a match of the pseudo-class, and therefore apply the CSS rule, they don’t yet support style scoping itself; this means that the applied CSS rule floods beyond the intended portion of the document and is equal to :root

Based on current research Chrome 35 and FF 55 removed support however there was a time when Chrome and Firefox supported :scope. All this back and forth makes scope’s outlook appear pretty grim, and according to Can I Use most browsers currently have support placed behind a flag.

Conclusion

There are certainly some very promising selectors in level 4 and many more not mentioned in this article. As with anything in specification form, some selectors could change slightly over time or be removed entirely. It’s up to us as developers to cling to the ones we value the most and make sure the teams in charge are aware. If you have questions or comments or even examples of the selectors mentioned prior please post them below. Happy coding!

Specifications

18 Sep 00:09

Finishing His Run

by Bill Amend

17 Sep 02:49

matter

by Lunarbaboon

17 Sep 00:53

Giant Inflatable Soccer Dartboard

by Erin Carstens

Socc'er in the bullseye, kid. This giant inflatable soccer dartboard might not be as spooky as a 12' inflatable animated spider for the Halloween party, but it will hold all the boys' and girls' - and their parents' - interest for a whole lot longer. Save yourself the hassle of apple bobbing and pinning the the tailbone on the skeleton. Set up as a penalty kick-style game on the soccer delivering side, and a massive, 18' segmented scoreboard on the darts receiving end, this backyard party game is all the party I'd need. Any time of the year.

The Soccer Dartboard set comes with a blower to inflate the board, plus 6 inflatable balls and a hand pump. The balls are the fuzzy, sticky kind so you won't need a hawk-eye referee standing alongside the board to tell you where your ball hit (your face, if say the "1", Cornelius!) Game setup looks like it will be...interesting. Not sure if the lines and stakes you'll need to secure the dartboard are included with the package, but I'd get a few extra just to be safe.

17 Sep 00:53

Photo



16 Sep 10:08

Build-On Brick Mug

by Erin Carstens

Hey, le'go my mug, Steve from IT! No really, here's a few more bricks. Built it up, bro. The strategically named (or perhaps renamed) Build-On Brick Mug has a 12-ounce food-grade interior, and an outer surface covered in everyone's favorite peg board, plus comes with 16 construction bricks and 4 small wheels for letting the good times flow, snap, and roll. LEGO bricks, pieces, and minifigs are also compatible.

Add some creativity to your morning coffee with a Build-On Brick Mug in black, blue, red, or white. Available for 50% off for a limited time.

16 Sep 10:08

Newegg discounts Google Pixel and Pixel XL

by Dima Aryeh

Owning a Google Pixel means getting the fastest Android updates possible. It also means having a more open, moddable device as well as a fantastic camera with HDR+ software. It’s a solid device, as is its bigger brother, the Pixel XL.

The Pixel phones retail for $649 and $769, respectively, with $100 added on to upgrade to 128GB, but Newegg currently has the devices in 128GB flavor on sale for $609.99 and $649.99. That’s a pretty big discount!

The sale ends in six days, if stock doesn’t dry up first. Hit the source links if you want to pick one up for yourself!

Sources: Newegg (Google Pixel), Newegg (Google Pixel XL)

16 Sep 00:56

Old Habits

by Reza

15 Sep 20:29

This haggard-looking eagle is a metaphor for American democracy right now

by Jason Kottke

Haggard Eagle

This eagle represents how many of us feel about the repeated attempts on the freedom and well-being of American citizens by the majority Republican Congress and the current Presidential administration: victimized but still resolute and proud. We feel you, eagle…it seems as though it’s already been years since January 20.

This photo was taken by Klaus Nigge on Amaknak Island in Alaska and has put Nigge in the running for the Wildlife Photographer of the Year. (via in focus)

Tags: Klaus Nigge   photography   politics   this is a metaphor for something   USA
15 Sep 15:30

Chocolate Candy Bar Maker

by Erin Carstens

Hide yo' kids, hide yo' wife, hide yo' husband! No one's getting their hands on the Chocolate Candy Bar Maker but me! Chocolate's loyal, and gluttonous, and selfish little whore slave. No, redact that redaction. Whore! This isn't a family website.

And like I said, I don't want the children finding out about the Chocolate Candy Bar Makers anyway. Buying them all up before I get my next paycheck....

Nostalgia's Chocolate Candy Bar Maker hits the scene just in time for homemade Halloween gifts that trick-or-treaters' mamas are going to throw right in the trash out of fear they contain razor blades or rat poison. The fondue-style food gadget has a heated base for melting your chocolate, plus 2 spouted melting pots for pouring different types of it into surrounding silicone bar molds.

The 4 molds sit on top of ice-filled containers that cool and reshape the molten chocolate into up to 8 bars and 8 nuggets at a time. Oh man I could go for a chocolate nugget right now. Nuggets chicken and weed would be welcome too.

The Chocolate Candy Bar Maker also comes with 4-section toppings trays and spoons for sprinkling, nutting, and Oreo cookie-ing up your chocolate bars before they harden.

15 Sep 13:09

Road Trip

by Enzo

15 Sep 13:01

The Ocean Floor

by alex

The Ocean Floor

15 Sep 13:01

Bose QuietComfort 35 II to ship with Google Assistant built in

by Dima Aryeh

Multiple sources have confirmed that the next version of the Bose QuietComfort headphones will feature Google Assistant built in. This is part of Google’s push to include Assistant on headphones, codenamed “Bisto.”

The packaging for the QC35 leaked as well, showing off the Google Assistant branding as well as the “action button” that’s new to Bose headphones. These headphones may launch within the next few weeks.

The Bose headphones won’t be the only headphones launching with Google Assistant, but they may be the first. It’s good to see Google finally expanding its virtual assistant to more devices. Let us know if you’ll pick a pair up!

Sources: 9to5Google, Reddit

14 Sep 22:42

Photo



14 Sep 22:41

Facebook Enabled Advertisers to Target ‘Jew Haters’

by John Gruber

ProPublica:

Last week, acting on a tip, we logged into Facebook’s automated ad system to see if “Jew hater” was really an ad category. We found it, but discovered that the category — with only 2,274 people in it — was too small for Facebook to allow us to buy an ad pegged only to Jew haters.

Facebook’s automated system suggested “Second Amendment” as an additional category that would boost our audience size to 119,000 people, presumably because its system had correlated gun enthusiasts with anti-Semites.

One: Facebook is a morally corrupt company. They’re just bad people.

Two: as David Simon noted, “I kind of love that ‘Jew hater’ aligns cleanly with the Second Amendment demographic. The algorithms don’t lie, do they.”

14 Sep 21:52

Google Pixel XL 2 passes through the FCC

by Evan Selleck

The Google Pixel 2 landed at the FCC back in August of this year and confirmed a variety of different features about itself. For those hoping the same thing would happen with the Pixel XL 2, that doesn’t appear to be the case.

The Google Pixel XL 2 has officially made the rounds through the FCC’s testing labyrinth, and while there are some features confirmed, there aren’t any major discoveries. The device’s FCC ID is ZNFG011C and, more importantly, the device’s model number is G011C.

That’s the giveaway that this is indeed the newest Pixel XL 2 smartphone; the original Pixel XL’s model number was G0011A.

We do know through the filing that the handset includes support for AT&T, Verizon, T-Mobile, and Sprint, which isn’t too surprising. Unfortunately, that’s all the information that was gleaned from the FCC filing.

Earlier today, Google confirmed that it will officially announce the Pixel 2 and Pixel XL 2 on October 4, so we don’t have long to wait. Are you already planning on upgrading to a new Pixel this year?