Windows 10 Technical Preview Rocks!!!!!!

I have been using Microsoft Windows really since the beginning.

I will show my age but I remember running Windows 1.0 on my IBM PS2 in 1989!!

I have had a “Love Hate relationship” with Windows ever since. I have been in some type of Information Technology since 1996 and have been doing beta testing or Technical Previews for many many years.

I remember using a Windows 95 beta Operating System and having to install it almost every day at first because I was compiling a Visual Basic 4 Application.

However I have been doing a Technical Preview with Windows 10 since they first released it and I have to admit this:

THIS IS THE BEST OPERATING SYSTEM I HAVE USED FROM MICROSOFT!!!!!

Again remember this is a Technical Preview which is not even the fully released Operating System. And I will YELL it again:

THIS IS THE BEST OPERATING SYSTEM I HAVE USED FROM MICROSOFT!!!!!

Now another amazing thing I have to admit is that Windows 10 Technical Preview has been running on a Parallels Virtual Machine on my Mac OSX!!!!!

The Windows 10 Operating System has some great features in the UI and also is Rock Solid as far as functionality!!

I have my Start menu pinned with my most used applications and I love the clean look and quick launch of my apps with out cluttering my Desktop!!

image

I have also found that the right click on the start button will produce a list of really fast short cuts that improves performance of on everyday task shown below:

image

The overall is that Windows 10 is a solid running Operating System that has abilities to improve performance!! I have never had the Technical Preview even crash!!!

This is a must for anyone wanting a solid running Operation System!!! Especially since the upgrade is FREE found here:

image

I hope you all enjoyed this blog post and remember to please follow my blog @ http://allangagnon.nettryx.net.

JavaScript at highest position ever!!!

Fellow developers please understand HERE IT COMES!!!

Based on the TIOBE Index for February 2015 JavaScript has traveled 3 places in the index since February of 2014 shown below:

image

JavaScript is on fire and is coming “Faster than a speeding bullet”.

Each of the following should be at least be on your tracking and following list: TypeScript, Node.js, React.js, io.js, Angular.js and millions more and more have been made while typing this sentence!!

I have been working with Node.js / io.js to familiarize myself with the concepts and development paradigm to learn some coding practices and standards.

I have been a avid customer and supporter of the Pluralsight for years and have been trying to improve my skill set in all directions. “Jack-of-all Trades, Master of None”. I have seen some great videos from Scott Allen, Dan Wahlin and many others that have shown some great applications from JavaScript!!

I decided that I needed to develop an application that would be a created from scratch, an application that would help me understand and use Angular.js.

Well here is my attempt to develop that using an application that I have used before by developing an application in Backbone.js found here on my github account.

I decided to develop this application in a Angular.js format and my best understanding so far of “Best Coding Standards and Practices”. I am by no means an expert on this yet so please understand this could have some issues.

For a better understanding of “Best Coding Standards and Practices” please follow and check out Pluralsight. They are by far the best thing that I have ever done for my career and also to improve my skill set. “NO REPLACEMENT!!!”

Ok enough about me and on to the Angular.js application that I have created.

I will be using Sublime Text 3 as my development environment for this application.

I will place my code on to my github account here also if you want to use it as a reference.

I first have structured my code in the way that I have found works best for me also learned on Pluralsight. This seems to be somewhat simple but really powerful as well, the structure is shown below:

image

I first developed the root Birthday folder and then created subfolders of: css, fonts,  js, lib, and finally the birthday.html file. The css and fonts should be self explanatory, the js folder is my JavaScript files I create, and finally the lib folder is the external libraries I have downloaded to use in this application shown below expanded.

image

The first file that I wanted to show is the birthday.html file I have created. Again this will be found in my github account also here:

image

This file is basically a HTML5 file that has basic html structure with a additional Twitter Bootstrap css for layout, and the improve the look of the page. The other thing that is added to this HTML file is the Angular.js, jquery, and my app.js and rectanglecontroller.js files.

In this application this is the View of the MV* Model / View / * (or Whatever).

Next I developed the app.js file that will be the definition of the module that I want have in my application. This gives the ability to develop a modular based structure in the application that will allow for “small do one thing well” process or module.

