Saturday, March 9, 2013

Thursday, March 7, 2013

March's Big Nothing Snow Storm


What was supposed to be an 8 to 14 inch wallop turned out to be a wimper because of high ground temperatures and the "March sun" as the weather people backed away from their forecast.  Here is a movie of the heavy snow falling that barely got to three inches in Ashburn.


Wednesday, March 6, 2013

LAST chance … save on [MC]2 registration until March 15!!!!


Don't wait!!!!!!!!




March 3, 2013






Last chance … save on [MC]2 registration until March 15
Who says you never get a second chance? If you missed the [MC]2 early-bird registration deadline, you’re in luck – your savings opportunity has been extended until March 15. But, we’re really not kidding this time … that discount will soon go away for good. Register now!
[MC]2 offers you the best place to learn about MTConnect from a variety of perspectives. From builders to engineers to end users, gain valuable insight about the importance of shop floor monitoring and all the things you can discover by using MTConnect. All the answers are awaiting you at [MC]2 2013!

Saturday, March 2, 2013

Facebook's Boot Camp


This was an interesting episode on Bloomberg.com regarding Facebook's Boot Camp.  Plus, my son John, who was going through Facebook's Boot Camp, comes on the screen at the 40:48 mark :-)  It also shows the old Sun Microsystems Campus that Facebook purchased.

Sunday, February 24, 2013

God Bless Mike Abramowitz of Sun Federal



Lesley Lawrence of Sun sent this out regarding Mike:
"Dear Friends and Former Colleagues of Sun:

It's with deep sorrow that I relay the news of Mike Abramowitz's passing on Wednesday, February 20th.

Mike was a superb negotiator, a great mind and had a mighty acerbic wit! I, for one, learned much from this industry legend - please note your condolences in the guest book embedded in the Washington Post obituary here:"
 
My deepest condolences to Mike's family.  Mike was truly a one of a kind individual and I loved being around him because he was able to analyze opportunities better than anyone I have ever met in my life.

My wife Julie and I ran into Mike in Singapore at a Sunrise event.  Mike asked if we would like to have dinner together.  My wife and I remember that night because of how kind and interesting Mike was in our discussions that evening.

God bless you Mike.  You were one of a kind and will be truly missed.

Tuesday, February 19, 2013

MTConnect and Task Force Tips on Why [MC]2 2013 Is Key

Below is from an email blast we just sent out on [MC]2 2013.

At many manufacturing companies, MTConnect is bringing immediate access to better shop floor data. Those companies are reaping the rewards. You can only gain this insight through shop floor monitoring. [MC]2 MTConnect: The Connecting Manufacturing Conference is the place where you’ll learn all the benefits offered by MTConnect, which is growing in usage every day.
 
“We thought we knew what was happening on our shop floor better than anybody. MTConnect has opened our eyes that maybe we knew 10 percent…it’s invaluable for seeing patterns with not just machines but also the operators running them, to watch how often they’re adjusting their offsets. It’s allowed us to coach our operators to help them get the most out of the machines they run.”
                           — Stewart McMillan, Task Force Tips
Stewart McMillan and Task Force Tips is just one of many MTConnect success stories.
Are you ready to add your name to the list?
Join us at The Millennium in Cincinnati, OH, April 10-11 to start writing your success story. Register today!

Friday, February 15, 2013

Open Systems For Open Minds

NOTE:  I wrote this article for Feb 14, 2013 edition of the IMTS Insider as a consultant in my role as the Director, The Office of Strategic Innovation for AMT - The Association For Manufacturing Technology.


Open Systems for Open Minds: That phrase was my all-time favorite slogan at Sun Microsystems. While it might seem obvious that of course everyone would want an open system, it turns out this does not always prove to be true. An open system is open or closed depending on the industry, the time period, and context, as well as the organization supporting the system.

In the computer industry, open or closed is better defined than manufacturing. If you ask someone in the IT industry what it means to be an open system, the answer you will receive likely will be along the lines that is one that has an operating system that has its source code out in the open and public, uses the most popular and open programming languages and uses standard interfaces that are open and royalty-free that makes it portable between architectures. If you were speaking to someone who has been in the computer industry a long time, the answer would be very short and simple, such as a Unix or Linux box.

What about the time period? If we were to go back to the 1960s and early 1970s, open computing would not have been a common term. Terms such as “IBM plug compatible” would have been the definition of open. Plug-compatible means that you could take a board from an older main frame and use it in the backplane of a new computer of that same vendor. In 1981 IBM announced the IBM PC and created, some would argue by mistake, an open hardware platform where the terms IBM PC compatible and PC compatible meant it could run the same OS and software as the IBM PC, but would be, typically, a less expensive system. The IBM PC was viewed as an open system in the 1980s with Microsoft’s DOS. In the 1980s, Sun Microsystems redefined open systems with the introduction of the SPARC platform where other companies could not only make systems that could use the SPARC processors, but companies could manufacture their own SPARC processors. In the 1990s the Linux operating system redefined the word “open” in a way that still stands today.

