I was having trouble understanding reduce() and recursion in JavaScript, so I wrote this article to explain it to myself (hey, look, recursion!). I hope you find my examples both helpful and delicious.
Given an array with nested arrays:
I was having trouble understanding reduce() and recursion in JavaScript, so I wrote this article to explain it to myself (hey, look, recursion!). I hope you find my examples both helpful and delicious.
Given an array with nested arrays:
|
mkalus
shared this story
from |
Loving this rain. No bicycles at all clogging up the roads
JeremyClarkson
on Wednesday, May 17th, 2017 5:54pmMost of the examples of working with most of the AWS services show basic username & password authentication. That’s all well-and-good, but many shops use the AWS Security Token Service to provide temporary credentials and session tokens to limit exposure and provide more uniform multi-factor authentication. At my workplace, Frank Mitchell created a nice electron app to make it super easy to create and re-up these credentials. The downside of this is that all AWS service usage for work requires using these credentials and I was having the darndest time trying to get Athena’s JDBC driver working with it (but I wasn’t spending alot of time on it as I tend to mirror research data to a local, beefy Apache Drill server).
I finally noticed the
com.amazonaws.athena.jdbc.shaded.com.amazonaws.auth.EnvironmentVariableCredentialsProvider
class and decided to give the following a go (you will need to point fil to wherever you have the Athena jar file):
library(RJDBC)
library(tidyverse)
fil <- "~/Drivers/AthenaJDBC41-1.0.1.jar"
drv <- JDBC(driverClass="com.amazonaws.athena.jdbc.AthenaDriver", fil, identifier.quote="'")
aws <- ini::read.ini("~/.aws/credentials")
Sys.setenv(AWS_ACCESS_KEY_ID = aws[Sys.getenv("AWS_PROFILE")][[1]]$aws_access_key_id)
Sys.setenv(AWS_SECRET_ACCESS_KEY = aws[Sys.getenv("AWS_PROFILE")][[1]]$aws_secret_access_key)
Sys.setenv(AWS_SESSION_TOKEN = aws[Sys.getenv("AWS_PROFILE")][[1]]$aws_session_token)
provider <- "com.amazonaws.athena.jdbc.shaded.com.amazonaws.auth.EnvironmentVariableCredentialsProvider"
con <- dbConnect(drv, 'jdbc:awsathena://athena.us-east-1.amazonaws.com:443/',
s3_staging_dir=Sys.getenv("AWS_S3_STAGING_DIR"),
schema_name="DEFAULT_DB_SCHEMA_NAME",
aws_credentials_provider_class=provider)
dbListTables(con)
dbListFields(con, "SOME_TABLE_IN_THE_DEFAULT_DB")
dbGetQuery(con, "SELECT * FROM DEFAULT_DB_SCHEMA_NAME.SOME_TABLE_IN_THE_DEFAULT_DB limit 10;")
YMMV on Windows (comments about what does and does not work on Windows are welcome).
The provider line was the key element I was missing prior to last night.
The Awsaml utility monitors/maintains entries under it’s purview credentials file and keeps consistent profile ids, so I keep that AWS_PROFILE setting in my ~/.Renviron.
I also keep the default S3 Athena data staging bucket in an environment variable as well.
If you provide a default schema_name then you can list tables and fields but queries need fully qualified database (Amazon calls them “schemas”) dot table name.
Initial attempts to have this setup “just work” with dplyr 0.6.0 (the forthcoming EPIC release) were unsuccessful but I’ll poke at all this when I get time and likely write a small Athena package to help smooth over rougher areas.
Y’all likely figured all this out way before I did, but in the event someone else is looking for the information, it should be google-able now.
Today, Mozilla sent a letter to Congress in support of the Protecting Our Ability to Counter Hacking Act (PATCH Act) that was just introduced by Sen. Cory Gardner, Sen. Ron Johnson, Sen. Brian Schatz, Rep. Blake Farenthold, and Rep. Ted Lieu.
We support the PATCH Act because it aims to codify and make the existing Vulnerabilities Equities Process more transparent. The Vulnerabilities Equities Process (VEP) is the U.S. government’s process for reviewing and coordinating the disclosure of new vulnerabilities it learns about.
The VEP remains shrouded in secrecy, and is in need of process reforms to ensure transparency, accountability, and oversight. Last year, I wrote about five important reforms to the VEP we believe are necessary to make the internet more secure. The PATCH Act includes many of the key reforms, including codification in law to increase transparency and accountability.
For background, a vulnerability is a flaw – in design or implementation – that can be used to exploit or penetrate a product or system. We saw an example this weekend as a ransomware attack took unpatched systems by surprise – and you’d be surprised at how common they are if we don’t all work together to fix them. These vulnerabilities can put users and businesses at significant risk from bad actors. At the same time, exploiting these same vulnerabilities can also be useful for law enforcement and intelligence operations. It’s important to consider those equities when the government decides what to do.
If the government has exploits that have been compromised, they must disclose them to tech companies before those vulnerabilities can be used widely and put users at risk. The lack of transparency around the government’s decision-making processes here means that we should improve and codify the Vulnerabilities Equities Process in law. Read this Mozilla Policy blog post from Heather West for more details.
The internet is a shared resource and securing it is our shared responsibility. This means technology companies, governments, and even users have to work together to protect and improve the security of the internet.
We look forward to working with the U.S. government (and governments around the world) to improve disclosure of security vulnerabilities and better secure the internet to protect us all.
The post Improving Internet Security through Vulnerability Disclosure appeared first on The Mozilla Blog.
Bill Fitzgerald,
May 20, 2017
If there's a constant in our field, it's the claim by service providers that they aren't tracking students for the purpose of selling the data to advertisers. Sometimes this comes back to bit the vendors, as it did this week when Edmodo was hacked. Now they face some hard questions. "How aware are teachers in the Edmodo community that they are being tracked by ad brokers permitted on the site by Edmodo? How aware are students, teachers, and parents that ad brokers can collect data on students while using Edmodo?"
[Link] [Comment]
Lazaro Gamio for Axios used Chernoff Faces that look like emojis.
This visualization is a modified version of Chernoff Faces, a technique that maps multiple statistical values to the features of a face. Because it’s 2017, we expanded on the technique and made Chernoff Emojis. Each part of the emoji is controlled by the state’s ranking in a given metric, which range from the uninsured rate to the percent of adults who report getting enough sleep.
Fun.
The above is the desktop version, but I actually like the mobile version better, which shows face transitions between states.
Tags: Chernoff Faces, emoji
First: a story. Alice and Bob are sent to an earth-like planet and given the task of finding its highest point. Unfortunately, they are initially given only stone-age era technology to work with. The planet is foggy and visibility is only 20 feet or so. Alice and Bob adopt different approaches:
To an outside observer who didn’t know that rockets, radar, GPS, or airplanes were possible, it would look a lot like Alice was just screwing around, not accomplishing much of anything. “Alice, what the hell are you even doing?” Bob would say. “You’ve just got a pile of metal parts… but I got to the top of a very tall hill over there… in fact I’ve made 200 upwards steps in the past month.”
But then, quite rapidly, Alice’s progress would jump well past Bob. She’d hop on a plane and fly across the ocean directly to the foot of the tallest mountain, then keep hiking up and up and up…
Over long enough time scales, the “shortest path” to any goal usually involves doing things that have no obvious connection to that goal. It involves doing things whose progress cannot be measured in any simple way that would be obvious to someone without expertise. And over these longer timespans, the incrementalist approach of making local improvements according to obvious metrics is a colossal failure. (“You can’t get to the moon by piling up chairs”)
Anyway, none of this is too surprising, but now let’s complicate things a little. Suppose Alice and Bob are put in the same situation and given the same goal, but are told that “whoever gets to the highest point in the next month will be rewarded with additional people, supplies, etc”. And if we imagine iterating this experiment, always rewarding the person who makes the most measurable progress, Bob might amass an army of thousands of people, all wandering around climbing little nearby hills! Meanwhile, Alice gets almost no resources even though she could have have made exponential progress and surged past Bob 10000x. Perhaps Alice is even tempted to abandon her ideas about how things can be made much better long term.
The focus on incremental, measurable progress is often dangerous to innovation and bigger progress.
The software industry is swimming in incrementalism. Everywhere you look in software, there are things that can be incrementally improved, and people getting paid to make these improvements. That one library you use, it’s missing a feature. That bit of code, it could be rewritten to be faster. That app, it needs an extra widget or feature. That web standard could use a few additional extensions to it. Etc, etc, etc. There are people working on all these things, because obvious progress is rewarded. Billions of dollars are poured into the industry to capitalize on whatever little incremental improvements can capture some temporary market share. And this process plays out over and over again.
In academia, there’s a different sort of incrementalism. The pressure to produce “publishable” results in the short term (due to the tenure system and other factors) leads researchers to be quite conservative in various ways. They don’t work on anything too crazy that has a high chance of failure. They stay largely within the extremely narrow confines of what they already know about. They do modest extensions to existing research.
Real progress doesn’t look like progress at first. It looks like people screwing around. Playing. Trying different things. Building a rocket and a radar system instead of just walking up the nearest hill. Sometimes the best thing to do is to give smart people a very very long leash and plenty of resources, to be patient, and not worry about progress.
|
mkalus
shared this story
from |
A common problem facing Excel users is data wrangling—transforming raw data into a different format so that it can be used for further analysis. For many common data domains—such as date-time, addresses, phone numbers and URLs—sophisticated transformation functions and services exist but are locked up in code repositories such as Stack Overflow, .NET and GitHub, or services such as Bing Maps. For Excel users attempting to perform a specific data transformation task, these functions are difficult to find and use.
Transform Data By Example is an Excel add-in that makes it easy to quickly find relevant transformation functions for a specific data transformation task. All you need to do is provide a few examples of the desired output, and Transform Data By Example automatically returns a ranked list of relevant data transformation functions from the large repository of functions it has crawled and indexed. Simply click one of the returned functions to see the results of applying that function on the data.
In the example below, the user has a collection of addresses in the United States in various formats and needs to extract city, state and zip code information for aggregate analysis. The user only needs to provide a few output examples in the column next to the input and then click Get Transformations! Within a few seconds, Transform Data By Example finds relevant transformation functions from a large collection of functions it indexes, and then automatically uses these functions to compose and generate new code that can perform the exact transformation the user specified. All the heavy lifting happens under the cover and is transparent to users. There is no need to write code or leave the familiar Excel interface.