The app file is very small and is basically used to bootstrap the Angular.js application shown below:

image

Next really is the crux of the application that is basically the Model and Controller of this application. The model is defined in the rectangle controller and then I have functions that are encapsulated in the Model shown below:

image

Now the controller for the application that creates the Rectangles and has the order by function that does the work for Alphabetize and Numerical button.

image

Basically the simple application creates Rectangle Birthday Blocks on the HTML5 application that is dynamically generated with a ng-repeat Angular loop. After the Birthday Blocks are created then the Alphabetize and Numerical buttons will allow for you to sort the blocks. The Alphabetize and Numerical buttons will also do full reversal of the blocks if clicked again. You also have the ability to choose any Birthday Block and it will change color to show the selection. When you select another block the first one will revert back to original color and then new selection will change colors. The page is shown below:

image    image

image

image

In summary this is my attempt to start to develop an application that is based in the Angular.js, Bootstrap and HTML5 world of development.

There is no time like the present to start learning JavaScript it is coming an essential part of a Developers required toolset or skillset.

I hope you all enjoyed this blog post and remember to please follow my blog @ http://allangagnon.nettryx.net.

IOT/M2M is easier with Node-RED!!

Node-RED – A visual tool for wiring the Internet of Things.

Node-RED is an application that allows for the simplicity of creating, and wiring hardware devices, developing API’s in a Graphical User Interface that is amazing and FUN!!

I will start out by showing how to install the Node-RED application on Mac OSX  and then give some examples of how to get this up and running.

First we will install io.js on our Mac by visiting the io.js site here.

From that link you will see this image below and you will need to select the version of io.js you need for your operating system you will be installing this on.

I will show you for a Mac OSX which is the link shown by the green arrow below:

image

The advantage of io.js I have discovered is that on Mac and Linux I don’t even have to uninstall the version you have, so far the previous version is just updated to the current version. If however you want to have multiple version you need to run NVM shown in a blog post I have done here.

Once you select the Mac Download you will need to track where you download and then install it by clicking the icon shown below:

image

This will start the installation of the io.js application installer shown below you will just need follow the screen shots below press the button shown by the green arrow.

image

image

image

On this screen you will need to select the “Install for all users of this computer” shown by the red arrow and then again press Continue shown by the green arrow.

image

image

image

This will successfully install io.js on your system to really start diving in to the cool Node-RED.

The next thing we need to do is press the Command Key shown by the Red Arrow and then hit the Space Bar shown below by the Green Arrow:

image

Next type in “terminal” in the Spotlight Search as shown by the Green Arrow and press enter to open a terminal window.

image

After the terminal window opens up type in the following:

cd /

Then we will need to make a directory so that we can download the Node-Red application in.

sudo mkdir Development

Then we need to create a Node-Red Folder in the Development Folder shown below:

cd /Development

Once in the Development folder type the following shown below:

sudo mkdir NodeRed

Then we need to download the Node-RED application here by finding the red button shown below:

image

Make sure you download the application to the folder NodeRed we created above.

From the terminal window you will need to change to the NodeRed folder by typing the following:

cd /Development/NodeRed

Next we need to unzip the Node-RED zip file with the command shown below:

unzip node-red-0.10.1.zip

Once you have the Node-RED file unzipped it will create a folder and we will need to change directory in to that folder to do the install instructions for the  (npm) Packages.

This will change to the new directory that where we will be able to complete our install of the necessary packages.

cd /node-red-0.10.1

Once we are in the folder we need to now do the Package install shown below:

sudo npm install --production

I did however have an issue with the install with this issue:  “Failed at the serialport@1.4.10” I am not sure what is happening there and will try to investigate this soon and do a update soon.

I also did an install of the mongo dB package so that it was there when needed once I start using the database nodes later.

The mongo dB package can be installed with the following command shown below:

sudo npm install mongodb

Now that this is all complete we can start using Node-RED and begin to start having fun using a “Visual tool for wiring the Internet of Things”!!

Now we need to start Node-RED by using the following command shown below:

iojs red.js

This will give you a address the server is running the “Default” is the following:

Server now running at http://127.0.0.1:1880/

