Apple, you are done…Microsoft, your dominance is near the end and Google, welcome aboard: how Android won the game, via Chrombooks

Change. It is a difficult thing to go through, but, it is inevitable. Nearly thirty years ago, CP/M was THE operating system and 8080/Z80 based computers were THE thing. I remember thinking they’d be around FOREVER. They didn’t make it past 1986, when IBM began to take over the personal computer industry. And, so, we are near that crossroad today.

Google has announced that Android apps will be available ‘soon’ for ChromeOS. That is, as they say, a game changer.

Why?

Well Chromebooks are inexpensive. Small computers using ChromeOS are inexpensive and do not need Wintel level power to do things.  Android apps, likewise, are mostly designed to run on cheap smartphones with power that comes close to that of a cheap desktop or laptop computer.  Combine the two and…WOW…that is a game changer, folks.

A friend of mine (one day, Sam, we will meet in person) has been touting these Chromebook things for a few years now.  I’ve always kind of poo-poo’ed them as being a browser on a minimalist Linux.  However, you put Android abilities in there and…BOOM!   A real challenge to Wintel.

Chromebooks already outsell the Macintosh. It will be a while before they supplant Windows, but, I think the writing is on the wall.  I am a die hard Windows fan. I’ve loved the environment and, later, the operating system since the 2.1 days. But, change is inevitable and Microsoft knows this. Pretty much the only product they still sell that is not completely available on other platforms is the Visual Studio development tool suite. And, I think, it won’t be long and you will be using that on Android. On a Chromebook. 

So, how is Google doing this? Merging the two operating systems?

No. No merging.  No AppV or Virtual machines either. NO, they are using containers that have the Android framework embedded in them.  This is a quite clever approach as it not only allows the app to ‘see’ the underlying filesystem and hardware it is running on, it also means apps can talk to each other and that is HUGE.  What good is a photo editor that cannot get to the photos?

It also means the applications run AT FULL SPEED.  Think about that.  Now the Android GAME world is open to ChromeOS.  In fact ALL Android apps will work this way, no developer changes required. Candy Crush Jelly Donuts and Coffee will run, full speed, full screen, on a cheap $120 (US) Chromebook just as well as it does on that Moto G.  This, my friends, is not only cool, but awesome.

I am no fan of Google, but this is a clever and very smart way to bring Android into the home in something other than a phone.

Now, I need to buy myself a Chromebook, get a good book on Java development and retool myself.  Apple, you need to get a clue. Your walled garden is about to be overtaken by weeds when your gardeners leave for greener pastures.  From Google.

You can read more about it here.

Windows Mobile 10: Alcatel OneTouch Fierce XL

5055w_front_back-groupI’ve been using the Fierce XL with Windows Mobile 10 for almost a month now.  I bought the phone from T-Mobile to temporarily replace my now ailing Lumia Icon from Verizon.  As Verizon no longer considers Windows a viable platform for them, I went to T-Mobile who is still friendly toward the mobile operating system. 

The Fierce XL from Alcatel OneTouch was $140 (US) to buy out right.  No contract and a $40 a month plan made it a nice deal.  So, how does it compare to my old Icon?

Well, not very well.  And that is just fine.  The Icon was a ‘flagship’ , that is, it was considered a premium phone with premium features.  The Fierce XL is not.  It does, however, have some features that were, previously, a premium feature, like 2GB of RAM and a large HD display. It also came with Windows Mobile 10.  So, it is not quite a slouch but no high end phone either.  I knew this going in.

In most respects, it is a good device.  Not as fast as the Icon, not as slow as my even older Lumia 521 or iPhone 4.  In terms of performance, it is closer to an iPhone 5.  The 2GB of RAM helps a lot.   The OS is fluid, but does hiccup once in a while. I am running a ‘Redstone 1’ insider build, so there are OS issues, but they are the result of running beta code.  However, that code does bring out features that were not in the shipping release of Windows Mobile 10, like a quasi Continuum feature. More on that in a bit. 5055w_back-left

The camera is, perhaps, the weakest point of the device. The rear camera is only eight megapixels and has poor low light ability.  The images are not very crisp and color tends to be more on the muted side of things. Coming from my Icon, it is a huge let down.  Again, I was aware of this when I got the phone, but it was still a big let down.  Almost enough to take the phone back to T-Mobile, but, alas, my poor Icon’s battery is on life support. As is the body of the phone. 

Which brings me to the best and worst aspect of the Fierce XL: it’s body is all plastic.  The back is a funky shade of blue that has grown on me, but is also now covered up by an overpriced rubbery shell that the salesguy sold me at T-Mobile.  The plastic case looks cheap and feels cheap, but it likely will not break or dent, like the Icon’s all metal body did.  I don’t mind the plastic all that much, but it does feel cheap, which makes me think I would not like it on, say, the Lumia 950.