In addition to the large collection of data transformation functions that Transform Data By Example already indexes, users can add their own data transformation code to the collection through an easy extensibility interface below. Transform Data By Example makes the new transformation functionality instantly searchable.

Like a web search engine, Transform Data By Example continuously improves its quality by leveraging implicit user feedback. The more you use it, the better it gets. At Microsoft Research, we’re constantly developing and improving Transform Data By Example, so be sure to give it a try and let us know what you think at our UserVoice forum. We greatly value your direct feedback to help us get better at helping you wrangle that data!
—The Microsoft Research team
The post Transform Data By Example—a Microsoft Garage project for Excel appeared first on Office Blogs.
At its opening Google I/O 2017 keynote, Google provided some more information about Android O and the changes that it will bring. Among other things, Google says that Android O will be faster than any other version of Android in certain scenarios.
Continue reading →
This is the final week you can sign up for Psychology of Community, Strategic Community Management, or both.
Let’s talk briefly about training and courses.
I spent two days last week at a public speaking workshop.
It was incredible. I learned techniques (and a mental framework) used by some of the best speakers in the world.
This has improved every talk I ever do for the rest of my life.
A few months ago, I signed up for an online course in data analytics. We’re now able to do a deeper analysis of communities than almost anyone else in our field.
I can tell you what variables you can manipulate in your community to drive significant results. This delivers exponential value to us and our clients.
In the past few years, I’ve taken courses on building habits, social psychology, and, yes, building communities.
Every single course has improved the consultancy we deliver and helped us build a very successful business.
Philosophy on Training
My philosophy towards training is pretty simple; take as much of it as possible.
There are two reasons here:
I know people who haven’t taken a single educational course since college.
I truly don’t get this. My mindset, and perhaps your mindset too, is if this is the work I’ve chosen to spend this portion of my life doing, I’m going to make sure I’m as good at it as I can be.
I genuinely believe you should pester your boss at every opportunity for more training. They might say no, but you shouldn’t be making their decision for them.
Don’t Refuse Training For Yourself
You have plenty of convenient excuses to deny yourself training.
Just tell yourself you don’t have time. You’re too busy right now.
You probably know this already, but you will always be too busy.
Do you ever find yourself sitting at your desk waiting for something to do? Me neither.
Believe me, it wasn’t easy to take two entire days last week to do a public speaking workshop. But once I made that commitment, everything slotted into place. Nothing blew up in my absence.
Don’t reject yourself for training to keep yourself busy.
Make A Commitment To Yourself
Whether you take our courses or not, please make a commitment to becoming the best community manager you can be. Find training that works for you.
You’re going to be working with your organization’s best and most passionate customers. These people deserve you at your very best.
You’re going to be managing a platform that your organization has invested thousands, possibly hundreds of thousands, of dollars into. Your organization needs that investment to pay off.
You’re going to be in this field for a while, you will get more out of it if you’re highly trained within the field.
The (short) Pitch
I believe psychology is the core skill everyone working with a community should feel comfortable with.
If you’re in the trenches working with a range of people every day, it’s critical to understand how to engage them, respond to them, and keep them happy and motivated.
Almost every problem you need to overcome (attracting and engaging members, changing behavior, nurturing to contributors etc…) requires a deeper understanding of psychology.
Join us next week and learn it.
Psychology of Community – $675 USD
Strategic Community Management – $675 USD
COMBINED – Psychology of Community and Strategic Community Management – $1100 USD
Emoji aren’t going anywhere any time soon, so it makes sense that Android would continue to adopt new options.
Continue reading →
The post The Internet Big Five Is Now The World’s Big Five appeared first on John Battelle's Search Blog.
Back in December of 2011, I wrote a piece I called “The Internet Big Five,” in which I noted what seemed a significant trend: Apple, Microsoft, Google, Amazon, and Facebook were becoming the most important companies not only in the technology world, but in the world at large. At that point, Facebook had not yet gone public, but I thought it would be interesting to compare each of them by various metrics, including market cap (Facebook’s was private at the time, but widely reported). Here’s the original chart:

I called it “Draft 1” because I had a sense there was a franchise of sorts brewing. I had no idea. I started to chart out the various strengths and relative weaknesses of the Big Five, but work on NewCo shifted my focus for a spell.
Three years later, in 2014, I updated the chart. The growth in market cap was staggering:

Nearly a trillion dollars in net market cap growth in less than three years! My goodness!
But since 2014, the Big Five have rapidly accelerated their growth. Let’s look at the same chart, updated to today:

Ummm..HOLY SHIT! Almost two trillion dollars of market cap added in less than seven years. And the “Big Five” have become, with a few limited incursions by Berkshire Hathaway, the five largest public companies in the US. This has been noted by just about everyone lately, including The Atlantic, which just employed the very talented Alexis Madrigal to pay attention to them on a regular basis. In his maiden piece, Madrigal notes that the open, utopian world of the web just ten years ago (Web 2, remember that? I certainly do…) has lost, bigly, to a world of walled-garden market cap monsters.
I agree and disagree. Peter Thiel is fond of saying that the best companies are monopolists by nature, and his predictions seem to be coming true. But monopolies grow old, fray, and usually fail to benefit society over time. There’s a crisis of social responsibility and leadership looming for the Big Five — they’ve got all the power, now it’s time for them to face their responsibility. I’ll be writing much more about that in coming weeks and months. As I’ve said elsewhere, in a world where our politics has devolved to bomb throwing and sideshows, we must expect our businesses — in particular our most valuable ones — to lead.
The post The Internet Big Five Is Now The World’s Big Five appeared first on John Battelle's Search Blog.
Last weekend was Oscar’s 11th birthday party. For those of you in the know, that is the age that kids receive their letters of invitation from Hogwarts and, therefore, we were having a Harry Potter themed birthday party. I admit I probably went over the deep end on this. The kids and I made magic wands out of 3/4in maple dowels. Bonnie made an awesome Harry Potter cake. Bonnie and I designed three ‘tests’ for the ‘Initiates of the Maple Wands’. 1. Potions class (we made bath bombs… they only had their magic wands for stirring… super messy – super fun) 2. History of Magic (bonnie ran a lively version of mostly Harry Potter themed Jeopardy) 3. Muggle studies (We made a security system on the arduino platform)
(links to my introductory arduino posts and here)
I started working with Arduino hardware at the beginning of 2016, thinking of it as a potential platform for real world projects for kids. I have ZERO electronics background, so it really took me a year of playing with it on and off to get my mind around how you could use it with kids and still make it fun. Most of the introductory lessons I saw online involved “attach this wire to a light, make the light blink” kind of activities that are designed to provide a SET OF SKILLS in small steps along a linear pathway. I hate this approach to learning. I wanted something that got to a useable project very, very quickly and then allowed for discovery after the project was built.
A word on what Arduino is
It’s a tiny computer platform that you can attach to little sensors. You can use it to build a project that senses when a bird comes to your feeder and counts them, or takes their picture, or opens the feeder door. There are other platforms out there (rasberri pi, microbit) but this one seems to have the balance of flexibility and power that I was hoping for. If you put ‘arduino kit’ into the googles, you’ll see the price range and possibilities. Here’s a collection of cool projects that people have done.
Choice of project
I very much wanted to kids to have some level of success on their project in the first 15 minutes of the class – so i couldn’t have something that was too complicated. I expected that the kids wouldn’t have any prior experience (with the exception of my kid). I was also going to send the project home with each of the kids in the hopes that they would experiment with it, so I had to keep the price down. I decided on making an alarm system that would buzz when someone when someone got close to it. I cobbled the project together from various online examples. Project cost was a little less than $15 each at the end of the day, when you include batteries etc… It took a fair amount of prep. Just sayin.
Classroom design
unbox
I wanted us to get to work very quickly, so I didn’t even explain what the project was when we started. I was pretty sure that they wouldn’t really understand/be paying attention, so I jumped into talking about stuff right away. All their parts were hidden in a little cardboard box on the table when they came in. I got them to open it and lay all the parts out in front of them. I was hoping for the surprise ‘unboxing’ part of the process to give them a sense of adventure/excitement. Mostly that worked.
identification
I got them to hold up the battery first. Everyone got that one right :). From there i got them to hold up the breadboard, the Nano, the wires, their friend… just a quick roundrobin so that each table would probably have someone that knew what each part was named. Important to note that though i did preload the code on each of the Nanos, i left the code printed out on the table and made no reference to it. One kid asked what it was and I said “meh, it’s just the code, don’t worry about it for now”. This only took a couple of minutes and we moved right along to wiring things up.
Wiring
The arduino system can all be connected together without a soldering iron using jumper wires. I guided them through ‘what connects to what’ in a basic, step by step manner. Put the proximity sensor in the breadboard. (student: “what’s a promix… what’s a whatever you said” me: “someone hold up their proximity sensor” it wasn’t long until they just started asking each other). From there i got them to plug in the wires one at a time, establishing that each table confirmed that each set was setup (minus the power, I made them all hide their batteries back in their little boxes). This took about 10-15 minutes.
Attaching the battery
I made a big production out of this. Attaching the battery wrong gives you a good chance of frying the board, so we talked a fair amount about safety, about caring about their work, about being good to the machine. I told them that I had fried one of them that morning (which i had doing last minute prep). So they attached their battery… and about half of them worked. Working being the really annoying buzzer started to drone when someone ran their hand in front of their sensor. Much troubleshooting of wiring ensued. It was at this point that we started to talk about ‘what the project could be used for’. “I could scare my cat!” “it could protect my wand!” “i could use it to keep my sister out of my room!”
The moment
You’ll note that no one has really ‘learned’ anything at this point. It’s mostly been call and repeat, simple domain stuff. There was a trap in the middle of this lesson that was really ‘the beginning’ in a sense. I had changed the code on one of the projects to make the buzzer sound like a police siren. When that project started working the room went silent for a second… and then blew up. “why doesn’t mine do that? How did you do that? What’s that?” When i got them settled (and got the police siren unplugged) i explained that the code on his project was different than the code on theirs. “can i change mine? Can i do it?”
The code
So I got them to look through the code (on the paper on their tables) and figure out where they needed to change the code to make the sound change. We changed the frequency, we changed the delay, we changed… we made a lot of noise :). Then we started uploading new code to each of their projects (I was only working with one computer). I also started to refer to the code when people were asking me “i unplugged a wire by mistake, where does it go?” Then our hour+ was up and it was time for Pizza. I struggled getting them out of the room to go eat pizza… which I’m calling a victory. For the rest of the party, kids would walk out of the movie, the pizza, whatever, and ask if i could upload updated code to their project. We got an idea of what the code was… a teaser in a sense.
The point
This was an interesting challenge. I don’t particularly like a ‘structured activity’ but with something as complicated as an arduino project, the kids have a fair number of things they need to know just to be able to follow basic instructions. I really wanted to start the project in the middle and work my way back to most of the basic skills, so that we hit them in context. From that first class we should be able to modify the existing project, add pieces to it, or wander off into new projects as we go along. I even included a light snippet in the code which could easily lead to the damn blink project if people really want to do it. Some of them may learn to code, some may do more of the artistic work or the planning work… i don’t really care.
I want them to understand what code is (not necessarily ‘how to code’)
I want them to get a sense of how the digital part of the world they are growing up in works
I want them to dream up projects, learn to research them
I really want them to find the parts of this they like to do, and find friends who are interested in the other parts – the ultimate 21st century literacy
Also safety. That too. And confidence confronting uncertainty
Aftermath
I’ve heard back from what two of the kids did with the project they took home. One kid apparently terrified his cat – which i guess is a successful adaptation of the project, though maybe not the one I would have chosen :). The other kid I heard back from took the little box, cut holes in it and turned the project into a robot that protects the side dresser of his bed. Four of the five kids want to come back, and, with the other kids who’ve expressed interest, we’re going to be looking at 7 or 8 kids in our little arduino club to start. I’ll keep testing out the design and see what happens. How does this look in a class of 25 or 30? Don’t know yet. One thing at a time 
Notes:
Project parts
Arduino Nano
Jumper wires
9 v. battery
9 v. battery connector
Proximity sensor
Mini breadboard
Buzzer
Small box
Things I learned
You need to have two or three sets of spares of everything. It’s so easy for this stuff to stop working. Having a spare working project on the side so you could check parts would be super useful for troubleshooting “is this broken? Nope, it works over here! Ok then it must be something else”
The cheaper Nano version I used requires a special CH34X USB-SERIAL DRIVER. The standard one is called FTDI. It’s the way your computer talks to the Nano over USB.
Be very careful when plugging in the battery power. I fried one of the nanos getting the ground and the power lines mixed up.
The code I used.
On May 3rd I gave my Dean’s lecture titled “The Past and Future of Data Analysis”, which was a lot of fun and gave me the opportunity to play lots of different kinds of music on stage! I talked a little bit about it on the latest episode of Not So Standard Deviations. Now the School has posted the full video of the lecture and you can watch it here:

Google detailed many of the features that users can expect from Android O today at its 2017 I/O developer conference before announcing that the first official beta of Android O is now available.
Users can access the new beta at Android.com/beta to enroll in the Android Beta Program or grab the system images here and flash their devices. Devices that enrol in the program receive an over-the-air update to the latest beta version of Android O — though it should be noted that since these are pre-release versions, they may contain errors and bugs that could harm your device.
Android O brings with it more granular notification control, a new autofill feature, an overhauled and minimalist new settings app and picture-in-picture video, among other things.
At the developer conference, the company focused on two core themes: ‘Fluid Experiences’ and ‘Vitals’ — referring to keeping the vital system behaviour in a healthy state.
Among the new features announced: TensorFlow Lite, a pared-down version of Google’s machine learning technology and Google Play Protect, which shows which Google Play apps in your phone have been recently scanned when in the Google Play Store.
The post The first beta of Android O is now available appeared first on MobileSyrup.

At Google’s I/0 2017 presentation today, the head of all things VR at Google revealed that Samsung’s flagship smartphones, the Galaxy S8 and S8+, will soon be Daydream compatible following a software update later this year.
Google also says that LG’s next smartphone — which is presumably the forthcoming LG V30 — will also be Daydream compatible.
The company first announced Daydream at last year’s developer conference, promising many partners would offer compatibility, though actual uptake has been slow. Other Daydream certified devices include the Axon 7 and Moto Z.
Samsung also sells its own virtual reality headset, the Gear VR, though it operates on a proprietary OS and not Google’s Daydream.
The post Google says Samsung’s Galaxy S8 and S8+ and LG’s next flagship smartphone will soon be Daydream compatible appeared first on MobileSyrup.

