Sunday, February 18, 2018

Save Yourself from a "Trip" to the Hospital


Save Yourself from taking a "Trip" to the Hospital!

I used to go to a barber in the next town. He retired, so I haven't seen him for a few years. He was a veteran. He told me many stories. One was about his wife. She fell down the stairs at his house once a few years back. She has suffered since then with injuries.
   Once we had a safety expert at work. He said that when something "almost" happens or when someone has a minor trip-up or accident, we need to heed that as a warning.
   I keep thinking about the barber's wife. I've made sure our railing is always tight.  Whenever I see how dark our stairs are at night, I think about articles I've read about people needing to be careful for safety in their homes and how we need to be careful about lighting. I've been thinking about using some electronics to make a light that senses movement and turns on.
Then I saw this at home Depot for about $13 for two (only one shown in photo).
We put them on our stairs. They work pretty good. There are other similar ones. I put one in the garage too. That one is mounted on the ceiling and lights up most of the garage.
So, here's a suggestion to save you from tripping on the stairs (or your garage or anyplace else) and taking a trip to the hospital. Think about getting something like this.
All the best to you!
I'd like to hear your thoughts on this suggestion. Please comment.


Tuesday, December 26, 2017

Things I've worked on in the past

Here's a list of things I've worked on in the past.
I'll add to this as I remember them and have time to add to it.

In college, my senior project was a spoken word recognizer. It was supposed to recognize spoken words for each of ten numbers: zero through 9. It didn't work. It was programmed on an Altair 8800
(another post about the Altair 8800 computer). The professor who taught the class was the only one who could pull the paper tape through the paper tape reader (it was pulled manually) without getting an error.

Used punchcards for a fortran class

I then found out that if I asked a teaching assistant for a class, I could be able to work on a teletype
https://en.wikipedia.org/wiki/Teletype_Model_33
When he had the class with me (a one-on-one) it malfunctioned and paper started shooting out the back!  Years later, when I was working in the "real world" I bought one from the local Morris County College when they were getting rid of them. I used it with compuserve (an early online community before the internet and facebook). The whole house shook when I used it!  It had an acoustic coupler that was used over the phone line.

At home, I worked on hobby computers
While in college, I bought an 8080 kit. I never had a chance to build it, because I quickly sold it to buy a Kim-1 computer and started a company to sell software for it
http://oldcomputers.net/kim1.html
I traded it in for a RCA VIP
http://oldcomputers.net/rca-cosmac-vip.html
And then later for an Atari 400 and then traded that for an Atari 800 (which I still have)

Later I bought an IBM PC compatible computer which costed in excess of $1500 - I have never bought a computer as expensive of that since then!

At work, I was developing microprocessor based solutions for a military subcontractor called Conrac (later Smith industries) for the F/A-18 fighter/attack jet and the AV8B Harrier Jump-Jet on a very large intel development system (one of the following, but I'm not certain which one:  MDS-80, or MDS-800) for the intel 8080 microprocessor. At the time I had either the RCA-VIP, or the Atari 400 or 800 and would tell folks at work that while I was taking months to develop programming code for these microprocessors at work, I had more powerful computers at home!

At one point, while out at a local computer store looking at some add-on parts, I saw an advertisement to work for a company. I interviewed and got the job to work on video games for the Atari VCS: http://oldcomputers.net/atari-vcs.html
(see my video games page for more info about the games I worked on)

While there, I worked on toys too, like games for the Etch-a-Sketch Animator 2000. Colleagues of mine worked on the Fisher-Price PXL2000 video camera for children and the video camera inside the Lionel Train - I think called "Railscope")

I worked on a multiyear research project for a Vettest Veterinarian Blood Chemistry Analyzer (which is still being used in 2017 and is a 3.2 Billion dollar product family) for which I was awarded 3 patents (see my patent page for more info about patents I have).


I left there to work for a company where we made even more video games (see my "video games" page for more about that)

I'll try to add more to this later.






Tuesday, November 14, 2017

Notes for Watson and AI Presentation to PMI NJ Chapter

These are some additional notes for the presentation I'm giving to Project Managers gathered at the PMI NJ Chapter meeting on November 14, 2017. See pminj.org for more information.

The Story: Medical Seive


Watson Starting points

Watson starting point: ibm.com/watson
All the Watson services: https://www.ibm.com/watson/products-services/

Explore more here: https://www.ibm.com/watson/aworldwithwatson/ 

https://console.bluemix.net/catalog/?category=watson

13 year old uses Watson
https://www.ibm.com/blogs/watson/2017/07/13-year-old-prodigy-taking-ibm-artificial-intelligence-by-storm/

Is Watson Artificial Intelligence? What is Cognitive Computing?

https://www.ibm.com/cognitive/businesscoach/about-watson/is-cognitive-computing-artificial-intelligence

"A beginner's guide to artificial intelligence, machine learning, and cognitive computing"
https://www.ibm.com/developerworks/library/cc-beginner-guide-machine-learning-ai-cognitive/index.html

IBM Research : Cognitive Computing and AI
http://research.ibm.com/cognitive-computing/

Watson Cognitive Computing: Areas of Application

Watson areas of application: Health, Education, Driving, Banking/Financial, Law, Hospitality, Retail, Customer Care, and more.

Music: https://www.ibm.com/watson/music/


Watson Serves up Cognitive Highlights of US Open Tennis
https://www.ibm.com/blogs/client-voices/watson-serves-cognitive-highlights-us-open/

Listen to Kone Elevators “talk” with Watson : http://machineconversations.kone.com/

Customer Experience: https://www.ibm.com/blogs/watson/2017/02/staples-making-customer-service-easy-watson-conversation/ and https://www.ibm.com/watson/infographic/staples/

Employee Insights: Cognitive Knowledge https://www.ibm.com/watson/stories/woodside.html

Demos, Try It, Play with it!




Analyze your Twitter feed http://findyourwatsontalent.mybluemix.net/ 

Compare two twitter feeds: http://friendme.mybluemix.net/

Play a beat with "RemixIT"
https://www.ibm.com/it-infrastructure/us-en/remix-it-player/

TJBot

https://ibmtjbot.github.io/

http://research.ibm.com/tjbot/

http://henrywill4.blogspot.com/2017/06/tjbot-talks-4.html

More information on Watson


Watson Health:

Study by New York Genome Center and IBM Demonstrates Potential for AI and Whole Genome Sequencing to Scale Access to Precision Medicine
https://www-03.ibm.com/press/us/en/pressrelease/52770.wss

Watson Drug discovery
https://www.ibm.com/watson/health/life-sciences/drug-discovery/
Parkinson's
https://www.ibm.com/thought-leadership/passion-projects/parkinsons-watson-drug-discovery/

Cancer: Breast, Lung, Colon, Rectal and Prostrate soon.  MSK Memorial Sloan Kettering
cut time for clinical trial matching
https://www-03.ibm.com/press/us/en/pressrelease/52502.wss

Curb Substance Abuse Relapse
https://www-03.ibm.com/press/us/en/pressrelease/52371.wss

IBM Research and UC San Diego Collaborate to Advance the Use of Artificial Intelligence for Healthy Living
For aging populations
https://www-03.ibm.com/press/us/en/pressrelease/53185.wss

Watson for Oncology https://www.ibm.com/watson/health/oncology-and-genomics/oncology/ 

Drug discovery https://www.ibm.com/watson/health/life-sciences/drug-discovery/

Health imaging https://www.ibm.com/watson/health/imaging/ 

Watson Data

 Watson Data Platform:
https://www.ibm.com/analytics/us/en/watson-data-platform/

Watson Fashion and Art

https://www.ibm.com/blogs/think/2016/04/watson-and-marchesa/ 
Cognitive Marchesa dress lights up the night
https://www.ibm.com/blogs/internet-of-things/cognitive-marchesa-dress/This dress was lit up with colors by Tweets about the dress using Tone Analyzer.

Watson Music
https://www.ibm.com/watson/music/
 Watson Beat looks at song composition