Now all you have to do is go to the link in your browser window as shown below:

image

If everything goes well you should see the following in the browser window:

image

A quick tutorial with Node-RED is to drag on a “inject” node from the input section, a “debug” node from the Output node, and finally a “http request” node from the function section and align them as shown in the picture below:

image      image     image

image

Now if you click on the connection dots that are on each one you will be able to drag and visually connect each one of them to one another such as shown below:

image

Next we will double click the http request block and you will see a edit window shown below and you will need to fill the block out the same way as I have it or something very similar:

image

Next we need to double click the debug node and edit that as shown below:

image

When complete you should see the following shown below:

image

Now click on the box that is in front of the inject node shown below:

image

Once you have clicked the inject button you should see the process flow through the nodes and finally on the right hand side in the debug tab you will see the following:

image

This is a very simple example but I hope you can see the complete power that is able to be developed. This is really powerful and amazingly simple development visually!!

I hope you all enjoyed this blog post and remember to please follow my blog @ http://allangagnon.nettryx.net.

Free 3-device Cloud VPN you must try!

The cloud services are growing by the day these days and most of them are making life as we know it easier with major advantages.

Pertino is really cool and will give you the ability to have a free, yes I said Free 3-device Cloud Based VPN for your Small Business or Home Office.

From here you can fill out the form below and receive a free 3-device Cloud VPN!!image

This product allows for the install of almost any Operating System you can think of shown below:image

Once you have downloaded and installed the software required for your operating system you can then Login and you will be taken to a very interesting Dashboard.image

This Dashboard will show you the Members Online, Devices Online and finally the Total Devices you have connected. At the bottom of the Dashboard is a PeopleView, DeviceView, AppScape, MyApps and Settings buttons shown in the above photo.

Once you have your 3-devices connected you have the ability to use the Devices Online to see the devices that are online and able to be accessed via a Cloud VPN. Here is an example of my Devices with a redaction of information that is private.image

With the Hostname that is shown on your DeviceView you can copy and paste that in to a Remote Desktop connection application and instantly connect to your device even when you are not connected to the Local Area Network.

Pertino seems to be very powerful easy to use and again Free for 3-devices!!

Check this out and sign up for your free Cloud VPN!! You can’t go wrong with free!!

Thank you and please follow my blog!!

Is Free Wi-Fi worth your Identity?

Question: Is there a cost to Free Wi-Fi?

Answer: The cost could be free malware, rootkits or even worse your Identity being stolen.

I have had 3 clients that have been hacked using free Wi-Fi, one of the clients were using a free Wi-Fi from a national hotel chain.

Using a free Wi-Fi can be dangerous in ways of simple Packet Sniffing, or even worse Man In The Middle Attacks. This will allow a person to at worse monitor traffic and information being sent and delivered to your computer. They also have the ability to possibly change or inject new messages in traffic flow. Last year’s hacks were some of the worst attacks on Corporations so it seems impossible to stop all hacking attacks.

However I want to show you a possible way to create a Small Business or Home Office VPN that will help to protect you when using the internet and connecting to your Local Area Network. Again this is not a guarantee for protection but will improve your security and does initiate a PPTP VPN to help with protection.

I have been using and working with Mikrotik routers and have found they are really powerful for a very good price. They have a RouterOS that allows for complete configuration and control of the Firewall, Network Address Translations as well as Setting up multiple VPN’s. The RouterOS6 is based on the Linux-3.35 with a very friendly user interface and amazing documentation found here.

I am going to demonstrate the Updated RouterOS6 functionality and complete simplicity of developing a VPN that is able to be used on almost all Operating Systems you have including Mobile Devices. Based on an Amazon quick search you will find many version of Mikrotik Routers and they are some that the price is amazing for the complete functionality that you will receive from this product!!

Once you receive the Mikrotik and unpack it you will need to look at the bottom of the box for the instructions to connect to the system the first time shown below:

IMG_0518

So once you have connected Port 1 to the Internet Cable and then connected a computer to Port 2 of your Mikrotik router you will need to verify you have received a IP address from the DHCP Server that is running on the Router. (Hint: you may have to wait a few seconds for the IP address to be assigned.)

