Thursday, May 26, 2016

Google Cardboard VR

There's a lot going on in the world of Virtual Reality and Google want's to be one of the players. This fall they'll be releasing DayDream, a VR developer platform for Android and iOS. 


Today, their VR product is Cardboard, a VR 'headset' that you can use with your smartphone and an app for a cheap VR experience. Cardboard is what it says - a cardboard box that you fold into a viewer that you insert your phone into.

This week they announced support for larger phones like the iPhone 6 with Cardboard V2. They also announced a new app and an SDK for iOS devices.

The app is available on the iTunes store and Google Cardboard is available at https://vr.google.com/cardboard/get-cardboard

Have you tried it out yet?

Tuesday, May 24, 2016

Painting with light: Google Tilt Brush

There is some cools stuff going on in virtual reality. And one of the potential applications is art/design. 

Sculptors have used physical media for thousands of years to create 3D objects. Now Google has Tilt Brush -- it can provide artists with a 3D canvas for painting with light.

Really, the video says it all: https://youtu.be/TckqNdrdbgk

For more information see: https://www.tiltbrush.com




Friday, May 20, 2016

Lessons from Dev/Ops

I've really been enjoying the Dev/Ops role I started around the first of the year. I'm on a great team, we have interesting projects, I'm learning a lot and enjoying riding the edge of chaos.


I thought I'd share my top dozen or so early lessons, in no particular order.

1. You don't have to know everything, but you have to know how to find it. Of course you pick up techniques and patterns that you can apply to other problems, but just knowing where to find answers is probably better than remembering them all.

2. Document what you've learned. Other people might be interested & you might have to do something similar in the future. Knowledge grows in value as you share it.

3. When in doubt, try it out - and then use the error messages and logs to figure out what you did wrong. Use stubs to prove concepts before devoting a lot of time debugging complex stuff.

4. Take backups before you commit something you can't recover from (or even before you commit to something you think you can recover from.)

5. StackOverflow is your friend.

6. Making something good enough is much faster than making something perfect. Making something better is easier than making something perfect.

7. Besides, making something perfect is a waste of time, because it's probably going to be obsolete before too long.

8. Ask for help when you need it, but spend the time learning what you don't know first. You'll have more credibility and learn more if you try stuff that doesn't work before you ask questions. Also, don't spend more than a couple of hours running down rabbit holes...

9. Try stuff out in a safe environment - do it on your PC before you do it on a server. Try it in a sandbox before you try it on the development server. Test everything.

10. Automate the tedious stuff - make tools to do stuff you have to do more than once. Document the tools. 

11. When something "should" work, reality always wins. It really shouldn't work, or it would be working already... Nothing is magic. If something broke once, it will break again unless you really fix it. Be honest with yourself about this stuff.

12. Get comfortable with github. 

13. Delete something really important early in your tenure, just to get it out of the way...

Other obvious ones I missed?

Wednesday, May 18, 2016

Control your water heater from your gas grill...

One interesting thing about internet of things things is that things can talk to other things.

I just saw an announcement from Wemo and Nest that talks about how you can use your Nest thermostat to control your lights. For example, when Nest detects that no one's home it can signal Wemo to turn off (or on) a light. Conversely, if you're in the Wemo app you can adjust  your thermostat. 


While this is interesting and may be somewhat useful, it brings to mind one of the challenges with the Internet of Things: someone has got to connect these things. And for the time being that someone is you. 

In order to connect these devices to make them work together you need to use apps - one (or more) per device. That's just awful, but perhaps not as bad as having to use a Cisco or AT&T all-in-one-ring-to-rule-them-all type app...

What do you think? Is the marginal usefulness of these connected things worth the hassle of learning, using, maintaining and securing multiple apps?

Monday, May 16, 2016

Not losing your Apple Pencil

Finally, I'm able to use a stylus with an iPad - it's the Apple Pencil and it works great. I had tried a number of active and passive stylii on previous iPads, but kept going back to paper - until now: I've almost weaned myself completely from pen and paper. It really works well (really well!)