"Training Watson To Be Your Musical Muse"  https://www.ibm.com/blogs/think/2016/06/training-watson-to-be-your-musical-muse/

IBM and Andrés Cepeda introduce First ‘Cognitive Music’ Project in Latin America
https://www-03.ibm.com/press/us/en/pressrelease/52330.wss
Tone Analyzer to Match sentiment of fans


New Exhibit, “Art with Watson: Hidden Portraits” Spotlights How Cognitive Computing Inspires Creativity
https://www-03.ibm.com/press/us/en/pressrelease/52140.wss

Other Watson Applications

Olli: Artificial Intelligence for the real world, in record time
Self-Driving / Autonomous vehicle
https://www.ibm.com/blogs/internet-of-things/olli-ai/

Crédit Mutuel and IBM Watson Put Technology at the Service of People
https://www-03.ibm.com/press/us/en/pressrelease/52108.wss




AI ETF Fund that uses Watson:
https://seekingalpha.com/article/4124004-new-ai-based-etf-uses-ibms-watson-technology

IBM and Ubisoft® Partner to Bring Voice Command with Watson to Virtual Reality in Star Trek™: Bridge Crew
https://www-03.ibm.com/press/us/en/pressrelease/52347.wss

Watson IoT

In South Africa (where 70% of the remaining world's Rhino population is found, using IoT sensors on other animals (such as Zebras) to thwart the threats of poaching of Rhinos for their prized horns.
https://www-03.ibm.com/press/us/en/pressrelease/53162.wss


Watson Education:

IBM Watson and Sesame Workshop Introduce Intelligent Play and Learning Platform on IBM Cloud
https://www-03.ibm.com/press/us/en/pressrelease/52532.wss

Free IBM Watson Teacher Advisor http://teacheradvisor.org

Watson Videos: 

https://www.ibm.com/watson-analytics

https://www.youtube.com/watch?v=_Xcmh1LQB9I

https://www.youtube.com/watch?v=ZPXCF5e1_HI

https://www.youtube.com/user/IBMWatsonSolutions

AI:

Google AI:
https://www.theverge.com/tldr/2017/7/10/15946542/deepmind-parkour-agent-reinforcement-learning

What's Your opinion on Artificial Intelligence? Space 10 & IKEA ask in an interesting presentation & survey http://doyouspeakhuman.com

Other options besides Watson:

OpenAI: openai.com

Tensor Flow: http://tensorflow.org
Microsoft Azure: 

Deepmind: https://deepmind.com/

What's the difference between Cognitive Computing and AI?
https://www.rtinsights.com/whats-the-difference-between-cognitive-computing-and-ai/

Monday, July 24, 2017

TJBot New Recipe (post #5 about TJBot)

TJBot has learned some new tricks!
 
I loaded a new recipe to show to the Children at the Vacation Bible School (VBS) at Church a few weeks ago! The Children and parents liked meeting TJBot!

 This is all mostly technical stuff for people who ask me questions about how I did it, so if you're not technically minded, you can skip this blog post.

 First, here are the links to previous posts on TJBot:  #1 order parts,  #2 test the hardware, #3 assemble the cardboard , #4 TJBot Talks


One thing I missed in the assembly instructions:
Use a screw to connect the TJBot Arm to the servo, otherwise it will keep falling off! (not mentioned in any of the instructions anywhere)





So, here are a bunch of my notes I took. They are sporadic because I stumbled on them over the course of trying to get this to work. 

I loaded a new recipe:
Recipe for TJdashboard - https://github.com/victordibia/tjdashboard
  
After done loading it, you can retrain Conversation to add more intents. I did this and added a bunch of intents and dialog entries to correspond to the Bible topics of the VBS week.
May need to get a new trial account since there is a limit to the number of services.
 
Booting up TJBot without a monitor and keyboard
I couldn't get auto boot up to work (see links below), so needed to ssh from laptop to get TJBot started, so used these instructions
https://www.raspberrypi.org/blog/use-your-desktop-or-laptop-screen-and-keyboard-with-your-pi/
those instructions are very complicated, so basically I just did the following:
Connect up a cable
arp -a
ssh pi@raspberrypi.local
Then, once connected, modify the wpa_supplicant.conf file for adding new wireless SSIDs and pwds
https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md
http://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/
do ifconfig to get IP address (see below), then Then to start TJbot Dashboard:
cd /home/pi/tjdashboard 
and 
sudo node dasshboard.js

Control-C will stop the dashboard program from running on tjbot.  You should do sudo shutdown to gracefully shut down the pi

To select the correct microphone
arecord -l
sudo config.js
modify it for the correct device ID
(can also flip the camera there too)

you may also need to Blacklist audio
https://github.com/ibmtjbot/tjbot/tree/master/recipes/speech_to_text#troubleshoot


to get to the "dashboard" from a browser...
ifconfig to get ip
http://192.168.1.2:8078/
 
Dashboard buttons: 
"See" will take a photo and tell what it sees
Text will take a photo and look for text in the picture that tells a color 
Dance: will dance and wave arm
Wave: will wave arm
LED: to change LED color


Turn "Listening" on and off then it will not respond

Faces: uses local Face detect and will load your picture in dashboard
Sentiment: only if you connect sentiment 

Note that Everything you say is sent to Watson Conversation Service (WCS), but only acted on if an intent is found

Here are some posts I used to try to boot into the dashboard at startup, but I can't get it to work
http://www.instructables.com/id/Nodejs-App-As-a-RPI-Service-boot-at-Startup/
https://raspberrypi.stackexchange.com/questions/44957/running-node-js-with-forever
http://www.linuxcircle.com/2013/12/30/run-nodejs-server-on-boot-with-forever-on-raspberry-pi/
Tried the comment at the beginingof /etc/rc.local:
node /home/pi/tjdashboard/dashboard.js < /dev/null &
It started up, but can't reach the dashboard URL without getting errors
 

Wednesday, July 12, 2017

Does Your Church Assume Folks are Visitors or Regular Attenders?

We've visited many various churches over the years.
We see two main types of communications styles. The styles seem to be based on what they believe about the types of people attending.

There are the Churches who are always Communicating for New People:
Some churches make the assumption that there are New Comers and Visitors. All of their communications are from this viewpoint.
When communications go out from these churches, they mention every single thing that is going on with excitement. They answer the questions of "who, what, where, when, and how" so everyone knows how to be involved. They tells stories of what's been accomplished so the excitement builds.

There are churches who are always communicating to regular attenders
Other churches communicate from the viewpoint that everyone knows everything and everyone. When these communications go out, they assume that you already know what's going on and how to get involved. Not all of the questions you would have are answered.  Sometimes, people who have gone to these churches for a long time don't even know what's going on. After a big event happens, there may not even be any mention of how well it went.

What do you think about this?
Have you experienced the same?






Thursday, June 08, 2017

TJBot Talks! #4



TJBot is Talking! See the video below!


 (Note: I posted a newer post with a new recipe and some pointers, tips, hints: http://henrywill4.blogspot.com/2017/07/tjbot-new-recipe-post-5-about-tjbot.html )

 I continued the work (see prior posts:  #1 order parts,  #2 test the hardware, and #3 assemble the cardboard ) by following this instructable starting at step 4 at the following link:

http://www.instructables.com/id/Build-a-Talking-Robot-With-Watson-and-Raspberry-Pi/

I used terminal on the Mac to ssh into the pi 2 in the TJBot (I think you can use putty on the pc which I understand can be downloaded )

I used the browser my mac (or you can use the pc) to get the credentials from each of the 3 services

To edit the config file I used "sudo nano config.js" you can then move your cursor around with keyboard keys and copy the credentials from the mac (or PC) browser and paste it into the config.js file (using control-C for copy and control-V for paste).

IMPORTANT NOTE: for the service credentials, they may not be presented in the same order, be careful to copy the password to the password entry in the config.js (i messed up because mine were in opposite order, so I was getting errors that Speech to Text STT wasn't working)

For step 6, if you're using ssh, you need the conversation file on your mac (or pc). You can get it from the zip at:
https://github.com/ibmtjbot/tjbot/archive/master.zip

For the workspace ID, I somehow copied the wrong information and pasted it there in the config.js file at first. TJBot was not returning anything to pass to Text to Speech (TTS). I was getting an error that nothing was sent for TJBot to speak. So, I had to go pull that workspace ID again from the conversation tool and put it into the config file. I restarted the conversion.js and TJBot was talking!

Here's a copy of the verbose output to the console that I see when starting up TJBot Conversation:

sudo node conversation.js
verbose: TJBot initializing microphone
verbose: TJBot initializing conversation service
verbose: TJBot initializing speech_to_text service
verbose: TJBot initializing text_to_speech service
info: Hello from TJBot! My name is Watson.
verbose: TJBot library version v1.3.0
You can ask me to introduce myself or tell you a joke.
Try saying, “Watson, please introduce yourself” or “Watson, who are you?”
You can also say, “Watson, tell me a joke!”
verbose: TJBot initializing microphone
info: TJBot heard: Watson who are you
verbose: TJBot response from conversation id xyz Hi, I’m TJBot! :
verbose: TJBot speaking with voice en-US_MichaelVoice
verbose: TJBot speaking: Hi, I’m TJBot!
{ filename: ‘/tmp/tjbot11756-2013-811zkh’,
  gain: 100,
  debug: true,
  player: ‘aplay’,
  device: ‘plughw:0,0’ }

I then went in and modified the conversation training to add information about the local high school where I'm going to demonstrate it today. I added intents for the school and answers (in the dialog) that I pulled from information I found about the school.

It's so great to hear TJBot talk! I hope to set up to move it's arm and change the color of the LED for a Church Vacation Bible School coming up soon. I will probably use the Dashboard recipe for that. So, maybe you'll see another post here about that soon!

(A special tip-of-the-hat and word of thanks to the folks at IBM Research for their help, especially Victor Dibia for his many answers to my questions).

Please comment with your thoughts!


Monday, May 29, 2017

TJBot #3 : Assembling the Cardboard



In the past two posts, I ordered the parts and tested them. for a TJBot that I'm building
In this post, we assembled the cardboard body of TJBot.  My wife helped since she's great at puzzles.

Before you start, we have the following advice:
1. If you ordered a laser cut cardboard like we did, try wiping it off with a cloth or paper towel that is moistened ever so slightly.  We didn't do this and found our hands black after a bit. This is probably residue from the burning of the laser cutting.
2. Have tape and a hobby knife ready.  We found that some pieces were very difficult to pop out of the cardboard and we had to cut them with a knife first.  We also found that just from the normal required bending, one of the bent edges broke.  You may find a straight edge (such as a ruler) may help with the bending.
3.  Keep in mind that you might have to watch the video a few times and rewind it to watch parts over as you go. We found that we had to do this quite often.
4. Make certain that you have all the parts ready because they will be used in the assembly.

It took us about an hour or so to build the body.

To assemble TJBot, we followed the directions in step 3 on this instructable page.
You can also find the video here on YouTube:
https://www.youtube.com/watch?v=bLt3Cf2Ui3o&feature=youtu.be


In the next session, we'll install the software and get TJBot working!
(Click here for the next posting where TJBot talks)

Here are some photos of our assembly in process.

We unfolded the cardboard to have it in the same position as the YouTube video. Read the notes above about what we suggest that you do before you start.

So far, so good!

When folding the top of the head, because it folds in over another side, the cardboard split, but we didn't need to tape this part.

One of these two uprights snapped apart at the bend and we had to tape it back together (my bad)

It still worked find to hold the Raspberry Pi 2 in place

The Camera was a bit tricky
One other thing, we found that TJBot's "Arm" was very tricky to fold. We couldn't get it to be exactly correct when folding the tabs together. And, when we placed it on the servo, it seems that the arm falls off way too easily because the white "wing" or "arm" piece that comes with the servo hardly reaches the servo.  But, it works, so we're happy with the results (which are shown at the top of this blog post).
What do you think?  Doesn't TJBot look great!