Once you have received the IP Address from the router you will need to open a browser and type in the address: http://192.168.88.1 as shown below:

image

Some times I get the browser to Login In with out seeing the Screen above however some times it will show you the above screen. If you see this screen you should already see the Login: is set to “admin” the password is blank by default shown by the red arrow. Finally you will need to press the login button shown by the Green Arrow above.

Once you have completed the post above you will see the Quick Set Page which is new in the RouterOS6. This page really is a simple setup for major functions of this router. I can tell you this is really powerful for simplification on setting up your router the way you need to have it. The Quick Set page is shown below:

image

From here we will be doing all our setup to accomplish our goal of a VPN for our Small Business or Home Office. The first thing I would suggest is that we need to change the Password of the “admin” user this can be accomplished by setting the password in the Red Box shown above, then when complete press the Apply Configuration button shown by the Green Arrow. After this change you will need to refresh your browser and enter the password in the Password section of the login page. (See the 2nd photo of this blog as an example of the page where the password is needed.)

Once you have changed the password of the router that will protect from others being connected to the router either locally or trying to hack in remotely. We are now going to set up the VPN Access of the Router. This will require the following steps with the associated photo shown below:

  1. Enable the VPN Access by placing a Checkbox shown by the Red Arrow.
  2. Type in the VPN Password you want to use for connecting shown by the Green Arrow.
  3.  Press the Apply Configuration button shown by the Yellow Arrow.image

This is basically all you need to do for the Router! Very simple yet very powerful. Now all you need to do is setup a PPTP connection on your computer or iPhone.

To Setup a PPTP VPN on windows machines you will use the icon in your control panel as shown: image

Then click on this icon: image

This will take you to this screen:image

You will need to choose the Connect to a workplace connection option shown by Red Arrow, and then press the Next button shown by the Green Arrow shown above.

image

Next choose No, Create a new connection shown by Red Arrow, then press the Next Button shown by Green Arrow shown above.

Next choose “Use my Internet Connection (VPN)” option shown by the Green Arrow shown below:

image

Next you will put the VPN Address shown below in the Green Box with the Green Arrow in the Internet Address of the Connect Workplace Internet address Box shown below by the Green Arrow. Also name the Destination Name to correlate to the VPN you are setting up shown by the Red Arrow below, and Next press Create button shown by the Yellow Arrow shown below:image

image

This should place the VPN in the Charm Bar if you are on a Windows 8 or Windows 10 Version of Microsoft where you can press the Connect Button as shown below by the Green Arrow.

image

Finally you will need to type in the VPN User as shown by the Green Arrow, and VPN Password as shown by the Red Arrow shown below. Then finally press the OK Button shown by the Yellow Arrow.

image

This will of course need to be used out side of your Local Area Network because you will not be able to connect to the PPTP VPN from inside your current LAN. You will also have the ability to setup a PPTP VPN on your Mobile phone.

This should be all you need to have a fully functional PPTP VPN on your Small Business or Home Office. For as little as approximately 70 dollars you can have a piece of mind that you are helping protect your self from Man In The Middle attacks and help improve the change of stopping Identity Theft.

With the simplicity and protection this could provide this seems to be a great idea!!

Thanks and please follow my blog!!

Installing io.js JavaScript I/O on Ubuntu

I have been wanting to install io.js on my Ubuntu system for a while so I figured I would create a blog to maybe help some one else.
    • io.js should always be shown as lower case letters
    • io.js is a fork of Joyent’s Node.js ™
    • io.js is fully compatible to the npm package manager for javascript
    • io.js suggest they will be providing faster and predictable release cycles
    • io.js suggest they will operate under a “open governance model”
    • io.js is using SemVer (Semantic Versioning Specification)

I want to use nvm to manage and control multiple versions of node.js and now io.js.
So lets get started by selecting the Dash icon Dash on your desktop and then type “terminal” and then click on the Terminal Icon as shown below with the green arrow:
Terminal
The first thing I do before installing anything on my machine is to first to an Advanced Packaging Tool (APT) update and upgrade.
This is shown below in the code snippet:

sudo apt-get update

sudo apt-get upgrade