Overall, the hardware-except for the camera-is decent. Performance is good, considering the price.  While it feels cheap, the build quality is quite good. 

As I mentioned earlier, the latest Windows 10 insider builds unlock a nice Continuum feature. To 5055w_front-rightuse it, both the phone and the computer must be running the latest builds of Windows 10 Insider (the ‘Redstone 1’ builds) as the feature needs the PC to have the plumbing for Continuum.  So, what does it do?  Well, it lets you, via the ‘connect’ feature on the device, to allow the phone’s screen to be shown on the PC’s monitor and allows the PC’s keyboard and mouse be recognized by the phone. This lets you use the phone as if it were the computer.  The difference, though, between this and the ‘real’ continuum is that you cannot do something else on the phone while using Continuum, and it does not scale the phone’s screen to fit the monitor. It is the same as the old ‘connect’ or project my screen feature.  It is a nice feature, though one that I don’t see myself using all that much.  Perhaps I will if I use my phone at my job to take notes or start work on a document or spreadsheet.  Though, I generally just save to my OneDrive and use my PC and its apps.  So, while this is cool and nice, and all that, I’m not sure that I’d use it all that much.

Windows 10 runs very well on this hardware and gives me hope that Alcatel Onetouch will bring some of its better hardware to Windows Mobile, like the Idol 3.  It also gives me hope that other manufacturers will follow. Indeed, HP, Acer and HTC all have or will have Windows Mobile devices out very soon, if not now.

The Fierce XL with Windows 10 is available from T-Mobile for $139.95.

Non-Tech Fun: Vacationing in the Mid-Atlantic Area

It’s that time of year when vacations are starting and you are looking for great places to take your family and relax and have some fun.  And, what better places to take them than to the amusement parks, right?  Well, sure, but there are new types of amusement parks that do not involve rollercoasters or ferris wheels.  First, though, I am going to talk about rollercoasters.  BIG ONES, at that.

Overview of Carowinds entranceThe tallest giga-coaster on the East Coast, and one of the tallest in the country, is called Fury 325 and is located in the very nice Carowinds theme park located near Charlotte, North Carolina.  This thing is 325 feet tall, has an 85 degree first drop and is over 6600 feet long. It towers over the park.  Now, Carowinds isn’t a one trick wonder. No, it also has another tall coaster: the Intimidator. Named after the late, great Dale Earnhardt, this out and back coaster features a first drop of over 200 feet and, prior to Fury 325, was the south easts tallest and fastest roller coaster.  Rounding out Carowinds collect are Nighthawk, a coaster where you lay down and Flightdeck, a hanging rollercoaster that is very fast and features many inversions.  Carowinds is a delightful place to take your family and won’t break the bank.Overview of Carowinds entrance

Charlotte is also home to an NFL team and, of course, NASCAR.  The NASCAR Hall of Fame is located in downtown Charlotte, just minutes from the theme park.

Travelling north, to Virginia, you will find not one, but two world class theme parks, lots of museums, and history, a ton of history from the revolutionary war era, to the Civil War and both World Wars. 

Griffon, at Busch Gardens WilliamsburgStarting in Williamsburg, you have Busch Gardens, a true world class park.  It’s theming, food, service and, of course, its rides, all make it THE best theme park to visit, period.  For its rides, you have Alpengeist, a daring hanging coaster that was the tallest of its type for many years.  The Loch Ness Monster, which, when it opened, was the tallest and fastest coaster in the country. Then, there is the Griffon. Griffon takes you up 205 feet, dangles you over the edge and then lets you drop down an almost 90 degree drop.  It’s a real heart stopper.  Apollo’s Chariot is hypercoaster that will never cease to thrill.  Busch Gardens has terrific food as well.  Oktoberfest lets you sample German cuisine while Festa Italia gives you a taste of Italy.  Down the road from the park you will find Water Country, USA, a huge water park.

Also in Williamsburg, you will find Colonial Williamsburg for a sampling of life in the 1700’s.  There’s also shopping, fine dining and more touristy things to do like the Ripley’s Believe it or Not Odditorium. Finally, there’s mini-golf, go kart parks and the famous Williamsburg Pottery Outlets.

Oh, yeah, I’d me remiss if I neglected to mention Great Wolf Lodge.  This nice resort features a good sized indoor waterpark, included in the price of your room. 