How about context? This gives meaning to both the industry and the time period discussions. For example, is Apple an open system? Is Microsoft an open system? Is Oracle an open system? How about Google? How about iOS versus Android? It could be argued that Microsoft is more open than Apple in 2013. Apple’s Mac OS X is based on Unix, but no one considers Mac OS X an open operating system such as Linux in 2013. Not too many individuals call Oracle open, but they own MySQL and Java. Those technologies are open. Most of what Oracle owns is not open. Oracle might argue that they publish their interfaces, so they are an open platform. Many think of Google as being the anti-Microsoft and being open, but are they really? It depends. Is Facebook open? Not from a data standpoint, and it should not be open. That model works for them because they have a closed garden approach that makes sense. How about Twitter? OneI can search Twitter at http://twitter.com/search — does access to data make it open or closed? As you can see, context changes everything.

The other aspect of context is the organization behind the system. AMT has been the key driving and supporting force behind MTConnect from the very beginning. Specifically, Paul Warndorf, VP of Manufacturing Technology at AMT, has been the key person driving MTConnect. No Paul Warndorf, no MTConnect. Don’t get me wrong — lots of folks, yours truly included, have helped out a great deal, but you must have the singular driving force that has control of the money and the vision. AMT has invested literally millions in MTConnect not because of any hidden revenue stream for AMT, but rather because it was the right thing for their members and more importantly, it was the right thing for manufacturing. Sun Microsystems had Scott McNealy as the guiding visionary for doing things the right way at Sun. It was impossible to overstate the importance of Scott to Sun Microsystems. When companies and individuals look at a given technology, the organization and the individuals in that organization play a large role in the determination of the overall motive behind a given system. While motivation can sometimes be difficult to ascertain, when it is a 501( c ) ( 6) non-profit as both AMT and the MTConnect Institute are, the questions become less probing on real intentions. This, however, does not mean that we do not receive probing questions at the MTConnect Institute, but they are usually more quickly accepted when the person realizes we are a nonprofit.

Manufacturing is moving to open systems with MTConnect, but there is still an ocean of different definitions of what an open system really is in the world of manufacturing. For example, I was at IMTS 2012 and asked this question of those who came to the Emerging Technology Center (ETC) and when I walked the floor visiting other exhibitors. The answers I received were quite interesting. In the software area, if I was talking to a vendor who was a member of the MTConnect Institute, the answers were more in line with what you would expect in the computer industry. However, if I spoke to someone who was not a member of the MTConnect Institute, the answers gave me flashbacks to the 1970s. This is not meant to be a derogatory statement, just a reflection of the importance of industry, context and time period for manufacturing. One of the more common examples of the answer to my question, “What is the definition of an open system in manufacturing,” was defined as, “the ability to pay for the manual, license and software development kit in order to access the proprietary Application Programming Interfaces (APIs).” There is no one in the computer industry who would define open in that fashion in the year 2013.

This is not to say that a closed model might not be what is best for a given company. Look at Apple. For anyone who owns Apple stock, they are very pleased to have stock in a closed system. This is true if they did not purchase Apple when it was at over $700 a share, and as I write this it is trading at $452 a share. I own lots of Apple products. I am writing this on a MacBook Pro with an iPhone 5 in my pocket. But, that is not the point of the more interesting question, which is, will iPhone still be the phone to have in 5 years or will Android be the dominant platform? There are those who argue it is today. It has been stated that Android out ships iPhone by almost 4:1 today, so what will it be in 5 years? Who knows, but the point is that Android is based on an open platform and Apple is not. Go try to create an iPhone clone and let me know how that works out for you. Customers like open systems because it gives them choice. But, why do some companies like Apple do so well? They innovate and their systems just work, as one would expect. Apple will need to out-innovate and out-integrate the entire Android cast of players. That is easy to say, but very hard to do, as we all know.

What is the best way to learn about open versus closed systems? Attending the [MC]2 2013 MTConnect: Connecting Manufacturing Conference. This conference will take place April 10-11, 2013, in Cincinnati, Ohio. The conference will feature something for everyone from end users, to software developers, to C-level executives, to students, to manufacturing technology builders, to anyone who just wants to really understand MTConnect! This conference is aimed at promoting BOTH the business and technical benefits and implementation of MTConnect®, as well as showcasing commercially available products utilizing the standard.

Who Should Attend?
  • End Users – shop owners, plant managers and anyone in manufacturing interested in improving productivity
  • Industry thought leaders
  • MTConnect® Institute Participants
  • Equipment Suppliers
  • Students
  • Professors
  • Software Developers
  • Distributors
  • ISVs
  • Integrators
  • Consultants
  • Anyone wanting to learn more about MTConnect
What does the future for manufacturing hold in terms of open systems? There have been other attempts at open systems in manufacturing besides MTConnect that had very limited results. Those efforts might have been affected by limited resources and limited vision. I do believe we will continue to see manufacturing embrace open systems. Not because of any altruistic reason, but because it makes good economic sense. The challenge with entirely closed systems is that you must place all the bets correctly. If you do, then you can win big. If you miss any of those bets, changing platforms might be your death knell. Open systems are on a continuum and the industry, the time period, context, as well as the organization supporting the system all matter when coming to the conclusion whether the system is truly open, partially open, basically closed or completely proprietary.

Hang on folks, because the next 5 years will be quite interesting in manufacturing. I am going to borrow one of Sun Microsystem’s best slogans and say, “Open Manufacturing for Open Minds.” Sounds like something I need to put on a t-shirt!

Tuesday, February 12, 2013

Modern Machine Shop's Mark Albert on MTConnect and [MC]2


There is a great interview by AMT's Penny Brown of Mark Albert, Editor-in-Chief of Modern Machine Shop

