Quick NPM tip: don’t forget to uninstall node modules

NPM is great tool to have all your Node modules in your front end project, and don’t have to worry about dependencies.

When you find a useful module for your project just do ‘npm install <node-module> –save-dev’ and you are ready to go, but….. it can pollute your node_modules directory with unused node modules.

Just uninstall your unused node module by ‘npm uninstall <node-module>’

twittergoogle_plusredditpinterestlinkedintumblrby feather

Angular 4 bug in combination with latest Typescript

When we upgraded our Angular app to the latest version. We noticed everything worked with version 4.2.3 and Typescript 2.4.

The problem

After we reinstalled all the nom packages the Angular version was upgraded to 4.2.4, because we had in our package.json ‘^4.2.3’ for Angular packages.

When we package everything and republished the app to the page, we got errors, huh!!!!

 

The solution

After some search I found it has to do with the combination of Typescript and Angular version. After I set Typescript fixed to version 2.3.4 everything works fine again

twittergoogle_plusredditpinterestlinkedintumblrby feather

Angular and base64 encoding and decoding

Currently I am busy building a Proof of Concept at my customer.
We are using Springboot for the Backend services, which get data from Tridion and store data in a Oracle database..

The Front end is build with Angular. We started with version 2 with Grunt as build tool, but quickly we changed it to Angular 4 with Webpack.
The overall feeling of Angular 4 and Webpack was much better. Another plus was the smaller footprint.

Base64

Last request was to store some information in Cookie. Overall no rocket science, but to encode the value and afterwards decode to reuse it was even more easy, thanks to build in base64 encode/decode functions.

btoa() and atop() are very powerful

let encodedCookie:string = boa("Password");
let cookie:string = atop("cGFzc3dvcmQ=");

Happy coding

twittergoogle_plusredditpinterestlinkedintumblrby feather

The slides of my session at Engage

Here are my slides of my session at Engage.

 

twittergoogle_plusredditpinterestlinkedintumblrby feather

Learn, share and Engage in Antwerp

Next week it is time for Engage Usergroup again. This time Theo Heselmans has chosen a very special location, next to the ZOO of Antwerp. Looking forward to meet everyone again and see what the sponsors have to offer.

Theo and his team has put together a amazing agenda with top notch speakers and IBM Champions.

This year I am very privileged to be a speaker again.

My session

Dev03. How Watson, Bluemix, Cloudant, and XPages Can Work Together In A Real World Application

The role of a human resources employee can be hard work when it comes to filtering hundreds or thousands of job applications. Often, the cover letters are submitted in unstructured formats making keeping data in order and identifying interesting job applications difficult.
In this session we will give a look behind the scenes of the award winning HR Assistant application which uses a combination of IBM Bluemix, Watson and a Cloudant database to improve the recruitment process. We will explain how we integrate the different technologies and display the content graphically using XPages along with how the development progressed and the challenges we faced.

  • My session on Tuesday May 9th at 9 AM in Room A (Okapi 3).

 

Hope to see and meet you next week in Antwerp. And hope to learn more about IBM Think 2018 in Las Vegas

twittergoogle_plusredditpinterestlinkedintumblrby feather

Bulk import in a Cloudant database

After some issues with HR Assistant I was thinking it would be a good idea to create a separate database with only the Design documents as schema database.

So I replicated all the documents from the original database to a brand new one and called it hrassistant_schema. After the successful replication I kept all only the design documents.

 

Today I got a question about the schemas and discovered it should also be a good idea to add all the configuration documents to the schema database of HR Assistant

In that case I have a basic set up and can use it all the time to generate a new instance of the database.

 

Prepare the JSON

In a Cloudant database it easy to get all the documents in JSON format from a certain view via the build in REST API. In my case I needed the configurations view JSON.

The documentation of Cloudant helped me to prepare the JSON to a certain format to remove everything before the doc entry and the } add the end of each document entry in the JSON. Include all the entries in array and assign it to docs keyword.

 