At I/O 2017 the Google announced plans to release standalone Daydream virtual reality headsets that don’t require a mobile phone or PC to operate. The headsets will be made with various manufacturing partners, beginning with HTC and Lenovo.
The company also confirmed earlier rumours indicating that these headsets will be powered by Qualcomm’s virtual reality-focused Snapdragon 835 processor.
Google says that overarching goal of its new standalone Daydream initiative is to enable manufacturers to build what the company calls a “new category of virtual reality.” Google’s initial Daydream initiative involved a unified virtual reality platform of low-cost headsets that are powered by certified smartphones. These new headsets do not need to be connected to a smartphone or a PC and are self-contained, according to Google.
“Our companies share the same vision: to make it possible for everyone to enjoy rich and immersive VR experiences on a smartphone device or a dedicated VR head-mounted display while being fully mobile, rather than being restricted by cables or limited to predefined rooms setup for outside-in tracking,” said Keith Kressin, senior vice president of product management at Qualcomm, in a statement sent to MobileSyrup.
New #Daydream standalone headsets from partners like @htcvive won't require a phone or PC. #io17 pic.twitter.com/7TpYPJGEdU
— Google (@Google) May 17, 2017
We only have a few sketches of HTC’s and Lenovo’s standalone Daydream headset, but so far their designs look very similar to other virtual reality headsets currently on the market. At the outset, however, it looks like HTC’s headset uses an overhead strap, while Lenovo’s rests against the wearer’s forehead in a way that’s comparable to the PlayStation VR.
HTC’s high-end Vive VR headset is widely regarded as the top device on the market largely because of its impressive full 360-degree room-scale capabilities. Google’s new WorldSense motion tracking technology allows the wearer to “move naturally in VR” without additional cameras or cables. Sensors built into the headset allow the wearer to lean, dodge and duck.
While Google hasn’t confirmed anything yet, it looks like both headsets will be compatible with Google’s existing Daydream controller.
“These headsets have everything needed for VR, built right into the headset itself and are as easy to use as picking them up. They’ll feature WorldSense for positional tracking right out of the box without any external equipment. We’re thrilled that headsets will begin to hit shelves later this year,” said Clay Bavor vice president of virtual reality at Google, in a statement.
It’s currently unclear how much these new standalone Daydream headsets will cost or when they will be released in Canada.
The post HTC and Lenovo are working on standalone Google Daydream VR headsets appeared first on MobileSyrup.