And, don’t forget, to the east is Virginia Beach, about a forty minute drive. And Norfolk, which contains even more things to do, including an aquarium and battleship.  Virginia Beach also features an even better aquarium that also has zip lines and a rope course.

Loch Ness Monster, BGWJust north and west of Williamsburg is Richmond.  Richmond is rich in history, culture, fine arts and food. Lots of restaurants with everything from soul food, to country food to anything European, Korean, Japanese or Chinese.  There’s also a tremendous amount of Thai food restaurants.  You name, you can likely find it in Richmond.  In addition to shopping and food, you’ll find many art museums, history museums and the Edgar Allen Poe Museum.

There’s minor league Baseball, NASCAR twice a year (in April and September) and several short tracks for that weekly dose of speed.  There’s adrenaline junky places like Jumpology, a trampoline fun house.  Coming soon to the area is an indoor park featuring an American Gladiators type course, several zip lines and rope courses. 

A few minutes north of Richmond takes you to Virginia’s second world class theme park, Kings Dominion.  Kings Dominion is a sister park to Carowinds and, as such, contains many of the same types of rides and attractions.  It includes a nice collection of Dominator Rollercoaster, KDrollercoasters, including what was the tallest and fastest giga coaster on the east: Intimidator 305.  This 305 foot tall beast, also named for Dale Earnhardt, gives you the feeling of the high banked turns of Talledega and Daytona.  The first drop takes you into a sharp right turn that may cause a momentary ‘grey out’ in which you lose vision for a fraction of a second. This is normal and is not harmful, just weird. It is caused by blood flow and is harmless. 

Edgar Allen Poe MuseumThe park also features many ‘launch’ style coasters, where, instead of the train being pulled up a hill and released, linear induction motors propel the train forward at tremendous speed.  One of them, the Volcano, shoots you out of the station, around the base of a volcano mountain and then up and through the Volcano itself.  Quite thrilling and was my favorite coaster until I rode Fury 325.

Kings Dominion also features a nice but small collection of wooden rollercoasters, including the Rebel Yell, which is featured in the motion picture ‘Rollercoaster’. 

In addition to nice collection of rollercoasters, the park also features shows and a good collection of flat rides including a Ferris Wheel, a Carousel from the 1920’s and a smaller replica of the Eiffel Tower (this one is one third size at 300 feet.)  For thrills, there is the 300 foot tall Drop Zone tower and the 305 foot tall Windseeker, a swing that takes you up nearly 300 feet.

Richmond, VA - richmondcitybook.comRichmond is nicely located with Washington DC to the north, the beautiful Skyline Drive to the north and west and, of course Williamsburg and Virginia Beach to the east.  All of these destinations are within a two hour drive.  The Outer Banks of North Carolina are just three hours from Richmond.  But, there’s certainly plenty to do in the city and one could spend a week here doing it all.

The East Coast from Myrtle Beach, South Carolina all the way up to Ocean City, Maryland (two of my favorite vacation spots as well) offer up a tremendous opportunity for a fun filled vacation pretty much any time of the year (the amusement parks are seasonal, however) and none of it will break the bank either.

Is Verizon getting a new Lumia phone?

12647246_962624217140667_8348549796545464349_nRecently, my Lumia Icon has been giving me some heartache. It’s been dropped several times and now has a chip in the glass, a long crack across the Nokia logo and the glass is starting to separate from the metal body.  So, I am going to have to replace it soon.  Problem is, I am on Verizon and I want another Icon like phone, running Windows Mobile 10. Something like the Lumia 950.

Well, last year, very publicly, Microsoft and Verizon seemed to have gone their separate ways.  Icon was dropped as an option and, it seemed that my choices required me to jump to AT and T.  They seem to get all of the ‘good’ phones anyway.

No, I do not want an iPhone.

No, I do not want an Android phone.

I want a Windows Mobile 10 phone.  Yes, I know it is a sinking ship, and I’ll go down with it, but, for now, that is what I want.  Not that Microsoft makes it easy to stay on that sinking hulk. No, they seem to go out of their way to make you want to jump overboard.

Not me.

Not yet.

So, frustration kicked in a few days ago and I’ve gone back and forth with Verizon over Twitter.  Up until today, all I got were comments like this:

Verizon Wireless CS@VZWSupport 12h12 hours ago

@geogray We certainly want you to have a device that you can enjoy. Here are more details regarding Windows OS http://vz.to/1Sfi3wF .

And that link takes you to the Verizon page with ALL TWO of the Windows phones they currently carry.  An LG Lancet and the Lumia 735. Neither phone is as good as the Icon and both are a year old or older. No thanks. 

However, to my surprise, the person followed that tweet with:

Verizon Wireless CS@VZWSupport 7h7 hours ago

@geogray I’m sorry to hear your equipment expectations hasn’t been met. Please keep stay tuned, new Lumia devices will launch soon.

I’m thinking, what!? So I ask:

geogray@geogray 7h7 hours ago

@VZWSupport Verizon is going to have NEW phones like the 950? Running Windows Mobile 10?

And the reply:

Verizon Wireless CS@VZWSupport 6h6 hours ago

@geogray Yes, we are planning to expand our Windows Mobile 10 device line up. The 950 was last year’s model. No date yet for our next.

So, maybe there is hope for Verizon users who want a great phone running Windows Mobile 10.

I am still skeptical, and my contract is not for a few more months, so, hopefully, my Icon will hold up and Big Red does, in fact, get a great Windows Mobile 10 phone.

Now, to their credit, they have been attentive to my coverage issue, but I do not know that they can really do anything about it.

Using a 4 digit, 7 segment LED with Arduino

WP_20160316_22_25_00_Raw_LIDisplays.  I love them.  Pretty much anything that lights up is cool, but things that can display numbers, letters and other symbols are just awesome and making them work, even better.  One of the coolest things I remember from my childhood are seeing those red, seven segment displays. They became cool (and cheap) and showed up everywhere.  Newspapers and magazines would emulate the look in articles and stories and the ads. Science Fiction movies and tv shows ate them up.  They were everywhere.  Then…sometime in the late eighties…they sort of went away, in favor of LCD and other display tech.  Or, worse…they changed color!  But, for me, its’ those RED ones.

I just had to make something with those uber cool RED seven segments.  But, what? Well, why not a clock? Yeah, a clock.

So, I ordered one, four digit, seven segment display bar.  A Catalex.  Wow.

Well, the thing arrived and it looked cool. But, there was a problem…how the hell do I send it data?

It uses four pins: GND, VCC, DIO and CLK.

DIO and CLK can be any digital pins, that wasn’t the issue. My problem was how to do so in CODE.

A little bit of digging revealed a nice little library that worked great with the display. And, you can download it here.WP_20160316_22_24_45_Raw_LI

The trickiest part of the library is figuring out which digits go where.  Fortunately, it easy:

display.showNumberDec(number, show leading zero (true or false), number of digits, position)

Example:

display.showNumberDec(now.hour(),true,2,0);
display.showNumberDec(now.minute(),true,2,2);

The first line puts the hours in the left most digits and hours on the right most digits, starting at digit 2 (the numbering starts at zero) and with leading zeros, so 8:03 would display as 08 03.

The one thing I have not yet figured out is how to display the colon. It is there, but I have yet to turn the bloody thing on.

This is really nifty little display and was cheap…about two US dollars if you shop. I did not and paid nearly four bucks, but, it did not matter, I got it in a day, thanks to Amazon Prime.

Below is my early attempt at a clock.

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
‪#‎include‬ <Wire.h>
#include “RTClib.h”
#include <Arduino.h>
#include <TM1637Display.h>

RTC_DS1307 rtc;

// Module connection pins (Digital Pins)
‪#‎define‬ CLK 2
#define DIO 3

// The amount of time (in milliseconds) between tests
#define TEST_DELAY 2000

TM1637Display display(CLK, DIO);