Below Mark is referring to implementing MTConnect:

  “One of the things I’m seeing is that when a company implements it, they start to get benefits right away,” Albert said. “Whether they start implementing on a small scale or a larger one, they very quickly start to see rewards that make the effort worthwhile. They start getting a better picture of what’s actually happening on their shop floor.”

In the article, Mark goes on to discuss [MC]2 2013 MTConnect: Connect Manufacturing Conference:

Albert plans to return to [MC]2 and thinks it’s a great place to see users, suppliers and developers all in one place. “It really is clear that this is a practical, doable, worthwhile technology for almost any shop that’s really looking for a fast payback.”
 

Monday, February 11, 2013

Steve Fritzinger of Net Apps and John Meyer of IBM - [MC]2 2013 Keynotes

The [MC]2 MTConnect: Connecting Manufacturing Conference agenda is shaping up. Among the highlights are two keynotes:
 
  • Processing Zetabytes: The Technologies Enabling Big Data and AnalyticsJohn Meyer of IBM’s Systems and Technology Group will put in perspective where computing technologies have been and how they are adapting to a big data future. Most importantly, John will discuss how industry is positioning itself for a future where massive data analytics will be in common use and how it is applying these technologies for competitive advantage.
  • Manufacturing with Darwin, Moore, and MetcalfeSteve Fritzinger of Network Appliance brings together a unique blend of deep technical expertise and economics knowledge to address problems for clients. Steve is the economics commentator for the BBC program Business Daily. Manufacturing is going through a great deal of change and it won’t be the strongest that survive, but rather those companies that can adapt, scale and connect. In this talk, Steve will describe how trends in software, international trade and education policy will affect manufacturing in the coming decade.
This conference features sessions covering both the business and technical benefits of MTConnect. You’ll also see exhibitors who will feature the latest commercially available products using the MTConnect standard.
 
Visit www.MTConnectConference.com to register and browse the conference agenda.

Sunday, February 10, 2013

Actuate Corporate Visit and Pete's Fisker Karma


This past week I visited Actuate's headquarters.  Actuate is the key MTInsight partner.  Actuate has been a great partner.   Above is Pete Cittadini, President of Actuate, and me in front of Pete's Fisker Karma.   Pete knows I am a car guy like him and he drove his Fiskar Karma when we went out for dinner with Dave Garnett, VP of Products, and Marnie Douglas of Actuate.  Marnie has been and is a great sales rep and a fantastic partner for MTInsight.  The Fisker Karma is a drop dead gorgeous car.


Above is a side view which shows off the car's amazing lines.


Above is a straight on view that shows off just how beautiful this car really is.


Above is the view of the center console screen showing the Fisker Karma getting the equivalent of 170 miles per gallon.

Tuesday, February 5, 2013

Facebook Leaves Sun Microsystems Sign To Remember What Can Happen


I visited my oldest son, John, who is a Software Engineer at Facebook.  Below is a picture I took of Facebook's sign that faces in toward Facebook employees as they leave the campus (if they look toward their left as they leave the main entrance) that Sun Microsystems used to own.  Oracle purchased Sun and Oracle sold the campus to Facebook.  Facebook purposely reversed the sign and left Sun Microsystems on it to remind their employees what can happen when companies to not stay sharp.  I think that is a brilliant idea by Facebook.


Facebook renamed the road from Network Circle to Hacker Way.  The building numbers are the same.   I went in as a guest and Facebook has improved the campus in a number of ways.  It was very nice to see young, smart folks working there and clearly having fun - just like the "good ole days of SUNW".  What was strange to me was how they changed all of the buildings and the cafeteria to be more modern.  I guess I am old school, I like carpet versus concrete floors :-)  I had a chance to see Mark Zuckerberg who was sitting in a meeting in one of the buildings as we walked by after John and I had lunch together.

Best of luck to Facebook!  I really hope they do not turn into Sun Microsystems when Sun got old and lost focus.  Follow Steve Jobs advice from his Stanford 2005 Commencement Address where he quoted The Whole Earth Catalog, "Stay Hungry. Stay Foolish."


Sunday, February 3, 2013

Visiting My Oldest John In San Francisco


Here are some photos of the apartment where John is staying in San Francisco.   I had to wear a Sun Microsystems CTO shirt and bring along my Sun Java leather jacket.  I am having lunch with John at the new Facebook Campus which they purchased from Sun Microsystems on Monday the 4th of February.  John is a Software Engineer at Facebook.


 Dinner at my favorite restaurant in San Francisco - Scoma's




 John in front of his apartment.

Below is John's main room with three bay windows.  It is a great apartment!

Below the photo below of John's bay windows are the views out of John's bay windows - first looking out the left and then on the right.








Above is John's HD tv and the TV stand we built before the Super Bowl.




Above is the view from John's door down his long hallway inside the apartment.


 Above is a view from John's kitchen.


John's bedroom.


John did not have a dresser and had his clothes on the closet floor.  I felt bad for him and bought him a $500 dress that was on sale for $349 at store in Emoryville.  We went to Ikea (my first time there) and I looked at the Ikea furniture and said, "yeah, this is not the quality I was thinking of  and the idea of building this by hand is even less appealing to me, let's find a real furniture store and I will buy you one as a apartment warming gift."  He eventually agreed.  I also paid for air mattress at REI since I would have had to pay for two nights out of my own pocket anyway as I came out here early for an MTInsight meeting on Tuesday.  It was a win/win.