At the I/O developer conference, Google announced Android Go on Android O, which targets entry-level devices with the promise of saving data and running smoothly with less RAM.
First off, Android Go will help less powerful devices and those with limited data connectivity. The pared-down version of Android O focuses on three things when it comes to optimizing the latest release of Android: rebuilt Google apps, a redesigned Play Store and a focus on apps created by developers.
This will help make Android O devices that run smoothly with less RAM. Google announced they created an API that allows people who use prepaid data to see how much data is left and even add more data through their devices.
Further, Data Saver will come on automatically in the Chrome app and simplify web pages to save data used on phones, which Google predicts will save more than 750TB of data for users per day.
Android Go will also come with YouTube Go. YouTube Go shows how much data the video will consume, a new preview feature to see the video before actually watching.
YouTube Go will also allow users to save videos while the device is connected to Wi-Fi, and enables offline sharing to share videos without the use of data.
Gboard also plays a part in Android Go. The Gboard on Android Go devices will connect users talk with one another in different languages. One feature allows users to type what they would like to say and have it automatically translate to a different language.
As an additional benefit for Android Go users, developers will use the tool ‘Building for Billions’ to help build apps that work for devices with less RAM, which Android Go users will primarily see and pick from to get apps that are more optimized for their devices.
The Android Go configuration will be available on devices with 512MB to 1GB of RAM at first but eventually be available to all Android smartphones. Devices with Android Go out of the box will ship in 2018.
The post Android Go to help entry level devices run smoothly and save data appeared first on MobileSyrup.