Insert the JSON in Cloudant

Using Postman on my MacBook to post the JSON directly into the Cloudant database. You need the url to the database on Cloudant and add to the url ‘/_bulk_docs’

At the authorization, select Basic Authentication and add your username and password.

In the Request body you add the prepared JSON and press post. In the Response body you get feedback of the operation. In my case all the documents, 24, are inserted successfull.

 

Meanwhile in Cloudant

When I checked the configuration view in the hrassistant_schema database I see all the new documents.

 

Happy coding and come to see me at my session at Engage on 9:00 Tuesday 9th of May, where I will show more technical details about the development of HR Assistant.

twittergoogle_plusredditpinterestlinkedintumblrby feather

IBM InterConnect 2017 as a developer

As promised in a previous blogpost, I will zoom in on the technologies I have seen and used at IBM InterConnect

I was surprised the amount of technical sessions at InterConnect. More then I then was expecting as lots of people told me It was all about middleware.

Below my impression as a developer

Open Tech Summit

On Sunday InterConnect for me started with the Open Tech Summit, a gathering of tech nerds, to learn more on Open Source software. In a TED talk style every speaker got 10 minutes to shine their light on the Open Source world.

There were lots of great speakers, Tony Tam from SmartBear ( Swagger ). Further Open Stack, JSFoundation, CloudFoundry and of course Apache Foundation.

Was good to hear there views.

 

Bluemix

Since the rebrandig of Softlayer . Bluemix has become a total platform of bare metal with on top a broad collection of services. I was really surprised who mature it has become. One of my complaints about services not available across all datacenters has been taken seriously 😉 They are busy to rebuild all the datacenters from the ground up, like the way Softlayer has build all their datacenters. But this time they will not forget the services.

 

In the end all the datacenters will be identical around the world and will have also have all the services, Very good news in my opinion.

During InterConnect I noticed also that I could select Germany as datacenter, now we have also a datacenter on European mainland. You never know what happens after Brexit.

 

OpenWisk

OpenWhisk is serverless, using business rules to bind events, triggers, and actions to each other. Before InterConnect I heard the term a few times.

At InterConnect there was the posibility to build an application with OpenWisk at the DevZone.

I liked the simplicity of OpenWisk. The actions can be triggered on a time based schedule, which is a good alternative for the Crone Jobs in Java. But the actions can also triggered by events.

And the good thing is, you pay per run of a task, which normally takes a few milliseconds.

It availaile on Bluemix, but that will not be the only place, in the left menu of your account.

 

Swagger/Open API Specification

Swagger was everywhere at InterConnect. At my current customer we use Swagger for every new API we deliver. Very convenient for documentation and you have immediately a playground where you can test your API.

 

Swagger is based on a YAML or JSON file which describes all your endpoints and what to consume and produce as output.

The editor of Swagger comes with a Codegen, which can generate a skeleton backend and frontend, for several languages and frameworks, like AngularJS, but also JAX-RS and SpringBoot.

 

Swagger, from SmartBear, is donated to the Open API Specification, which tries to get an general specification of API’s.

At InterConnect version 3.0 was showed, which will be released soon, with some great enhancements. For example you can change API calls together, like get me the Company and via links get also all the addresses based on compayId.

 

IBM API Connect

IBM has API Connect, a gateway to manage all the API’s in your company, for example how can use the API, which endpoints are exposed, but also create and run new API’s.  Got a few demo’s, looks impressive. It will except a Swagger YAML/JSON file to get all the endpoints. And Loopback is integrated to run all the new API’s

I think It can be very useful for larger organizations with lots of API’s to keep an overview and manage access of these API’s

 

Blockchain

The biggest buzzword at InterConnect was Blockchain. At IBM Connect 2017 Chris Miller did a great session about the concepts of Blockchain. Go check his slides for a better understanding.