John and I had a few beers and some food at The Chapel Bar in San Francisco.  The bar literally was an old chapel at one point.   We left at half time.






Sunday, January 27, 2013

Running The MTConnect Agent and Simulator on VMWare's Ubuntu


There is often a good reason to have your own agent and your own simulator running for testing MTConnect.  Below is how to do it with VMWare using Linux.  Note that the source code is out at github under MTConnect under the cppagent directory.

The overall key to this is that BOTH the simulator and the agent must be running for this to work AND you must have an Internet connection EVEN if you are running the simulator and agent you will still need access to .xsd file at MTConnect.org

Below is from:  http://www.vmware.com/support/ws55/doc/ws_net_configurations_common.html

Make sure that VMware Network Adapter is set to Bridged (autodetect) and NOT NAT or you will NOT be able to see it outside of the Mac  remember to the ifconfig to get the IP address

If your host computer is on an Ethernet network, this is often the easiest way to give your virtual machine access to that network. Linux and Windows hosts can use bridged networking to connect to both wired and wireless networks.
If you use bridged networking, your virtual machine needs to have its own identity on the network. For example, on a TCP/IP network, the virtual machine needs its own IP address. Your network administrator can tell you whether IP addresses are available for your virtual machine and what networking settings you should use in the guest operating system. Generally, your guest operating system may acquire an IP address and other network details automatically from a DHCP server, or you may need to set the IP address and other details manually in the guest operating system.

If you use bridged networking, the virtual machine is a full participant in the network. It has access to other machines on the network and can be contacted by other machines on the network as if it were a physical computer on the network.

You can install it anywhere you like. if you want to set up an ubuntu tiny you will need the following pieces from aptget:

1. gcc
2. ruby  (had to do an apt-get in order to load this)
3. cmake
4. libxml2
5. libxml2-dev (had to do an apt-get in order to load this)
5. cppunit

create a directory for the build

you need to get libxml2-dev

