Skip to main content

Posts

Move phone (device) contacts to google

We, my wife and I, recently upgraded to the Samsung Galaxy S5. She was upgrading from the S4 and noticed that after configuring the device and adding her Google account that nearly all of her contacts had missing phone numbers when we had both expected the Google account sync to have transferred nearly everything over in a transparent manner. It turns out that almost all of the phone numbers on the S4 were being saved locally to the device and not to her associated Google account. You might be able to see this on your phone if you go to a contact and hit the edit icon. Some information will be in the 'Google' tab but the phone number may be in the 'Device' tab. The Google part of the contact on an S4 (Verizon) showing the email address The device part of the contact on an S4 (Verizon) showing the phone numbers This is a real pain because you might have hundreds of contacts with their phone numbers only on your device and you'd like these to automat...

A star field WebGL demo application with three.js

WebGL with three.js As an avid gamer I've always been interested in what it might take to create a simple game. I started looking into frameworks and ways to develop and publish games across multiple platforms using things like  Steam , Python, or Javascript. I've been interested trying to span both desktop and mobile devices with the same codebase. I stumbled across  three.js , a javascript library, and it looks like a great framework to get started with WebGL development. I thought it might be neat to put together a star field simulation demo to start to learn more about WebGL and refresh some of that college computer graphics material. With some guides and examples of three.js I put together the demo application in the window below. If you see the star field simulation above then you've got WebGL support in your browser. If not you'll want to search on the web about how to enable WebGL in your browser, or get a browser like Chrome that has WebGL support. I...

The questionable future of NFC in the wake of Apple's iBeacon

For those that haven't heard the news yet, it looks like Near Field Communication (NFC) is going to have a bad 2014. The introduction of Apple's iBeacon  may be the beginning of the end of NFC . For those unfamiliar with iBeacon or NFC there are some significant technical differences between the two technologies. iBeacon is both a standard set of Application Programming Interfaces, or API, introduced by Apple in iOS7 and a data format for  Bluetooth Low Energy(BLE)  devices. Because iBeacon is built on BLE it means that nearly all Smartphones with BLE radios can support iBeacon. NFC communicates through magnetic induction between two antennas placed close together. The primary differences between the two technologies are that NFC can communicate between a powered device and an unpowered device such as a credit card, while BLE requires two powered devices. NFC devices must be close, >10cm, BLE devices can communicate across dozens or more feet. While several popul...

An online course, "An Introduction to Interactive Programming in Python", on Coursera

coursera.org main page As a programmer by profession I've wanted to start learning Python. I signed up for An introduction to Interactive Programming in Python  on Coursera in September. It was a free course from Rice University. Now that the course is complete I wanted to share where I thought it did well and where it could have benefited by stepping away from the ideas of traditional courses. The material in the course was presented through lecture videos and online programming examples. Each week of the course consisted of lectures, followed by quizzes and mini-projects that required knowledge of that week's material in order to complete. Because the course was supported by professors and teaching assistants at Rice University there was support for students via online forums and chats, although I never used any of these resources. Capture of a video of Joe Warren, one of the professors at Rice University The presentation of the material was clear and the produ...

Online education and the disruption of the traditional education system

Online learning has started to move into the mainstream. Stamford, MIT and others have been offering online classes for years but  in the past few years the idea really stated to take off.  While it may seem obvious that the Internet might provide a great conduit to educate, it has taken dozens of years for the approach to gain traction. As online education improves there are clear signs of disruption in the traditional education system. Udacity CS344 - Introduction to parallel programming The model for online courses is a powerful one. A single set of materials can be created once and distributed at almost zero incremental cost. Some courses are self paced and fully automated. Others are supported by a teacher and staff that grade submissions, provides help on forums and may hold group chats. Some colleges/courses are experimenting with a hybrid model  that leverages the Internet to deliver the portions of the course best suited to it, such as lecture notes or p...

Tesla's disruption in the car industry

As a follower of technology companies and products I've been watching Tesla Motors  for years. With the Model S , Tesla has produced a luxury car that has raised the bar in terms of usability, features, performance, and safety and scored a near perfect score in Consumer Reports review. Tesla appears to be putting significant pressure on luxury car brands. The Model S  outsold, in the first half of 2013, Porsche, Jaguar and Land Rover  in California and in the first quarter of 2013  some models of Audi, BMW and Lexus . At this point, demand for the Model S appears to be outpacing production capacity. The current delivery wait on the Model S is two months or more, as indicated on the Tesla website. Today, at ~$70k USD, the Model S is in a different market segment and significantly more expensive than the the biggest selling EVs on the market. The  Toyota Plug-in-prius  (US$32,000),  Nissan Leaf  (US$29,650), and  Chevy Volt  (US$34,99...

Moving to c++11

c++11 has been officially released since August 2011. I'm not sure if other compilers are planning or have added c++11 support but I primarily use gcc. Even though gcc   still classifies c++11 support as experimental  their support appears nearly complete. At my day job we've been doing some prototyping and early development of a next generation platform and have started to try out c++11. So far I've been happy with the improvements in c++11 over c++98 . After a handful of months of using c++11 here are the things that have stood out. auto The ' auto ' keyword mirrors one of my favorite language features in c#, the 'var' keyword. auto  indicates that the compiler should perform type-inference. With auto I'm not going to miss having to type dozen of letters twice to declare and create a verbosely named template. Two pitfalls of auto are the lack of a specific type that might require a programmer to look at the function prototype to determine the typ...