Then we need to make sure your system has a c++ compiler we can do that with the following shown below:

sudo apt-get install build-essential libssl-dev

After that is complete we can now need to make sure that we have the cURL command line tool for Linux again shown below:

sudo apt-get install curl

Now we should be able to use curl to get the latest version of nvm, at this time the version was 0.23.2 you may need to change that when the version updates shown below:

When this is complete you should see “Close and reopen your terminal to start using nvm”.

We will use nvm to install io.js on now using the following command shown below:

nvm install iojs

When that is complete you should see “Now using io.js v1.0.4. (This is the latest version at this time, you may see a newer version depending on version updates).

Now we need to start using the Read-Eval-Print-Loop (REPL) program.

We can get this REPL version by typing the following command shown below:

iojs

This will produce a the following > caret.

>

At the caret we can type in some of the following information for testing io.js REPL.

To start testing io.js REPL we can type in the following after the > caret.

> 1+3

Now press the enter key and you should see the following:

> 1+3

4

Finally we can test another example by typing the following:

> myarray = [‘a’, ‘b’, ‘c’];

Press Enter after entering this and you should see the following:

[‘a’, ‘b’, ‘c’]

Finally type in the following line shown below:

> myarray.forEach(function (v){console.log(v);});

This will produce the following lines shown below:

a

b

c

This blog post was a beginning set of blog post to help others install, and begin to install io.js on their Ubuntu Linux machine.

I will work on trying to continue to give examples of io.js and develop other applications soon to show the complete functionality that will help explain io.js.

Please keep checking back to see other tutorials soon.

NetTryx’s New Command Center

I have been reading a wonderful book that has got me a new inspiration on developing, improving and sharpening my skill set. This book (Soft Skills: The software developer’s life manual) is a product of Simple Programmer, and author John Z. Sonmez. I have watched and followed his work on Pluralsight as well have followed his blog and email messages. I have started to setup and develop my NetTryx Command Center for creating a solid work environment to continue my consulting work and also improve my skill set. I have not yet completed the book however have begun to start putting some of the inspiration to work for me as I go along. This book as of chapter 12 has already jumped to the top of my “Great books of all times” list.

One of the first steps John suggest in this book is to create a blog. Well I have had a blog for a while however I have not been what you call an avid blogger at times. I have now started to clean up and reface my blog. I have took Scott Hanselman’s advice on his blog page on using Live Writer to begin to start publishing more frequently. Again thanks John Z. Sonmez and Scott Hanselman!!!

I have created and setup a Man Cave or NetTryx Command Center to begin to help improve my blogging, skillset as well as working on my new found love of the M2M/IOT toys and hobbyist equipment I have been collecting. I am working on developing some blogs on some of the fun stuff I am doing and will post them when that work is done. So back to the Man Cave / NetTryx Command Center I have servers, Windows, Linux and of course Mac OS X. I have setup two Raspberry Pi’s and will finish my Beagle Bone Black very soon. Here is a sample of what it looks like so far!!

IMG_0510

So in summary, I want to thank John Z. Sonmez for the all inspiring book “Soft Skills” and Scott Hanselman for the amazing blog he is always willing to share to make all of us try to gain half the knowledge he has!! Do your self a favor if you are a software developer and follow Scott Hanselman’s blog and buy an amazing book to improve you as well as your “Soft Skills”!!

Has Life, Cancer or IT ruined my Jack-of-all Trades ability?

Has Life, Cancer and the Speed of Information Technology destroyed my ability to be a Jack-of-all Trades Master of None?

With the speed of Information Technology (IT) and the diversity of all technologies intertwined with life the ability of being the Jack-of-all-Trades Master of None for me is ending at an enormous rate.

For over 15 years I have had the ability to constantly learn the bleeding edge of technology and be able to truly be a version of a real life Jack-of-all-Trades. However with the speed of change in IT I am beginning to think that this type of ability is increasingly becoming impossible to do. I spend an enormous amount of time in the world of technology because I have no children and my girlfriend understands that I genuinely love to learn and am very flexible to this process.