apt-get install ruby
apt-get install libxml2   (likely will tell you that it is installed
apt-get install libxml2-dev
apt-get update

ubuntu:/MTConnect_Agent_Simulator_DIR#   history |grep apt

     1     12:03     apt-get install libxml2
     2     12:04     apt-get update
     4     12:05     apt-cache search libxml
     5     12:05     apt-cache search libxml2
     6     12:13     apt-get install libxml2-dev
    98     13:03     history | grep apt
#cmake -i  

   * NOTE:  that just doing regular cmake  -- if you just keep hit return on the questions, it will do a proper cmake
   * run this as root
   * I also noticed that you can run cmake -i from the top


#make

Now you can run the simulator using the ruby run_scenario.rb script. There is help built in. The default agent.cfg will also startup using the VMC3Axis.xml devices file and the VMC3Axis-Log.txt file will give you the same scenario as we have on the site. Any other scenarios can be saved by capturing adapter output into a file.

Will Sobel, MTConnect Chief Architect, told me:
"40 students can hit the agent at the same time, probably can support more than 100. if we wanted to have more than than 1000, i would need to rewrite the internals to use epoll and edge-triggered instead of select and remove the service threads with custom context management. never been an issue."


Ubuntu:/MTConnect_Agent_Simulator_DIR# pwd/home/dave/MTConnect_cppagent-version_1.2.0.14_DIR/mtconnect-cppagent-a100593

ubuntu:/MTConnect_Agent_Simulator_DIR# ls

agent             BUILD.TXT        CMakeFiles          lib          README.md      simulator  unix
agent_startup_DIR  ChangeLog        cmake_install.cmake     LICENSE.TXT  README.pdf  test         win32
assets             CMakeCache.txt  CMakeLists.txt     Makefile     samples      tools

ubuntu:/MTConnect_Agent_Simulator_DIR/agent_startup_DIR# ls

agent  agent.cfg


ubuntu:/MTConnect_Agent_Simulator_DIR/agent_startup_DIR# more agent.cfg

Devices = ../simulator/VMC-3Axis.xml
AllowPut = true
ReconnectInterval = 1000

Adapters {
   VMC-3Axis {
      Host = localhost
      Port = 7878
   }
}

# Logger Configuration
logger_config
{
    logging_level = debug
    output = cout
}




NOTICE the two changes in agent.sh that I made (HOWEVER, I did NOT run the agent.sh, just ran the agent directly)


ubuntu:/MTConnect_Agent_Simulator_DIR/unix# pwd
/home/dave/MTConnect_cppagent-version_1.2.0.14_DIR/mtconnect-cppagent-a100593/unix

ubuntu:/MTConnect_Agent_Simulator_DIR/unix# cp agent.sh agent.sh.ORIG

ubuntu:/MTConnect_Agent_Simulator_DIR/unix# cat agent.sh

#!/bin/sh
#
# init.d script with LSB support.
#
# Copyright (c) 2007 Javier Fernandez-Sanguino
#
# This is free software; you may redistribute it and/or modify
# it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2,
# or (at your option) any later version.
#
# This is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License with
# the Debian operating system, in /usr/share/common-licenses/GPL;  if
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
#
### BEGIN INIT INFO
# Provides:          agent
# Required-Start:    $network $local_fs
# Required-Stop:
# Should-Start:      $named
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: MTConnect agent
# Description:       Provides MTConnect web server functionality
### END INIT INFO

# NOTE: I ran this successfully WITHOUT using this schell script, but I did modify in case I need to use it
# I changed below
#
AGENT_DIR=/home/dave/MTConnect_cppagent-version_1.2.0.14_DIR/mtconnect-cppagent-a100593/agent_startup_DIR/
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# I changed below
#
DAEMON=$AGENT_DIR/agent
#
#
DAEMON_OPTS="daemonize $AGENT_DIR/agent.cfg"
NAME=Agent
DESC=MTConnectAgent

test -x $DAEMON || exit 0


. /lib/lsb/init-functions

LOGDIR=/var/log/
PIDFILE=/var/run/agent.pid
DIETIME=10                   # Time to wait for the server to die, in seconds
                            # If this value is set too low you might not
                            # let some servers to die gracefully and
                            # 'restart' will not work

# Include mongodb defaults if available
if [ -f /etc/default/$NAME ] ; then
        . /etc/default/$NAME
fi

# make sure the log directory exists
[ ! -d "$LOGDIR" ] || mkdir -p $LOGDIR

DAEMONUSER=si-admin
# Check that the user exists (if we set a user)
# Does the user exist?
if [ -n "$DAEMONUSER" ] ; then
    if getent passwd | grep -q "^$DAEMONUSER:"; then
        # Obtain the uid and gid
        DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'`
        DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'`
    else
        log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist."
        exit 1
    fi
fi

set -e


running_pid() {
# Check if a given process pid's cmdline matches a given name
    pid=$1
    name=$2
    [ -z "$pid" ] && return 1
    [ ! -d /proc/$pid ] &&  return 1
    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
    # Is this the expected server
    [ "$cmd" != "$name" ] &&  return 1
    return 0
}

running() {
# Check if the process is running looking at /proc
# (works for all users)

    # No pidfile, probably no daemon present
    [ ! -f "$PIDFILE" ] && return 1
    pid=`cat $PIDFILE`
    running_pid $pid $DAEMON || return 1
    return 0
}

start_server() {
# Start the process using the wrapper
        if [ -z "$DAEMONUSER" ] ; then
            start-stop-daemon --background --start --quiet --pidfile $PIDFILE \
                        --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
            errcode=$?
        else
echo $DAEMONUSER

# if we are using a daemonuser then change the user id
            start-stop-daemon --background --start --quiet --pidfile $PIDFILE \
                        --make-pidfile --chuid $DAEMONUSER \
                        --exec $DAEMON -- $DAEMON_OPTS
            errcode=$?
        fi
        return $errcode
}

stop_server() {
# Stop the process using the wrapper
        if [ -z "$DAEMONUSER" ] ; then
            start-stop-daemon --stop --quiet --pidfile $PIDFILE
            rm $PIDFILE
            errcode=$?
        else
# if we are using a daemonuser then look for process that match
            start-stop-daemon --stop --quiet --pidfile $PIDFILE \
                        --user $DAEMONUSER \
                        --exec $DAEMON
            errcode=$?
        fi

        return $errcode
}

reload_server() {
    [ ! -f "$PIDFILE" ] && return 1
    pid=pidofproc $PIDFILE # This is the daemon's pid
    # Send a SIGHUP
    kill -1 $pid
    return $?
}

force_stop() {
# Force the process to die killing it manually
        [ ! -e "$PIDFILE" ] && return
        if running ; then
                kill -15 $pid
        # Is it really dead?
                sleep "$DIETIME"s
                if running ; then
                        kill -9 $pid
                        sleep "$DIETIME"s
                        if running ; then
                                echo "Cannot kill $NAME (pid=$pid)!"
                                exit 1
                        fi
                fi
        fi
        rm -f $PIDFILE
}


case "$1" in
  start)
        log_daemon_msg "Starting $DESC $NAME"
        # Check if it's running first
        if running ;  then
            log_progress_msg "apparently already running"
            log_end_msg 0
            exit 0
        fi
        if start_server ; then
            # NOTE: Some servers might die some time after they start,
            # this code will detect this issue if STARTTIME is set
            # to a reasonable value
            [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
            if  running ;  then
                # It's ok, the server started and is running
                log_end_msg 0
            else
                # It is not running after we did start
                log_end_msg 1
            fi
        else
            # Either we could not start it
            log_end_msg 1
        fi
        ;;
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        if running ; then
            # Only stop the server if we see it running
                        errcode=0
            stop_server || errcode=$?
            log_end_msg $errcode
        else
            # If it's not running don't do anything
            log_progress_msg "apparently not running"
            log_end_msg 0
            exit 0
        fi
        ;;
  force-stop)
        # First try to stop gracefully the program
        $0 stop
        if running; then
            # If it's still running try to kill it more forcefully
            log_daemon_msg "Stopping (force) $DESC" "$NAME"
                        errcode=0
            force_stop || errcode=$?
            log_end_msg $errcode
        fi
        ;;
  restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
                errcode=0
        stop_server || errcode=$?
        # Wait some sensible amount, some server need this
        [ -n "$DIETIME" ] && sleep $DIETIME
        start_server || errcode=$?
        [ -n "$STARTTIME" ] && sleep $STARTTIME
        running || errcode=$?
        log_end_msg $errcode
        ;;
  status)

        log_daemon_msg "Checking status of $DESC" "$NAME"
        if running ;  then
            log_progress_msg "running"
            log_end_msg 0
        else
            log_progress_msg "apparently not running"
            log_end_msg 1
            exit 1
        fi
        ;;
  # Use this if the daemon cannot reload
  reload)
        log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
        log_warning_msg "cannot re-read the config file (use restart)."
        ;;
  # And this if it cann
  #reload)
          #
          # If the daemon can reload its config files on the fly
          # for example by sending it SIGHUP, do it here.
          #
          # If the daemon responds to changes in its config file
          # directly anyway, make this a do-nothing entry.
          #
          # log_daemon_msg "Reloading $DESC configuration files" "$NAME"
          # if running ; then
          #    reload_server
          #    if ! running ;  then
          # Process died after we tried to reload
          #       log_progress_msg "died on reload"
          #       log_end_msg 1
          #       exit 1
          #    fi
          # else
          #    log_progress_msg "server is not running"
          #    log_end_msg 1
          #    exit 1
          # fi
                                                                                    #;;

  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
        exit 1
        ;;
