Wildfly Example galore here:
https://github.com/wildfly/quickstart
JBOss EAP example galore here https://github.com/jboss-developer/jboss-eap-quickstarts
Latest Wildfly documentation https://docs.jboss.org/author/display/WFLY/Documentation. Wildfly can be downloaded here http://wildfly.org/downloads/
Excellent book here
with associated code https://github.com/packt-wildfly/packt-java-ee-7-code-samples
This book can be useful: Advanced Java EE Development with WildFly
For Eclipse Oxygen, you might want to install (EClipse Marketplace) the JBoss Tools https://tools.jboss.org/
https://developer.jboss.org/wiki/MavenRepository
Interesting book Wildfly cookbook https://www.packtpub.com/networking-and-servers/wildfly-cookbook
Monday, August 28, 2017
Saturday, August 26, 2017
Getting started with OpenShift
you can try installing on your local machine: install Vagrant https://www.vagrantup.com/downloads.html
install virtualbox https://www.virtualbox.org/wiki/Downloads
clone this github repo https://github.com/openshift/origin and vagrant up... good luck! On Windows the clone fails because of a filename too long issue (hello Microsoft???? ) .
Another way is to test directly on AWS:
https://aws.amazon.com/about-aws/whats-new/2016/06/red-hat-openshift-on-the-aws-cloud-quick-start-reference-deployment/ , go through the AWS guide "red-hat-openshift-on-the-aws-cloud" https://s3.amazonaws.com/quickstart-reference/openshift/doc/red-hat-openshift-on-the-aws-cloud.pdf and discover that this quickstart is no longer available (hello, Amazon??? Why don't you tell it on the home page?? ).
Check out on https://aws.amazon.com/quickstart/ for available quickstarts - there is no Openshift quickstart! This world is a chaos, a Cambrian explosion of products which end up in a total mess, fish with wings and trunks like elephants, and survive only one generation or the space of a few months.
About AWS, I discover another document https://access.redhat.com/documentation/en-us/reference_architectures/2017/html/deploying_openshift_container_platform_3.5_on_amazon_web_services/ but it's a bit long reading...
Anyway in the meantime I discover that the Vagrantfile VirtualBox approach has been DROPPED https://blog.openshift.com/goodbye-openshift-all-in-one-vm-hello-minishift/ in favour of Minishift (one more extinct species, whose fossil debris still clutter the digital space...)... too bad that the online book "OpenShift for developers" has not been updated, and I have wasted 3 hours of my life to discover that the "all in one" approach is dead...Grant Shipley and Graham Dumpleton, how about taking care of your creation?
install virtualbox https://www.virtualbox.org/wiki/Downloads
clone this github repo https://github.com/openshift/origin and vagrant up... good luck! On Windows the clone fails because of a filename too long issue (hello Microsoft???? ) .
Another way is to test directly on AWS:
https://aws.amazon.com/about-aws/whats-new/2016/06/red-hat-openshift-on-the-aws-cloud-quick-start-reference-deployment/ , go through the AWS guide "red-hat-openshift-on-the-aws-cloud" https://s3.amazonaws.com/quickstart-reference/openshift/doc/red-hat-openshift-on-the-aws-cloud.pdf and discover that this quickstart is no longer available (hello, Amazon??? Why don't you tell it on the home page?? ).
Check out on https://aws.amazon.com/quickstart/ for available quickstarts - there is no Openshift quickstart! This world is a chaos, a Cambrian explosion of products which end up in a total mess, fish with wings and trunks like elephants, and survive only one generation or the space of a few months.
About AWS, I discover another document https://access.redhat.com/documentation/en-us/reference_architectures/2017/html/deploying_openshift_container_platform_3.5_on_amazon_web_services/ but it's a bit long reading...
Anyway in the meantime I discover that the Vagrantfile VirtualBox approach has been DROPPED https://blog.openshift.com/goodbye-openshift-all-in-one-vm-hello-minishift/ in favour of Minishift (one more extinct species, whose fossil debris still clutter the digital space...)... too bad that the online book "OpenShift for developers" has not been updated, and I have wasted 3 hours of my life to discover that the "all in one" approach is dead...Grant Shipley and Graham Dumpleton, how about taking care of your creation?
Labels:
openshift
Wednesday, August 23, 2017
DevOps with OpenShift
reblogging the from the excellent friend and mentor Jan:
https://jvzoggel.com/2017/08/23/free-ebook-devops-with-openshift/
Also interesting the OpenShift for Developers:
oc project myproject
https://github.com/devops-with-openshift/cotd
oc new-app --name='cotd' --labels name='cotd' php~https://github.com/devopswith-openshift/cotd.git -e SELECTOR=cats
oc expose service cotd
https://jvzoggel.com/2017/08/23/free-ebook-devops-with-openshift/
Also interesting the OpenShift for Developers:
oc project myproject
https://github.com/devops-with-openshift/cotd
oc new-app --name='cotd' --labels name='cotd' php~https://github.com/devopswith-openshift/cotd.git -e SELECTOR=cats
oc expose service cotd
The price of changing job
I have recently changed company. I had the opportunity to stay as permanent, moving to another department with people I already knew, but I wanted to explore new worlds and also make some more money.
The change has been devastating, essentially for social reasons.
Humans are tribal animals, and to be happy they must build a web of trust and friendship around them.
Trust can be built only in action. You work with the guy, you know that he is responsible, helpful, skilled, he stops doing his work to come to your rescue. Only then you trust him and like him.
I don't trust someone for his smiles and handshakes and how are you. I trust someone because I know he will do his best to help me. The first thing I tell a new joiner is "whatever problem you have, please don't hesitate to contact me at any time". And if he has a problem that I can't solve, then I ask around until I find someone who can help. By no means a new joiner should be left alone with a problem.
IT industry is not a happy state of nature, where people spend maybe 5 hours a day chasing food, then the rest of the day socializing and having fun. This is a tough world, with tight deadlines, rough competition, people are always under pressure to get things done and acquire new skills. It's a permanent state of semi-war, unfortunately sometimes also internal to the same team. Sadly, some people will rejoice at your failure. Being able to build a team where everyone is really sympathetic to each other, is a real miracle that happens very rarely.
Don't expect a warm welcome. Don't expect to be helped. Most of the time you are absolutely on your own, in a new environment that you don't know. Getting to know the new environment (the 1000 "how to" that are different from company to company) is alone a huuuuge stress and drain on your energies, because you must constantly ask for help and expose you as a "weak" individual. Not everybody understand that it's absolutely normal that they have to invest some of their time to make you comfortable. Many people will consider you only a nuisance and a handicap. It's painful, very painful.
So, changing job is a jump in the dark. And don't believe to those who tell you "don't worry, everything will be fine". Sorry, this is not a Disney movie, this is Planet Earth, not all will be fine, there will be a lot of terrible stress, of shocks, of pain.
So, are you really really sure you want to change job? If you feel bored at work, or you feel that your skills are not improving, start your own project in the evening and weekends. Get certified on something. If you need extra money, you can join Toptal and get an extra part-time job.
But, think twice before you leave a company where you are trusted and you know the internal process. I did, and I am suffering A LOT.
The change has been devastating, essentially for social reasons.
Humans are tribal animals, and to be happy they must build a web of trust and friendship around them.
Trust can be built only in action. You work with the guy, you know that he is responsible, helpful, skilled, he stops doing his work to come to your rescue. Only then you trust him and like him.
I don't trust someone for his smiles and handshakes and how are you. I trust someone because I know he will do his best to help me. The first thing I tell a new joiner is "whatever problem you have, please don't hesitate to contact me at any time". And if he has a problem that I can't solve, then I ask around until I find someone who can help. By no means a new joiner should be left alone with a problem.
IT industry is not a happy state of nature, where people spend maybe 5 hours a day chasing food, then the rest of the day socializing and having fun. This is a tough world, with tight deadlines, rough competition, people are always under pressure to get things done and acquire new skills. It's a permanent state of semi-war, unfortunately sometimes also internal to the same team. Sadly, some people will rejoice at your failure. Being able to build a team where everyone is really sympathetic to each other, is a real miracle that happens very rarely.
Don't expect a warm welcome. Don't expect to be helped. Most of the time you are absolutely on your own, in a new environment that you don't know. Getting to know the new environment (the 1000 "how to" that are different from company to company) is alone a huuuuge stress and drain on your energies, because you must constantly ask for help and expose you as a "weak" individual. Not everybody understand that it's absolutely normal that they have to invest some of their time to make you comfortable. Many people will consider you only a nuisance and a handicap. It's painful, very painful.
So, changing job is a jump in the dark. And don't believe to those who tell you "don't worry, everything will be fine". Sorry, this is not a Disney movie, this is Planet Earth, not all will be fine, there will be a lot of terrible stress, of shocks, of pain.
So, are you really really sure you want to change job? If you feel bored at work, or you feel that your skills are not improving, start your own project in the evening and weekends. Get certified on something. If you need extra money, you can join Toptal and get an extra part-time job.
But, think twice before you leave a company where you are trusted and you know the internal process. I did, and I am suffering A LOT.
Labels:
peopleware
Tuesday, August 22, 2017
Imperative vs Functional programming, a simple example
Today a colleague was asking me the difference between functional and traditional programming in Java... I made a simple example to show how a FUNCTION can be used as a parameter, and the importance of Streams.... of course, in this example the traditional programming is much simpler and readable! Often functional programs can be really hard to decipher!
import java.util.Arrays; public class HelloWorld { static String[] theStrings = new String[] {"Pippo", "Pluto", "Paperino"}; public static void main(String[] args) { theTraditionalWay(); theFunctionalWay(); } static void theTraditionalWay() { for (int i = 0; i < theStrings.length; i++) System.out.println(theStrings[i].toUpperCase()); } static void theFunctionalWay() { Arrays.stream(theStrings).map(String::toUpperCase).forEach(System.out::println); } }You can run it here https://www.compilejava.net/
Labels:
functional
Sunday, August 20, 2017
Book: Peopleware
Where it's proven - with actual statistical facts, not only theories - that in IT - like elsewhere - PEOPLE and not TECHNOLOGIES are the key to success.... and that people are most productive when they are FREE to communicate and cooperate, and HAPPY and in a natural environment and without management pressure and coercion.
Quod Erat Demonstrandum.
Labels:
books
Docker training
Excellent training available at https://www.udemy.com/docker-tutorial-for-devops-run-docker-containers/
associated github repo https://github.com/jleetutorial/dockerapp
Awesome tool to play with Docker without having to install it locally http://training.play-with-docker.com/helloworld/
Docker install on Windows https://docs.docker.com/docker-for-windows/install/
Docker hub https://hub.docker.com/ and https://hub.docker.com/explore/
Great tutorial on "docker run" https://blog.codeship.com/the-basics-of-the-docker-run-command/
The Tomcat Docker Hub page https://hub.docker.com/r/_/tomcat/
Docker-friendly CI host https://circleci.com
associated github repo https://github.com/jleetutorial/dockerapp
Awesome tool to play with Docker without having to install it locally http://training.play-with-docker.com/helloworld/
Docker install on Windows https://docs.docker.com/docker-for-windows/install/
Docker hub https://hub.docker.com/ and https://hub.docker.com/explore/
Great tutorial on "docker run" https://blog.codeship.com/the-basics-of-the-docker-run-command/
The Tomcat Docker Hub page https://hub.docker.com/r/_/tomcat/
Docker-friendly CI host https://circleci.com
Labels:
docker
OpenShift, Minishift, VirtualBox
Excellent VERY quick introduction to OpenShift:
I am following this nice introduction to OpenShift https://www.udemy.com/openshift-developers-workshop/ with github https://github.com/drizzleconsulting
Download and install VirtualBox https://www.virtualbox.org/wiki/Downloads
Install Docker https://docs.docker.com/docker-for-windows/
Download and unzip Minishift https://github.com/minishift/minishift/releases
If you get this error
it means that maybe Docker is not installed
When I try to install Docker, it tells me "HyperV is not available on Home editions, please use Docker Toolbox" - which uses Oracle VirtualBox instead of HyperV
Since I have Windows 10 Home and I don't want to waste 170 USD to buy Windows Enterprise, I am installing Docker Toolbox https://docs.docker.com/toolbox/overview/#whats-in-the-box but it still doesn't work... it seems that really only the Windows 10 PRO using Hyper-V works.... what a waste of time to try to make stuff work on Windows...
I am following this nice introduction to OpenShift https://www.udemy.com/openshift-developers-workshop/ with github https://github.com/drizzleconsulting
Download and install VirtualBox https://www.virtualbox.org/wiki/Downloads
Install Docker https://docs.docker.com/docker-for-windows/
Download and unzip Minishift https://github.com/minishift/minishift/releases
If you get this error
.\minishift.exe start -- Installing default add-ons ... OK -- Checking if Hyper-V driver is configured ... FAIL Hyper-V virtual switch is not set
it means that maybe Docker is not installed
When I try to install Docker, it tells me "HyperV is not available on Home editions, please use Docker Toolbox" - which uses Oracle VirtualBox instead of HyperV
Since I have Windows 10 Home and I don't want to waste 170 USD to buy Windows Enterprise, I am installing Docker Toolbox https://docs.docker.com/toolbox/overview/#whats-in-the-box but it still doesn't work... it seems that really only the Windows 10 PRO using Hyper-V works.... what a waste of time to try to make stuff work on Windows...
Labels:
openshift
Saturday, August 19, 2017
Apache Camel training
https://www.udemy.com/apache-camel-for-beginners-learn-by-coding-in-java decent course (beginners) by Udemy (these courses are so cheap these days! )
Code is available here https://github.com/dilipSundar/TeachApacheCamel
Topics covered:
Components: http://camel.apache.org/components.html
Unit tests: http://camel.apache.org/camel-test.html
Direct component http://camel.apache.org/direct.html
Error handling http://camel.apache.org/exception-clause.html
ActiveMQ http://activemq.apache.org/activemq-5145-release.html
Code is available here https://github.com/dilipSundar/TeachApacheCamel
Topics covered:
Components: http://camel.apache.org/components.html
Unit tests: http://camel.apache.org/camel-test.html
Direct component http://camel.apache.org/direct.html
Error handling http://camel.apache.org/exception-clause.html
ActiveMQ http://activemq.apache.org/activemq-5145-release.html
Labels:
camel,
trainingcourses
Thursday, August 17, 2017
Book: Humans need not apply
Excellent book about the impact that AI will have on our lives - at the same level as "the rise of the Robots". Read it!
Labels:
books
Sunday, August 13, 2017
Intellij and Git
Basic introduction here, very nice:
Incidentally, at first I could not find the "New/Ignore file" menu, so I have manually created a New File .gitignore, and Idea magically prompted me to install the Gitignore plugin, which I did with great satisfaction.
I kept getting
until in .git/config I changed the URL to https://pvmarmotta:mypassword@github.com/pvmarmotta/pv01.git/
it's tragic that such basic things entail manual hacks... this is the state of IT in 2017... I hope driverless cars will be better engineered otherwise we are toast (we are in any case thanks to AGW)
More interesting stuff on Git:
the infamous "DETACHED HEAD" message: http://gitolite.com/detached-head.html
The "git concepts simplified" http://gitolite.com/gcs.html in gitolite by Sitaram Chamarty
charismatic Jessica Kerr "Git Happens" presentation
Great presentation site Think like a Git http://think-like-a-git.net/
Michael Schwern famous "Git For Ages 4 and up"
Interesting articles on branching and workflow:
http://www.creativebloq.com/web-design/choose-right-git-branching-strategy-121518344
https://www.atlassian.com/git/tutorials/comparing-workflows
Incidentally, at first I could not find the "New/Ignore file" menu, so I have manually created a New File .gitignore, and Idea magically prompted me to install the Gitignore plugin, which I did with great satisfaction.
I kept getting
2017-08-12 12:03:55,303 [2262815] INFO - #git4idea.commands.GitHandler - remote: Permission to pvmarmotta/pv01.git denied to vernetto. 2017-08-12 12:03:55,303 [2262815] INFO - #git4idea.commands.GitHandler - fatal: unable to access 'https://github.com/pvmarmotta/pv01.git/': The requested URL returned error: 403
until in .git/config I changed the URL to https://pvmarmotta:mypassword@github.com/pvmarmotta/pv01.git/
it's tragic that such basic things entail manual hacks... this is the state of IT in 2017... I hope driverless cars will be better engineered otherwise we are toast (we are in any case thanks to AGW)
More interesting stuff on Git:
the infamous "DETACHED HEAD" message: http://gitolite.com/detached-head.html
The "git concepts simplified" http://gitolite.com/gcs.html in gitolite by Sitaram Chamarty
charismatic Jessica Kerr "Git Happens" presentation
Great presentation site Think like a Git http://think-like-a-git.net/
Michael Schwern famous "Git For Ages 4 and up"
Interesting articles on branching and workflow:
http://www.creativebloq.com/web-design/choose-right-git-branching-strategy-121518344
https://www.atlassian.com/git/tutorials/comparing-workflows
Saturday, August 12, 2017
Poll result on Global Warming
it seems that the audience is equally represented by catastrophists and "deniers/optimists"... I am afraid 10 years from now we will have MANY more catastrophists around. It's also true that IT people tend to be a bit disconnected from reality...
Labels:
poll
Friday, August 11, 2017
Spring boot Rest controller with Embedded Tomcat
really simple, and the code is available here
https://github.com/vernetto/restapi
I just realize that I had already done this exercise here http://www.javamonamour.org/2017/03/spring-boot-starter-web-app.html , even better explained!
Labels:
REST,
Spring,
springboot
Wednesday, August 9, 2017
Sire Reliability Engineering at Google
I have immensely enjoyed reading this book, some sections are highly technical - frankly beyond my level - some other anecdotal and more narrative. Particularly interesting is how Google trains his Site Reliability Engineers, reading the Post-mortem reports and making crash simulations to brainstorm the trainees.
Labels:
books
Sunday, August 6, 2017
Kotlin essentials presentation
My first impression is that with Kotlin you can write more readable code than in Java. I am not sure how stable, refactorable and debuggable it is... surely it looks nice.
Labels:
kotlin
IntelliJ is really awesome
great presentation by Trisha Gee:
You can learn how to make the best of the IDE from this 1 hour video (if you can stand the speaker)
more tips available here:
but of course the official help https://www.jetbrains.com/help/idea/meet-intellij-idea.html contains all that info
and the product blog of course https://blog.jetbrains.com/idea/
Also, after you read this https://dzone.com/articles/why-idea-better-eclipse you definitely want to ditch Eclipse forever.
Very useful the https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf keymap reference (menu Help/Keymap...)
and this list of features and shortcuts:
https://www.jetbrains.com/help/idea/2018.3/discover-intellij-idea.html
You can learn how to make the best of the IDE from this 1 hour video (if you can stand the speaker)
more tips available here:
but of course the official help https://www.jetbrains.com/help/idea/meet-intellij-idea.html contains all that info
and the product blog of course https://blog.jetbrains.com/idea/
Also, after you read this https://dzone.com/articles/why-idea-better-eclipse you definitely want to ditch Eclipse forever.
Very useful the https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf keymap reference (menu Help/Keymap...)
and this list of features and shortcuts:
https://www.jetbrains.com/help/idea/2018.3/discover-intellij-idea.html
Labels:
intellij
Tuesday, August 1, 2017
Book review: Production-Ready Microservices, by Susan Fowler
This is a short book who covers the essential points about service availability in production, and how to prepare for a smooth operational setup.
It's a useful book but lacking "real life" stories and technical details, most of the stuff is quite common-sense.
I am looking forward to reading "Betsy Beyer, Chris Jones, Jennifer Petoff & Niall Richard Murphy: Site Reliability Engineering", who allegedly is much more "technical"
Labels:
books
Subscribe to:
Posts (Atom)