At InterConnect keynote there was a great example of Blockchain by Everledger, about the diamand industry where they now use Blockchain to have all the transactions in the whole chain, from the mining to the shop, are in a Blockchain.

I attended also a session about the Plastic Bank, where they use Blockchain to registrer all the transactions in the chain between plastic collector and factories and every step in between. The story behind the Plastic Bank was touching, and good to see how they use Blockchain.

Bottom line, where a transaction is between people or companies or whatever, there you can use Blockchain.

 

At the end…

As a developer I was pleased by such wide range of topics. There was so much to learn. A tip is, pick a few topics to focus on, or you will drown is so many sessions. My topics where Blockchain, Swagger/Open API Specification, Bluemix. As a bonus I know more about OpenWisk, API Connect.

I can recommend InterConnect for every developer.

twittergoogle_plusredditpinterestlinkedintumblrby feather

IBM InterConnect 2017 – something completely different

viva las vegas

IBM InterConnect 2017 is over, I must say I totally enjoyed it. Lots of attendees, it was crowded everywhere, but it gave a good vibe.  I have met a lot of new people

I heard that it was Lotusphere in the old days. I totally agree with the blog by Gabriella Davis, it is time to get out our own yellow bubble and integrate it in InterConnect. There is so much both worlds can learn from each other.

 

Keynotes

On Monday there was the InterConnect Welcome keynote with, of course, a lot of announcements. IBM Cloud Storage Flex, ‘yes we have a marketing department’, to provide flexible storage.

There was great example of IBM Blockchain in the diamant industry. IBM is pushing hard on Blockchain and their offer is way ahead of the competitors. You can test your own blockchain app on 4 nodes to see if it works, FOR FREE.

The keynote ended with Will Smith. He was very funny and relaxed and was certainly not scripted.

The central message of the keynote was your data on the IBM Cloud is your data, and will not be shared with others. The security is one of most important factors on the IBM Cloud. They told us that the IBM Cloud would be more secure then your on premise data center.

 

On Tuesday the CEO of IBM, Ginny Rometty was on stage, first time I saw here in person, to speak about IBM offers. She interviewed some companies, like AT & T about there network and sensors. Really big data. Most important, what to do with ths data.

Marc Berniof, CEO of SalesForce was on stage to talk about the recently announced partnership between IBM and Salesforce.

 

At the ShowCase

The Showcase was packed with lots of vendors, the most I never heard of so that makes it more interesting to learn what they have to offer.

Of course IBM has also good presence with booths about their various products and offerings, like Bluemix, IBM Cloud, IBM Blockchain, Security and many more. The Dev Zone was my favorite. The area where you can talk to the devs, but also build your own

 

Champions @ InterConnect

As an Champion we were pampered by Libby Ingrassia and her other Champions wranglers. We had our own desk, on high traffic location. VIP seating at the keynotes and at the IBM Rocks event.

I felt very special to attending InterConnect as an Champion. Thanks to make is even more special for us.

Nice thing was also to meet ‘other’ IBM Champions from Cloud, Analytics and Security.

 

My session

My session about the HR Assistant application, was at Wednesday 22nd of March at 2 PM. There were 20 people, not many, but for InterConnect it was ‘not bad’ ;-). It went well, as far I could see it. Bluemix was up, so I could demo the HR Assistant .

Explaining the XSP runtime was may be the hard part. No one knows this runtime as it is still experimental and I think it will stay there.

 

Next year…

As I look back at the conference InterConnect showed me so much value. Lots of new technologies, meeting new people. I will be back next year……

 

In my next post I will zoom in several technologies which were mentioned at InterConnect.

 

twittergoogle_plusredditpinterestlinkedintumblrby feather

Speaking of Las Vegas

Speaking of Las Vegas