esac

exit 0


ubuntu:/MTConnect_Agent_Simulator_DIR/agent_startup_DIR# ./agent debug
MTConnect Agent Version 1.2.0.14 - built on Mon Jul 30 09:41:08 2012
2012-07-30T15:57:01.307850Z: INFO  [0] init.config: Starting agent on port 5000
2012-07-30T15:57:01.317817Z: INFO  [0] init.config: Adding adapter for VMC-3Axis on localhost:7878
2012-07-30T15:57:01.318606Z: DEBUG [1] input.connector: Connecting to data source: localhost on port: 7878
2012-07-30T15:57:01.325697Z: DEBUG [1] input.connector: Sending initial PING
2012-07-30T15:57:01.362692Z: DEBUG [1] input.connector: Received PONG, starting heartbeats every 10000ms





http://localhost:5000/sample  in the browser  (note port 5000)


ubuntu:/MTConnect_Agent_Simulator_DIR/simulator# ls

run_scenario.rb  simple_scenario_1.txt     simulator.rb  VMC-3Axis-Log.txt  VMC-3Axis.xml

ubuntu:/MTConnect_Agent_Simulator_DIR/simulator# ruby -v run_scenario.rb -l VMC-3Axis-Log.txt
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
Waiting on 0.0.0.0 7878
Client connected

NOTICE ABOVE: 

   * -v is verbose
   * run_scenario.rb   is exactly that a run scenario
   *  -l VMC-3Axis-Log.txt is to run that long file for simulator data



ubuntu:~dave# ln -s /home/dave/MTConnect_cppagent-version_1.2.0.14_DIR/mtconnect-cppagent-a100593 /MTConnect_Agent_Simulator_DIR

 netstat -anp | grep "LIST"  to see what ports are open

ubuntu:/MTConnect_Agent_Simulator_DIR/simulator# netstat -anp | grep "LIST"
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      1328/dnsmasq  
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      4121/inetd    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      595/cupsd     
tcp        0      0 0.0.0.0:7878            0.0.0.0:*               LISTEN      3622/ruby     
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      3627/agent    
tcp6       0      0 :::80                   :::*                    LISTEN      1024/apache2  
tcp6       0      0 ::1:631                 :::*                    LISTEN      595/cupsd  


 to make things easier, here are some simple startup scripts:

ubuntu:/MTConnect_Agent_
Simulator_DIR/simulator# more start_simulator
#!/bin/sh
#
ruby -v run_scenario.rb -l VMC-3Axis-Log.txt

ubuntu:/MTConnect_Agent_Simulator_DIR/agent_startup_DIR# more start_agent_debug_mode
#!/bin/sh

#
#
./agent debug
    






ubuntu:/MTConnect_Agent_Simulator_DIR/simulator# ./start_simulator
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
Waiting on 0.0.0.0 7878
Client connected


./start_agent_debug_mode
MTConnect Agent Version 1.2.0.14 - built on Mon Jul 30 09:41:08 2012
2013-01-27T15:57:13.055418Z: INFO  [0] init.config: Starting agent on port 5000
2013-01-27T15:57:13.060496Z: INFO  [0] init.config: Adding adapter for VMC-3Axis on localhost:7878
2013-01-27T15:57:13.061009Z: DEBUG [1] input.connector: Connecting to data source: localhost on port: 7878
2013-01-27T15:57:13.069044Z: DEBUG [1] input.connector: Sending initial PING
2013-01-27T15:57:13.108968Z: DEBUG [1] input.connector: Received PONG, starting heartbeats every 10000ms

I love how Will sends out a ping and then gets a pong back :-)

Friday, January 25, 2013

Four Year Anniversary of Thanks and Goodbye Evie....

Thanks and Goodbye Evie.

This is the four year anniversary of the passing of my Aunt Evie which was initially posted on Jan 25, 2009

My Aunt Evie passed away on Friday January 16th, 2009 in her home in Zumbrota, Minnesota.

Evelyn Gloria Irene Husbyn was born March 10, 1929, in Minneola Township, Goodhue County.    She grew up on the family farm, attended country school, and graduated from Zumbrota High School in 1947.   On Jan. 17, 1948, she married Stanley "Tat" Thompson in Zumbrota.

Below is Evie and me at my sister's Ph.D. graduation at George Mason University in 2006.  Evie is the lady in the white hair second from the left.



They owned their own businesses and were extremely successful.  I remember working at their Skelly Gas Station in Zumbrota, Minnesota with my cousin Richard Franklin while our Grandpa (Melvin Thompson) would oversee our duties. My Grandpa would give discounts to all customers when they filled up their cars or trucks, but it was a total to mystery to me on his percentage discount logic.    When I asked Tat and Evie on what math logic that Grandpa was using they just laughed.  They told me, "Dave, Pa does not have any logic, he simply makes it up as he goes."   Neither Tat nor Evie would tell my Grandpa to stop, because they knew that it made Grandpa feel good to give the people of Zumbrota a discount on their gas.

Tat and Evie epitomized the smart, caring and cool couple.  
Tat and Evie always had the coolest cars.  There was a time in 1970 when Tat owned a 1969 Dodge Charger R/T that had  7.2 litre engine at 375hp, 0-60 in 6 seconds, 0-100 in 13.3 seconds and top speed of 150mph.  That year and model car was voted the best muscle car of all time.   Evie had a 1970 Ford Torino Cobra Jet that had the 429 cubic inch engine with 370hp, 0-60 in 6 seconds and was Motor Trend's Car of the Year in 1970.   Tat and Evie's love of cars, trucks and motorcycles (Tat owned Harley-Davidson's long before it was fashionable to do so) really created a love of cars, trucks and motorcycles in everyone's lives they touched.   One of my life goals was to have a car faster than anything that Tat or Evie owned.  Finally, at age 42, I bought a Corvette that as faster than anything Tat or Evie owned.  But, Tat and Evie had more cool in their little fingers than I have in my whole body :-)  You can not buy cool.
 My family moved around lot growing up.   When Tat and Evie would come visit us, the excitement level was palpable.  Tat always had a big wad of cash in his pocket.   No one on planet earth knew more jokes or stories than Tat Thompson.  What always amazed me about Evie is that no matter how many times she heard Tat tell a story, Evie would always laugh out loud like it was the first time.  One time when Tat and Evie came to visit I was in the process of buying a 1972 240Z and need to pay cash to the owner so I had $2,100 on me.   After Tat and Evie were there for awhile, I said to Tat, "Tat, I don't have any clue on how much money I have in my wallet right now, but I will bet you $100 that I have more than you do."   Tat said, "well, I don't want to bet you, but let's find out."   Tat had about $700 or so.  After I got to about $1,000 Evie just started laughing.  It was like that MasterCard commercial - pricelesss.

 Evie was extremely smart in dealing with people and had a level of common sense that was unmatched.  Evie's mother, Ida, was the same way.   I remember when I was 18, I was giving Ida a hard time because she had (literally) $3,000 in a freezer in Tat and Evie's cellar.   When I told her that she was not making any interest by doing that, she simply responded with two sentences that put me in my place and I am reminded of that conversation today.

Ida asked me, "Dave, let me ask you one question.  If you went to the bank to get your money and that bank was closed down and you lost all of your money, how long will you remember that day?" With our economy in the toilet and getting worse, I think of Ida's advice often....

Evie will be greatly missed among all who knew and loved her....  

Wednesday, January 23, 2013

Floor Plan Videos For [MC]2 2013 at The Millennium Hotel Cincinnati


Part of any conference, such as [MC]2 2013, there is a walk through to make sure we understand the physical logistics.   Instead of taking pictures and trying to explain what is where, I thought it would be much easier for the exhibitors, vendors, attendees, speakers and the great folks at AMT, who make this conference all happen, to simply be able to watch videos of the different ballrooms, rooms and areas that we are using.

After reviewing these videos, I am convinced this is the absolute best way to see what a given venue looks like.  I really think this will help all of those involved understand the layout to limit the many questions we get on conference physical layout at the hotel.  We are going to include the link to this blog post in the package and on the website to help folks understand the layout.

The hotel we are using is The Millennium Hotel Cincinnati. I was fortunate to get a detailed tour of the hotel and it looks great and the folks at the Millennium Hotel Cincinnati could not be any nicer or more professional! Thanks Maria!

Below is the floor plan of the second floor so when you watch the videos you know exactly what area you are viewing:


Here is the list of videos that will take you through the specific rooms where we are having the various events at [MC]2 2013.

Any questions on this [MC]2 2013 participants, you can send a note to dedstrom  at   MTConnect.org   (Trying to keep the mail spam bots from grabbing my email )

Also, if you have not registered, signed up to be a sponsor or signed up to be an exhibitor, DO IT NOW!!!

CECIMO MTConnect Article

CECIMO is the European Association of the Machine Tool Industries, and they were kind enough to ask the MTConnect Institute to write an article for their Fall 2012 magazine that comes out in both electronic and hard copy.  I am always thrilled to get the word out on MTConnect especially in other parts of the globe as we want MTConnect to truly be a global standard.  My article starts on page 25.





This October marks the sixth anniversary of the conference that laid out the foundation for MTConnect. MTConnect is an open and royalty-free standard that is dramatically changing manufacturing around the globe.

The beginning of MTConnect goes back to the end of 2006, when AMT held its annual meeting in Lake Las Vegas. This is where MTConnect was born. I worked with Dr. David Patterson of the University of California at Berkeley (UCB). Dave and I worked closely together on our back-to-back keynotes, laying out the business and technical framework, and it was there that by AMT – The Association For Manufacturing Technology. decided to fund MTConnect.