void setup () {

if (! rtc.begin()) {
Serial.println(“Couldn’t find RTC”);
}

if (! rtc.isrunning()) {
Serial.println(“RTC is NOT running!”);
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
display.setBrightness(0x0f);

// All segments on
display.setSegments(data);
}

void loop()
{
DateTime now = rtc.now();

display.showNumberDec(now.hour(),true,2,0);
display.showNumberDec(now.minute(),true,2,2);

delay(5000);

display.showNumberDec(now.month(),true,2,0);
display.showNumberDec(now.day(),true,2,2);

delay(5000);

}

Tiny Basic Programming Lesson: talking to the real world

12419231_974683622601393_320731550894605287_oUsing HalfByte Tiny Basic to interface with the external world is pretty easy to do. There are already built in interfaces for temperature and humidity, but, using AREAD, AWRITE, DREAD and DWRITE, we can access a variety of sensors and modules that do not need specialized libraries in order to talk to them.  Sensors such as the touch sensor, IR reader and the light sensor I talked about in previous posts can easily be used by HB Tiny Basic.  The key to using them is to know the range of values they return.  Since documentation for them can be difficult to obtain, the best way to figure it out is to connect them and experiment.  Once you get a feel for the range of values and what they mean, you can easily incorporate them into a project.

Lets consider the following code:

100 CLS
110 A=AREAD(0)
120 CURSOR 0,2
130 PRINT “Light level: “;
140 IF A=0 PRINT”Pitch Dark”:GOTO 500
150 IF A>0 IF A<100 PRINT “Dark    “:GOTO 500
160 IF A>100 IF A<300 PRINT “Low     “:GOTO 500
170 IF A>300 IF A<600 PRINT “Moderate”:GOTO 500
180 IF A>500 PRINT “Bright”:GOTO 500
500 GOTO 110

All this code does is read the sensor, determine a range for light level and output the results.  300 and above is about what you have in a living room in the even with one or two lamps turned on.  Over 500 and you are talking some bright light.  The higher the value, the brighter the light.  Zero, of course, is a total lack of light.

Looking at the code, you will notice that we are reading the A0 analog pin.  That’s the pin the light sensor is connected to. In HB Tiny Basic, A0 to A7 is represented by the integer portion-0,1,2 and so on.  To designate that you want to use the Analog pin, use AREAD.  The same rules apply for the Digital pins…use DREAD and 0 to 13 for the pins.  Line 110 above, A=AREAD( 0 ) to read A0 into the variable ‘A’.  That value, in variable A, becomes static until the pin is read again. This allows us to use the value, as captured at that moment, to do what ever we want.  In this case, we use it to determine if the light level is pitch dark to bright. 

Because HB Tiny Basic lacks such operators as ‘and’ and ‘or’, we have to use multiple IF statements. So, for line 150, instead of something like:

150 IF A>0 AND A<100 PRINT “Dark    “:GOTO 500

we have to use:

150 IF A>0 IF A<100 PRINT “Dark    “:GOTO 500

All it is saying is ‘if the value in A is greater than zero AND less than 100, then print the Dark to the output device and skip to line 500’.

Once we are done  evaluating the light level, we just go back and do it again.  A real world use of this could be like ‘if the light level goes below 300, set pin 10 to high so it turns on a light; if the level goes above 600, set the pin to low to turn off the light’.

There are maximum and minimum values and they are determined by both Tiny Basic, which allows for –32767 to 32767, and the sensor itself.  Some will return a non zero value to indicate an ‘on’ value and a zero for ‘off’.  Or, as in the case of the touch sensor, the values switch between 22 and 1023.  Your mileage may vary.

I wrote a short little game, loosely based on Flappy Bird, that uses the light sensor as the controller. The code is posted here and shows a real world use for using AREAD to retrieve data from an external source.  You could take the code and fancy and add code to trigger a buzzer when the bit hits a pipe (using either AWRITE or DWRITE.) 

There all kinds of things you can do with these four simple functions and statements.  A future modification to the language might be the ability to auto run code from eeprom, which would allow HB Tiny Basic to then be used as a control language.  You can do a lot with few resources.

Flappy Bit: writing a Tiny Basic game that uses a light sensor and you as the game controller

FlappyBitPhotoHere’s a very rough, very crude game, in HalfByte Tiny Basic, of Flappy Bird. I call it Flappy Bit. You use the Light Sensor to control your bit. Cover the sensor and your bit moves up, shine light on it and you go down. As I have not built much logic into it, weird things happen, like sometimes the pipes blend together and you will hit it, sometimes, you go through the pipe, etc. It only uses about 400 or bytes, so there is plenty of room to play with.

Game Features:

  • Use your hand as the controller!
  • Ultra realistic blocky graphics!
  • Stunning sound!
  • Full Color Black and White!
  • True to physics!

100 CLS
110 X=1:Y=20
120 P=50:Q=0
130 L=RND(20):M=RND(20)
135 W=-1
140 A=0:Z=0
150 S=0
160 D=1
170 C=0
200 LINE P,0,P,L,1
210 LINE P,44,P,44-M,1
220 SET X,Y
225 DELAY 50
230 Z=AREAD(A)
240 IF Z<300 K=-1
250 IF Z>299 K=1
260 IF GET(X,Y+K)=1 GOTO 500
270 RESET X,Y
280 X=X+D
290 IF X>75 X=1:D=1
300 LINE P,44,P,44-M,0
310 LINE P,0,P,L,0
320 P=P+W
330 IF P<1 P=RND(75):M=RND(20):L=RND(20)
340 IF M<15 M=M+10
345 IF L<15 L=L+10
350 Y=Y+K
360 IF Y>40 Y=40
370 IF Y<1 Y=1
380 DELAY 50
385 IF X=P+1 C=C+1:TONE 2000,200
386 CURSOR 0,6:?C;
390 GOTO 200
500 CLS
510 ?”You hit the pipe!”
520 DELAY 5000
590 GOTO 100