10 years ago this July I was first diagnosed with Lymphoma cancer and after doing chemotherapy I was only surprised to have the news in April of the next year that the cancer was back or I have a new cancer. With the process of life getting in the way from trying to survive medical issues I still had the ability to spend waking hours trying to stay on the bleeding edge of technology, keeping my Jack-of-all-Trades Master of None alive. I have somehow been able to find my calling in life and really truly enjoy and love my profession. I have had the capability to travel the world and see some amazing places, met astounding people and have had the opportunity to develop products for many diverse industries. With the scenario of “real life” hitting me to the tune of fighting cancer and developing an attitude of survival I still had the ability to continue to improve or keep on my life’s path of Jack-of-all-Trades.

However with the process of now getting back into shape from years of medical issues I now find it extremely difficult to remain successful as a Jack-of-all-Trades Master of None. I believe that Life has not completely got in the way because I do spend a great amount of time still learning, trying new development and experimenting on multiple Information Technologies avenues. But with the diversity and shear mass of change influx in the world of Technology the process is becoming almost impossible to claim I am a Jack-of-all Trades Master of None.

Does everyone else feel that the Jack-of-all Trades Master of None can still survive?

Are Life, Survival and the process of returning to an athletic healthy lifestyle really getting in my way?

Thank you Lance Armstrong for Cancer Awareness!!

Thank you Lance Armstrong for Cancer Awareness!!

Meteor is an open-source full web platform.

https://www.meteor.com/main

Meteor is a really cool web platform that has an amazing functionality built in to allow for the full development of an entire web application all in one framework.

The amazing part of this application web framework is that it is all Pure JavaScript. You will use JavaScript on the Client Side as well as JavaScript on the Server Side. The server side software runs in a Node.js container within a single thread per request. This is not the norm with Node.js usually because most Node.js server applications are most of the time a asynchronous process.

Meteor uses a HTML Template engine called Spacebars, which is very similar to the well know Handlebars. The Spacebars engine is a main part of the Meteor application that will allow you to have instant updates with amazingly fast updates. This instant updates is very similar to using SignalR. This engine has the ability to develop looping constructs that will allow for querying database data.

Meteor has an application programmer interface that will allow you to develop and use database in both the Client Side as well as the Server Side. The main thing is that you use the same type of programming or code to utilize data from the database.

Meteor has a process of updating the User Interface with temporary update that is expected however if the results are different the application will fix the actual results to the User Interface.

Updates are simplified when the application will be updated and the database data will be stored and kept while updating the version of database and application. This can be done on a live site.

There is a folder structure that can be followed that will be used to control viewing of code and programs as well as a restricted application space that will be used to help control private code and development.

Meteor is very simply zipped up to an all in one application that can be transferred to many web hosting companies on the web.

Meteor utilizes a DDP protocol that uses Data exchanges within the application with a Restful process that will allow you to transfer data to listening endpoints.

Meteor has its own package management that is used to develop and reuse already created functions and software that has already been written.

Check out this fully functional web platform that allows for development of complete application using JavaScript while giving you a upgrade path as well as database functionality on both client and server.

https://www.meteor.com/main

M2M Developer’s Workshop

I went to a M2M Developer’s Workshop held by Verizon Wireless on Wednesday.

This workshop the was very informative on the requirements and steps you need to develop a M2M product using Verizon’s Cellular network.

Verizon has some really interesting sites and information that will help companies and individuals develop and create product lines for the M2M/IOT Revolution.

An interesting sites that Verizon has for the M2M products are this one:

http://www.verizonenterprise.com/products/m2m/management-center/ 

This has a site has a good video that has a ton of information about Machine 2 Machine:

M2M Management Video

Verizon also has a very informative developers site:

http://m2mdeveloper.verizon.com/build/getting-started

As well as a community site that has an enormous amount of help and information on API’s and Tools that are available for the public.

I think that one of the most interesting and really cool sites they have is these two sites:

https://opennetwork.verizonwireless.com/devicesShowcase.aspx

and

http://innovation.verizon.com/

Verizon is dedicated to the M2M/IOT Revolution and is willing and able to help improve your product development as well as get that product online!!

Check out the above sites and if you have a product in mind contact your local Verizon Representative as early as possible to see how they can help!!

%d bloggers like this: