Saturday, August 27, 2016

Setting up the VMWare Client for Northern Kentucky University on Linux (Ubuntu 14.04, 16.04 & 18.04)

As I am teaching the Advanced Business Programming (BIS 305) class at NKU this Fall semester and only have one Windows system, I thought it good to get the VMWare client setup on my Linux systems so that I can access the College of Informatics Lab VM and use Visual Studio 2015 in grading assignments, etc. 

For you other Linux users, here are the steps:
First run command below to active the TUN module:

$ sudo /sbin/modprobe tun

Next, install OpenConnect in order to connect to NKU's VPN:

$ sudo apt-get install openconnect
Now let's download and install the linux VMWare Client from the download site which is at the time of this writing at:
https://my.vmware.com/web/vmware/info?slug=desktop_end_user_computing/vmware_horizon_clients/3_0

After downloading the file appropriate for you linux distribution, change into the directory where you downloaded the client bundle file and do the following in that directory from the command prompt substituting the name of the file:

$ sudo sh *filename*.bundle
Also at the time if this writing the 64bit client download was named: VMware-Horizon-Client-4.8.0-8518891.x64.bundle. Accept the default setting as you move through the installation.

Next, to connect to the NKU VPN run:
$ sudo openconnect vpn.nku.edu
Here is what is output to the terminal (again at the time of this writing):
POST https://vpn.nku.edu/
Attempting to connect to server 74.143.180.100:443
SSL negotiation with vpn.nku.edu
Server certificate verify failed: signer not found

 Certificate from VPN server "vpn.nku.edu" failed verification.
Reason: signer not found
Enter 'yes' to accept, 'no' to abort; anything else to view:
From here enter the word: yes
You will see the above again as you will be redirected to another VPN server. Once you press Enter the 2nd time and after answering "yes" the output to the terminal continues as:
Connected to HTTPS on vpn.nku.edu
XML POST enabled
Please enter your username and password.
GROUP: [sslgroup_users|vpn_test]:
From here enter the word and then press Enter: sslgroup_users
The output to the terminal then continues as:
POST https://vpn.nkuedu/
XML POST enabled
Please enter your username and password.
Username: YourUserNameHere
Password: YourPasswordHere
POST https://vpn.nku.edu/
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
RTNETLINK answers: File exists
Connected tun1 as 10.150.128.40, using SSL
Established DTLS connection (using GnuTLS). Ciphersuite (DTLS0.9)-(RSA)-(AES-256-CBC)-(SHA1).
Keep the terminal window open while the VPN session is active. Network resources should now be available. To close the VPN session, press Ctrl+Z in the terminal window. Abruptly killing the terminal window without properly closing out of the VPN session can lead to issues when attempting to reconnect in the future. 

From here you are connected. Now open the VMWare Horizon Client (from a new terminal at the command prompt enter: vmware-view), in the VMWare Horizon Client set the server URL to view.nku.edu, login with your NKU user credentials, and enjoy.

Some information taken from: http://ubuntuhandbook.org/index.php/2014/11/connect-cisco-anyconnect-vpn-ubuntu/

Friday, June 17, 2016

Editing Websphere Generic JVM Argument Settings without Websphere Running

I was working with Websphere 8.5.5 locally on my system as I am in the process of developing a web service that will be deployed to a production Websphere server. In short, I switched the Java SDK to an IBM implementation for both code compilation as well as the Websphere runtime and wanted to add some property settings to the server JVM to accommodate some differences in the IBM SDK from the previous SDK. Here are the steps that I took:

  1. I went to the Administration Console and selected *Servers* 
  2. Expanded *Server Type* and selected *WebSphere application servers * 
  3. Clicked on the name of my server. 
  4. Expanded *Java and Process Management* and selected *Process Definition.* 
  5. Under the *Additional Properties* section, clicked *Java Virtual Machine.* 
  6. Scrolled down and located the textbox for *Generic JVM arguments*. 
  7. It was there that I added the arguments.

I then attempted to restart the server only to note that it kept timing out before it would start. Now I had a dilemma in that in order to remove the JVM arguments that caused the server not to start the server had to start! A quick look into the app server's files I was able to find where the JVM settings are stored and therefore where I could remove the settings in order to allow the server to start.

Going to the  AppServer\profiles\AppSrv01\config\cells\ServerNameHereNode01Cell\nodes\ServerNameHereNode01\servers\server1\server.xml file, there is the genericJvmArguments node with the settings in the jvmEntries node.

After removing the settings, the server started successfully. At least now I can research which JVM setting was the culprit and adjust accordingly without hosing my local Websphere installation.

Thursday, June 16, 2016

How to add a Custom JAR to a Maven Project

I know that this is old for many but it is new for me and so I am posting it. :-)

When working with custom JARs and Maven you will need to install them into Maven to reference them from the Project Object Model (POM) file.
Here is what you do at the command line:
 mvn install:install-file -Dfile="C:\Java Projects\MyProject\Marks-1.0.0-SNAPSHOT.jar" -DgroupId=fyi.m2.java -DartifactId=Marks -Dversion=1.0.0 -Dpackaging=jar -e  


Within the POM here is the dependency setting:

1:  <dependency>  
2:     <groupId>fyi.m2.java</groupId><!-- DgroupId -->  
3:     <artifactId>Marks</artifactId><!-- DartifactId -->  
4:     <version>1.0.0</version><!-- Dversion --> 
5:   </dependency>  

Now the JAR is included in the Maven Dependencies.

Saturday, May 21, 2016

A Positive Approach to the Status Meeting Second Question

We have all attended them.  You know... those meetings where we have to give status updates for the current progress on the project on which we are working. The typical scenario is the project manager going around the room asking everyone one by one about their current status, if there are any roadblocks, and what percentile of the effort is complete. All is well until there is a more specific question is asked of us concerning the above. Could it that we think our skills are called into question when there's a second follow-up question? From the facial expressions and body language often displayed to outright conflict exhibited, we really don't have a problem when asked what is the status of our tasks. It's when there's a second follow-up question asking for more detail.

The fact is we all need to work to not think that the second question is calling your ability and or skill and/or know how into question. Maybe, as in all human relations, we should assume the best in the person asking the question. It could be that they're trying to help us? Perhaps they are trying to smooth out our way by wanting to know who they could contact on our behalf, or get us the necessary tools and information we need?

If we approach it this way, perhaps we will have a much more pleasant and productive time together?

Friday, March 11, 2016

Free MeteorJS hosting is dead...long live free MeteorJS hosting.

Just got an email yesterday from meteor.com that read, "We know many of you have enjoyed the Meteor.com free hosting service. In a perfect world with infinite resources, we’d invest to keep this separate legacy infrastructure up and running. Unfortunately, delivering free Meteor app hosting has become extremely expensive and technically unsustainable. If there is a cost effective way to deliver free Meteor app hosting in the future, we may explore it but it’s not on our roadmap. For now, we’re 100% focused on making Galaxy the best deployment option for professional Meteor developers."

Meteor.com has provided a great service for learning MeteorJS. Also to their credit, within that same email, they state, "If you’re only looking for free hosting, we recommend using a combination of free services from Heroku and MongoLab. Here are links to some community article...." and offer a link to Philipp Müns' post on how to deploy a meteor app to Heroku's free hosting for developers at http://justmeteor.com/blog/deploy-to-production-on-heroku/

In short, the post is well written, succinct, and easy to follow. My thought is this post will get visited a good deal now that meteor.com is no longer offering free hosting for developers. Oh well...change is one of the few constants in our space, time, and matter environment. Free MeteorJS hosting is dead...long live free MeteorJS hosting.

Saturday, January 23, 2016

What Code Should You Learn?




I have been teaching a Visual Basic.Net class at a local university, Northern Kentucky University, both last and this semester.

I just posted this announcement to the students:
 
I got an email this morning that contained a link to an infographic that I though might interest you concerning what programming languages should one learn and what the job market is for that language. Here is the link:http://wiht.link/learncodeguide.

While Visual Basic.Net (VB.Net) is not mentioned specifically, ASP.Net Active Server Pages.Net is highlighted. As stated in that section of the infographic, "You can mix and match programming languages within ASP.NET...." VB.Net is one of those languages. Also, note that the average annual salary for ASP.Net developers is among the highest :-) As I always say to co-workers and students, "Let's write some code!"