There are some problems with the Apple Pencil. It's expensive ($100), it only works with an iPad Pro (which are also expensive), it has a power adapter that is prone to leave your Apple Pencil if you leave it attached - apparently Apple didn't consider this possibility as they don't provide replacements (TechMatte sells a M-USB to F-Lightning cable for $10, though.) Finally, Apple doesn't provide even a clip to secure your Pencil to anything, and it rolls quite well - perhaps off your table and into an air handling vent...


But, there's an ingenious fix for this last one. It's a cover that your Apple Pencil slips into that has a magnet. This magnet affixes the pencil quite firmly to your cover or directly to the iPad so that you can carry it around. 

It works great, comes in several colors and costs about $17, available at https://www.moxiware.com/products/apple-pencil-magnet

I could probably make my own with a magnet and some heat-shrink tubing, but I don't think I could make one anywhere near as neat looking.


Friday, May 13, 2016

Amazon AWS IoT Button announced and sold out...

About a year ago, I wrote about Amazon Dash - it's the dedicated "button" that orders products when you press it. (http://mark-amos.blogspot.com/2015/07/interesting-device-probably-overkill.html)

It's really kind of cool for things like laundry detergent, or other consumables that you might otherwise forget to put on your shopping list.

They've now released a programmable version that you can hook up to devices in your Amazon account. I.e. instead of ordering a product when you press it, you can configure it to do anything that you can do from AWS.

For example, you could connect it to a garage door opener or home security system. You could start/stop or launch computing resources on AWS. You could start and stop apps or otherwise initiate action using Lambda or SES or other AWS services.

They're selling them for $19.95, but apparently they've gone like hotcakes and no word when there will be more. They're the hottest thing since the Raspberry Pi!

Go to https://www.amazon.com/dp/B01C7WE5WM for more information.

Monday, February 29, 2016

New Pi in town

They just keep rolling them out. 

Today Raspberry Pi announced a new model: Pi 3 Model B. It's a 1.2 GHz, 64-bit quad-core that yields a 50% performance increase over Pi 2. They've stuck with their $35 price point even though the new version has built-in WiFi and Bluetooth 4.1.

Another great device for Internet of Things applications that need the added power!

They're available from the usual sources (element14, RS, etc.)

Tuesday, February 16, 2016

Open source tools

One of the things I like about open source applications is that the successful ones all talk to each other. And, the ones that talk together tend to be successful...

This weekend I brought up a new Amazon server on my "free" account. I still haven't made any costly inadvertent purchases, even with all my experimenting. My estimated bill for February is $0.01 (for SES messaging.)

Many web servers use Ruby on Rails, so I've been learning a lot about that environment. One way to make Rails servers more convenient and reliable is to use Passenger - it's a web application server that works with Apache, the server that most of the Web uses. 

It's fast, it has good logging and reduces the attack surface to help improve security. It works well with Apache virtual hosts - allowing us to easily host multiple websites on a single machine. It can detect failures, re-launch sites that may go down and has a bunch of automation features that make operations of complex web servers a bit easier.

So, this weekend I installed Passenger, Rails, etc. and brought up a Rails server with a demo app.

I use a github repository to store my Rails code and thought it would be interesting to try some of the integrations.

I also installed Jenkins -- a continuous integration tool. I connected it up with github so that whenever I publish code to github, Jenkins detects it the change, goes and gets the code and runs a test build. If the build is successful, Jenkins posts that status back to the github repository and logs the success in its database.

Next I'll integrate some testing tools for additional automated testing and then automatically update the Rails app from the repository if the testing is successful. This kind of thing supports continuous integration - the rapid creation, testing and integration of new code from a common repository, several times a day instead of the big-bang approach to enhancements.

If you're interested in learning more about Linux and web apps and services in general -- and AWS in particular, it's easy and free to sign up at aws.amazon.com.


Sunday, February 7, 2016

Amazon S3 - it just works.

Yesterday I spent some time exploring Amazon S3 ("Simple Storage Service".) I'm surprised how many of my IT friends don't know much about Amazon AWS servicees, so I thought I'd write a little about the ones I've played with.

S3 is an object storage service - basically drop-box-for-servers - that hooks up to all their other services. It'll store all kinds of objects: files, images and blobs of all kind as long as they're 5GB or less.

I logged into the AWS console with a demo account I use for this kind of thing. I created an S3 bucket, got the security issues worked out using Amazon's CLI for Mac, and hooked it up to a demo EC2 Amazon Linux server using s3fs - a file system that allows you to mount S3 buckets on a server.

Then I brought up an ftp service that stores documents in the s3fs mounted volume. 

I can also access S3 via the Amazon AWS console, windows desktops and servers and Mac desktops via a variety of SDK's including Java, .NET, Python, PHP, Node.js and Ruby as well as mobile devices (and, of course, any Amazon EC2 server.) You can trigger Lambda events with S3 activity and even connect it to databases (RDS, DynamoDB).

One of the things I love about AWS services is that they all connect to each other and they're all optional; you only use what you need, and you only pay for what you use.

Their "free tier for a year" program lets you try out many of their services for free - just sign up for an Amazon AWS account and try it out. There is a learning curve to get started,  but there is plenty of advice available via Google. Even if you inadvertently buy a for-pay service, they're all pretty cheap for the kinds of experiments you're likely to be doing. And you can check your "bill" any time to avoid any month-end surprises.

Try it: https://aws.amazon.com/s3/getting-started/ 

Friday, February 5, 2016

Heavy light processing

One of the problems with electronics is energy cost. While battery technology has come a long way in recent years, power consumption of electronics is still a major concern. 

Researchers at the University of Colorado have demonstrated a photonics based approach for communication between components at high speed with a low energy burden.

The bandwidth of photonic circuits is higher because different streams of data can be sent in parallel using different frequencies of light – much higher, in fact, than using electrons on wires. Another advantage of using light is that you can more tightly pack the I/O ports on devices, yielding 10 to 50 times the bandwidth density of current technology.

They've demonstrated a hybrid chip that uses state of the art electronics for processing and photonics for I/O using traditional materials and manufacturing techniques. This should make it possible for current manufacturers to quickly adopt and promote this technology. A couple of startups have been spawned that are working on the technology.

Here's a link with more information:

http://www.colorado.edu/news/releases/2015/12/23/breakthrough-light-based-microprocessor-chip-could-lead-more-powerful-computers

Thursday, February 4, 2016

Amazon's Lambda service - for geeks only.

Lambda: it's not just the 11th letter of the Greek alphabet – it's an Amazon AWS service that's really pretty cool.lambda.png

Most applications we write require an operating system, a computer, a file system, antivirus and security patches, a way to maintain and upgrade the operating system and software infrastructure as well as systems to maintain the hardware and network infrastructure.

Lambda is different. It's a compute service that just runs code. Amazon takes care of managing and operating everything else. Your Lambda code runs in response to events -- a new file showing up in Amazon's S3 storage facility, or a database event, API calls or even Web requests. Your code runs on a highly available infrastructure where things like capacity planning, logging, monitoring and scaling are taken care of for you.

Companies are using it on everything from real-time image management to ETL functions and triggering analytics as well as automating data collection from Internet of Things  apps.

Currently, you can write applications in Node.js, Java and Python and you're only charged when your code runs (in 100 millisecond increments) – like most AWS services, it's pretty cheap.

There's a quick video that describes Lambda at: https://youtu.be/eOBq__h4OJ4

I'll be putting together a demo of this service and will publish my notes here, if you're interested.

Thursday, January 14, 2016

Connected thermometer

Here's an interesting Internet of Things thing that debuted at CES last week.

It's called Thermo. It's an infrared thermometer that you hold up to your temple. It has an LCD readout, but it can also connect to your smartphone via WiFi or Bluetooth and can be used as a tracking thermometer.

It's not cheap (€100), but it is hygienic and comes with a "diary" app that allows you to track temperature against medication, time of day, etc. It should be available in March.

Wednesday, January 13, 2016

Screen recording in Chrome


​If you need to record a Chrome browser session, check out Screencastify. There are lots of ways to do screen capture videos, but if you're just recording a chrome session, this might be the ticket.


Screencastify is a Chrome extension that allows you to record a chrome session with audio, or record directly from your camera so you can talk to your audience as you do the demo. There are some highlighting tools as well. You can save the recording to your local drive or Google Drive. Pretty slick.