In 1 week I will leave for my second trip to the USA for an IBM Conference. This time it will be IBM InterConnect in Las Vegas. Not only to attend, but also to speak again. A friend of my will join me on this trip. We will fly to Los Angeles and drive up to Las Vegas. After the conference we will have some time get back to LAX, a sort of mini road trip.

 

Out of my comfort zone

IBM InterConnect is a much bigger conference, compared to IBM Connect, at the Mandalay Bay in Las Vegas. It is focused on Cloud, Watson and Internet Of Things. There are 2000+ session, labs and hands on’s to choice from. I have primarily focused on a few topics to made it manageable to fill my schedule. And still I have a lot of time conflicts. I will see how it will work out.

Ginny Rometty, CEO of IBM, will do a keynote at Tuesday and will be joined by Marc Benioff, CEO of SalesForce. Will be the first I hear her speak in person.

As far I can see there will be some great sessions and as a developer there will be a lot to learn. IBM Connect, which I attended 5 times, is smaller, cosier and lots of familiar faces. Lots of the same people, which you see or 1 time a year or at other User Group events, like Engage or Icon UK.

So InterConnect will not only be bigger, but there is also an opportunity to meet other people, so great to network. I am very curious to the whole experience of InterConnect

 

IBM Champions @ InterConnect

As an IBM Champion you get a lot of extra attention at conferences and user group events. So that will also be the case at InterConnect. At the concourse there will be a ‘Meet the IBM Champion’ desk, where always be a few IBM Champions around or one of the Champion wranglers, like Amanda Bauman or Libby Ingrassia. But don’t hesitate to speak to IBM Champions ‘in the wild’. As far I know IBM Champions, they are always open to discuss about various topics. After my session I will also be at the desk to extend the Q&A.

At InterConnect there are also IBM Champions from other products, so it is, for me, a good opportunity to meet more IBM Champions than just the one from the Collaboration Solutions. Looking forward to that.

 

My session

It is a great year for me so far, first time speaking at IBM Connect, and as (big) bonus, I will also speak at IBM InterConnect.

My session is on Wednesday 22nd of March at 2 PM in Mandalay Bay North, Level 0 – Islander C.

Title 

See How Watson, Bluemix, Cloudant, and XPages Can Work Together in A Real-World Application

Abstract

The role of a human resources employee can be hard work when it comes to filtering hundreds or thousands of job applications. Often, the cover letters are submitted in unstructured formats, making data organization and identification of interesting job applications difficult. In this session, we will share a look behind the scenes of the award-winning HR Assistant application, which uses a combination of IBM Bluemix, Watson and a Cloudant database to improve the recruitment process. See how we integrate these different technologies and display the content graphically using XPages, along with how the development progressed and the challenges we faced.

 

Hope to see you all at my session, but…….. next door at the Islander B is also a great session by my fellow IBM Champions Chris Miller and Gabriella Davis about ‘Embracing IoT in the Enterprise and Blocking the Top 10 Risks’.

 

Finally

As all conferences there is always a lot of fun and special events, like the Zac Brown Band and Andy Grammer on Wednesday evening. Will Smith will be at the Keynote at Monday morning.

 

I am looking forward to IBM Interconnect to learn new things and meet new people. To Las Vegas, because it a city so over the top it will be funny again. The weather, because I need some sun.

 

 

twittergoogle_plusredditpinterestlinkedintumblrby feather

New Release: Generic XPages and HTML Widget For IBM Connections 5.5

new release

Yesterday I have created a new release of the OpenNTF project, Generic XPages and HTML Widget For IBM Connections.

There was a problem with the widgets in IBM Connections 5.5, which was caused by some tags who were not in the expected DOM structure and small problem in the javascript.

But many thanks to Christoph Stoettner of Panagenda who found the solution and provided me the modified files to release.

Christoph, Thank you very much for the time you spent on this.

Want to try it out on your IBM Connections 5.5 environment get the 1.2 Release of the project.

 

twittergoogle_plusredditpinterestlinkedintumblrby feather