In a surprising twist aimed at developers, Google is adding a new programming language to Android.
At Google’s I/O developer conference, Stephanie Saad Cuthbertson — director of product management for Android — announced that Kotlin will be an “officially supported language in Android.”
Kotlin is a programming language created by Czech developers JetBrains. It’s a programming language meant to be a successor to the more ubiquitous Java language, but one that works within the Java framework.
Kotlin will hopefully make it easier for developers to create apps for Android, while also speeding up the development cycle.
In many ways, Kotlin seems like Google’s response to Apple’s Swift programming language. However, unlike Swift — which is an Apple product — Kotlin will continue to be developed by JetBrains.
The post Android adds its first new programming language in 8 years: Kotlin appeared first on MobileSyrup.
And I now believe, so is Nikon*...
Coming to what, you ask?
If Canon Rumors is to believed—the current rumor has a low rating for reliability, but it's something I've also heard—Canon is targeting a full frame EF mount mirrorless camera for 2018, probably for Photokina. …
Today Sony announced two more FE lenses for their A7/A9 mirrorless cameras: the basically pre-announced 16-35mm f/2.8 GM, and the unexpected 12-24mm f/4. This brings to 23 the total number of FE lenses that are available directly from Sony (Zeiss and others also make their own FE lenses).
…I was hesitant, even up to this morning, to publish the JSON Feed spec.
If you read Dave Winer’s Rules for standards-makers, you’ll see that we did a decent job with some of the rules — the spec is written in plain English, for example — but a strict application of the rules would have meant not publishing at all, since “Fewer formats is better.”
I agree completely — but I also believe that developers (particularly Mac and iOS developers, the group I know best) are so loath to work with XML that they won’t even consider building software that needs an XML parser. Which says to me that JSON Feed is needed for the survival of syndication.
I could be wrong, of course. I admit.
See my RSXML repository for Objective-C code that reads RSS, Atom, and OPML. I’ve done the work for you of supporting those formats. Go write a feed reader! Seriously. Do it.
I planned to have a JSON Feed parser for Swift done for today, but other things got in the way. It’s coming soon. But you probably don’t actually need any sample code, since JSON is so easy to handle.
Feedback has been interesting so far. Some questions on the GitHub repo need answering.
Some people have said this should have happened ten years ago, and other people have said that they hate how developers jump on the latest fad (JSON).
And some people really like the icon:
![]()
One of the more serious criticisms was this: why not just support the hAtom microformat instead? Why do another side-file?
My thinking:
My experience as a feed reader author tells me that people screw up XML, badly, all the time — and they do even less well with HTML. So embedding info in HTML is just plain too difficult. In practice it would be even buggier than XML-based feeds.
And there are other advantages to decoupling: a side-file can have 100 entries where there are only 10 on an HTML page, for instance. A side-file can have extra information that you wouldn’t put on an HTML page. And yet, despite the extra information, a side-file can be much smaller than an HTML page, and it can often be easier to cache (since it’s not different based on a logged-in user, for instance).
Microformats sounds elegant, but I don’t prize elegance as much as I value things that work well.