The free version only allows 10 minute recording and puts the company's watermark on the recording – there's an upgrade that removes the watermark and gives you some editing tools (for a one time fee of 20€ for access all your devices that use your Google account.) It records in .webm format, so if you need something else you'll need a video converter.

Check it out in the Chrome store.

Tuesday, January 12, 2016

Another cheap little computer - this one is pretty fast.

Arduino, Beagle Board, Raspberry Pi, C.H.I.P, and now Pine.

The race to the bottom of the price curve continues with Pine, a high-performance computer-on-a-board. It's about the size of a Raspberry Pi, has a 4 core, 64-bit, 1.2Ghz ARM processor, 1 GB RAM, HDMI (with a dual-core GPU), Ethernet, 2 USB ports and plenty of I/O. (You'll need to add a keyboard, mouse, USB WiFi, an HDMI monitor and micro-SD card for storage.)

And it will cost $19 ($15 for a less capable model.)

These boards will run Android and Linux and should be fast little controllers – great for Internet of Everything devices.

They're on Kickstarter now (about $1M pledged on a $31K goal with 10 days left.) They're planning to ship in the spring.

https://www.kickstarter.com/projects/pine64/pine-a64-first-15-64-bit-single-board-super-comput 

Monday, January 11, 2016

LG Flexible display at CES

Several companies have announced flexible displays, but LG has actually been using them in their G Flex phones for some time. 


They demoed a large one in the Auto section at CES last week that can be, literally, rolled up like a newspaper. It could be used on cylindrical or curved surfaces (like a dash board, architectural column or a wrist/arm band.)

It's less than a millimeter thick and It uses OLED technology– with individually lit pixels (as opposed to backlighting) resulting in blacker blacks and higher dynamic range displays along with more portability.

They displayed a PoC at CES last year, but it looks like they're about ready for production.

Here's a short video of the technology from The Verge at CES: https://www.youtube.com/watch?v=OE3GLUEPoYQ

Thursday, January 7, 2016

New Nikon wearable demoed at CES



At CES yesterday, Nikon announced an interesting device: the KeyMission 360. It's a consumer device that provides 360-degree capture at 4K resolution. It stitches various views together to produce the hi-res video. 

They call it a "wearable", but it looks like it might mount to the top of a helmet for 360 degree capture.

It works under water (to 100ft) and is resistant to shock, low temperatures and dust.

No word on price, but it should be available this spring.

Here's the press release (in Dutch…)

Wednesday, January 6, 2016

Nvidia announces processor for self-driving cars at CES

If you're a gamer or graphics designer, you know Nvidia makes high performance graphics cards. At CES this year they announced their new processor that has little to do with gaming, but everything to do with image processing – and self-driving cars.

They announced their new Nvidia Drive PX2 – it's a fluid-cooled 12 core cluster with four GPU's that runs at 8 teraflops (8 trillion floating point operations per session – equivalent to a bunch of MacBook Pros.)

Why so much horsepower? They use it to run a high-performance deep-learning network – it's a technology that's used for machines to learn; in this case, it's learning about how to recognize objects and situations from information passed to it from cameras, lidar, radar and other sensors. With all this performance, deep-learning tasks that might have taken weeks to learn can now be done in a day.

They're working on a 3D display of what the machine "sees" – basically to provide riders confidence that it can see and react to the real world much faster than they could.

Volvo will be implementing the Nvidia platform first. Mercedez-Benz, Daimler and Audi are testing this hardware in their own test vehicles as well.

For more info see the Nvidia Blog.

Here's a video from CES.

Tuesday, January 5, 2016

CES - this week

The Consumer Electronics Show is on this week in Las Vegas - and I'm not going. My job responsibilities have changed and my company is sending someone else.


However, I pay attention to coverage of the event and I'll be publishing info on interesting tech I see - so you don't have to wade through a big pile of stuff coming out of the event to get to the interesting parts!

Some of the tech scheduled to be shown:

  • HDR TV's and monitors (High Dynamic Range - brighter brights, darker blacks.)
  • Drones, and more drones (some with fuel-cells for longer flights.)
  • Virtual reality - actual products.
  • More consumer robotics
  • Lots of cars (lot of buzz about Faraday Future)
  • Wearables (Fitbit promises a "big announcement" at CES)

Stay tuned!