What exactly is MTConnect? It’s is an open, royalty-free standard that converts the many different proprietary manufacturing equipment data formats into the common language of the Internet that all applications speak. Think of a protocol as the “rules of the road” on how information will be shared. MTConnect is the Manufacturing Technology Connection between manufacturing equipment and applications. Another way to think of MTConnect is like a “Bluetooth for manufacturing equipment”. Bluetooth works when two different devices support it, such as your cellphone and your car, or your computer and other peripherals. MTConnect works when both the manufacturing equipment and the software applications support MTConnect.

 The diagram below shows how a typical application retrieves information from an MTConnect enabled device on the shop floor. In this diagram, the application could be any application that is MTConnect enabled.  MTConnect enabling an application is straight forward as MTConnect uses proven Internet protocols. The diagram shows the MTConnect agent and the optional adapter. It is this combination that takes the proprietary information from a manufacturing device, combines the information with an MTConnect data dictionary and makes it available for applications to easily retrieve and use.

An area of confusion sometimes is that people think MTConnect is an application such as Microsoft Office. MTConnect is not an application, MTConnect is a standard that connects manufacturing equipment to applications.

Companies, organizations, and even individuals can join the MTConnect Institute for free. Additionally, it is free to deploy the MTConnect standard. MTConnect is also open source. We do this because we strongly believe a common standard is the equivalent of a “rising tide lifting all ships”. In other words, everyone wins when manufacturing equipment can easily be connected. MTConnect Institute members may take the MTConnect protocol and bundle it with their software or manufacturing equipment. They are free to sell it or include free with their software or systems – that is their decision. We have over 100 companies that are MTConnect members with companies joining every day.

Today, only 4 to 5 percent of machine tools around the globe are monitored. MTConnect is changing that and changing manufacturing in countless ways. You cannot manage what you cannot measure and MTConnect is making it very easy for shops and plants to get manufacturing equipment data and therefore manage their business in an intelligent fashion.

Where is MTConnect today in its history? We working on our fourth release and there are many exciting things going on with MTConnect. In November 2011, we had our first ever [MC]2 MTConnect Connecting Manufacturing Conference, which was a huge success. We have made 23 hours of videos available on a number of topics, including help for the first-time MTConnect user, end-user discussions on lessons learned, and even how to write MTConnect-enabled software. I would encourage everyone to go to our site, MTConnect.org, to learn more or MTConnectForum.com to ask questions.

John Byrd, former president of AMT, has said that, “MTConnect will do more for manufacturing in the 21st century than CNC did in the 20th century”. Mr. Byrd is being proven correct every day.

At the MTConnect Institute our mantra is “MTConnect is Different Devices, Common Connection”. As the president and Chairman of the Board for the MTConnect Institute, my final message is that MTConnect is REAL, it is a revolution in manufacturing and you should investigate it today to help improve productivity in your shop or plant!

Tuesday, January 22, 2013

Press Release: Registration Open for [MC]2 2013MTConnect: Connecting Manufacturing Conference





For Immediate Release: January 14, 2013

Contact:
Contact:
David A. Edstrom
Chairman of the Board and President,
MTConnect Institute



Registration Open for [MC]2 2013MTConnect: Connecting Manufacturing Conference

McLean, Va. … Registration is now open for the second [MC]2 2013 MTConnect: Connecting Manufacturing Conference. [MC]2 2013 will be held in Cincinnati, Ohio April 10 11 at the Millennium Hotel Cincinnati.

MTConnect is a set of open, royalty-free standards intended to foster greater interoperability between controls, devices and software applications by publishing data over networks using the Internet Protocol. Since its introduction in 2008 MTConnect has become the standard for manufacturing connectivity. The manufacturing technology community commonly uses MTConnect to connect the shop floor to monitoring applications and to integrate the shop floor with the entire manufacturing enterprise.

The conference promotes both the benefits and implementation of MTConnect, as well as showcasing commercially available products that utilize the standard. Attendees who could benefit from this important event include end users – shop owners, plant managers, industry thought leaders, MTConnect® Institute participants, equipment suppliers, students, educators,software developers, distributors, ISVs, integrators, and consultants.

“[MC]2 2013 will build upon the huge success of the inaugural conference in 2011 where we had industry thought leaders, 175 attendees, numerous speakers, hands-on labs and 24 exhibitors,” said

 David Edstrom, MTConnect Institute Chairman of the Board and President. “MTConnect is a true game changer that is revolutionizing manufacturing and this conference will once again provide business and technical content for everyone who participates.”

To learn more about this event and register, visit www.mtconnectconference.org.


###


AMT – The Association For Manufacturing Technology

AMT – The Association For Manufacturing Technology represents and promotes U.S.-based manufacturing technology and its members—those who design, build, sell, and service the continuously evolving technology that lies at the heart of manufacturing. Founded in 1902 and based in Virginia, the association specializes in providing targeted business assistance, extensive global support, and business intelligence systems and analysis. AMT is the voice that communicates the importance of policies and programs that encourage research and innovation, and the development of educational initiatives to create tomorrow’s Smartforce.  AMT owns and manages IMTS — The International Manufacturing Technology Show, which is the premier manufacturing technology event in North America. www.AMTonline.org

###
Note to the Media: Registration to the [MC]2 2013MTConnect: Connecting Manufacturing Conference is complimentary for the Media.