At I/O 2017, Google made a flurry of announcements, some more significant to the company’s future than others.
Regardless, it’s clear the company views virtual reality, augmented reality and voice — specifically Google Assistant — as its future.
Below are six of the biggest announcement from this year’s I/O keynote presentation in no particular order:
For Canadians, the most exciting announcement at Google I/O 2017 is the fact that the tech giant’s voice-activated assistant, Google Home, is set to come to Canada later this summer.
We still don’t have a specific release date or Canadian pricing, but with Amazon still not revealing plans to bring any of its Echo devices to Canada, Home’s release north of the U.S. border marks the first IoT standalone voice-activated assistant to be released in the Canadian market.
While we don’t know official pricing yet, Google Home costs $129 USD, which amounts to $175 CAD.
While Daydream’s initial focus was on headsets powered by Daydream certified smartphones, Google seems to be pivoting the platform’s direction towards standalone headsets.
At I/O 2017 Google announced headsets developed in partnership with HTC and Lenovo that are set to be completely standalone, which means they aren’t powered by an external PC or smartphone.
It’s still unclear when these headsets will drop or how much they’ll cost, but given the lack of Daydream certified smartphones released over the last year, it makes sense for the tech giant to be changing the focus of its VR initiatives. It is, however, worth noting that Samsung’s Galaxy S8 and S8+, as well as LG’s next flagship smartphone, will soon be compatible with Daydream, according to Google.
Taking a page out of Samsung’s Bixby playbook, Google announced its own image recognition platform today dubbed Google Lens. Google Lens is a set of vision-based computing capabilities that allow a smartphone to understand what is present in a photo, video or live feed.
During I/O 2017’s opening keynote, a phone was directed at a flower and Google Lens instantly identified it. Pointing your camera at a restaurant, animal or any number of other things, also results in Google Lens identifying the object in question. Google says that this new AI system is headed to Google Photos and Google Assistant first.
While we haven’t gone hands-on with Google Lens yet, its introduction marks a shift continued in the tech giant’s focus towards becoming an AI company.
In some ways, what was the most notable about I/O 2017 were the things Google didn’t mention during its day one keynote. Case in point: Android Wear.
Besides a brief mention by the company’s Dave Burke, who talked about the smartwatch operating system in relation to Android as a whole, Google spent less than five minutes talking about the struggling platform.
It’s unlikely Google plans to abandon wearables altogether. However, with major hardware OEMs like Lenovo, Samsung and Asus abandoning the platform, Android Wear is clearly at an inflection point. It seems odd then that a time when the company needs to demonstrate a clear vision for the future of Android Wear, Google did no such thing. What could it mean? We’ll have to wait and see, but things aren’t looking good for Wear.
While it’s a moonshot, Google’s new Visual Positioning Service — VPS for short — is a big deal. The platform, scheduled to become available to everyday users later this year, promises to be the GPS of large indoor spaces.
Built on the company’s Tango platform, VPS guides users through labyrinth indoor spaces using an augmented reality overlay. In other words, it’s the perfect solution for navigating malls and department stores.
As is usually the case for the company, Google didn’t detail how it plans to monetize the VPS, but it’s easy to imagine how we could see the company plastering augmented reality ads throughout indoor spaces.
Google spent relatively little time talking about Assistant coming to the iPhone, but, in some ways, I think that was the most significant announcement to come out of today’s keynote.
Due to the restrictions Apple places on third-party developers, Assistant is sure to have major limitations on iOS. It won’t be as robust as Siri, but with how easily it surpasses Apple’s personal helper in certain scenarios, Assistant is likely to leave Apple users dreaming of greener pastures. Not only is that not a good thing for Apple, but it neatly fits within Google’s stated goal of organizing the world’s data. More data from everyone, iOS users included, will help Google make its AI even better.
The post These are the 6 biggest takeaways from Google I/O 2017 appeared first on MobileSyrup.

In addition to the fact that there are over two billion monthly active Android devices in the world right now, Google has even more of a reason to brag.
According to Dave Burke, vice president of Android engineering at Google, over 82 billion Android apps have been installed from the Google Play Store to date.
“[That’s] 11 for every person on the planet,” said Burke, at Google’s 2017 I/O developer conference.
Google’s 82 billion figure might be impressive, but in 2016, Apple reported that over 140 billion apps have been downloaded from the App Store.
Still, Google’s app download number — as well as their device count — shows that Android is definitely no longer a fledgling product.
The post Android users have installed over 82 billion apps appeared first on MobileSyrup.