Why you should control your own URL shortening service

While this is pretty funny it also raises the valid point that if you do not control your own URL shortening domain – this could happen to you too.

 

Heinz forced to apologise after QR code on ketchup bottle linked to hardcore porn site

 

http://www.independent.co.uk/life-style/food-and-drink/news/heinz-forced-to-apologise-after-qr-code-on-ketchup-bottle-linked-to-hardcore-porn-site-10327313.html

Another reminder to back up your computer regularly

Uuuuuurgh – more tedious than anything else. I use Acronis Backup. Take a full back up about once a month and then schedule an incremental back up every morning. Both partitions. At any time I can mount to the backup from any day and retrieve that file from yesterday I just deleted by mistake and as necessary (which it might be today) I can rebuild a brand new disk on the same laptop within a few hours. Worth every penny.

http://www.acronis.com

 

 

IBM is a platinum sponsor of the new node.js foundation

Take a look at the video from Angel Diaz IBM VP Cloud it is only 90 seconds – IBM’s now big behind Node.js

Angel also wrote this article on node explaining is some more detail about the foundation and IBM’s involvement

http://www.thoughtsoncloud.com/2015/06/node-js-embarks-on-open-governance-journey/

IBM are a platinum sponsor of the new node.js foundation.

Here’s a quote from the linux foundation press release

http://www.linuxfoundation.org/news-media/announcements/2015/06/nodejs-foundation-advances-community-collaboration-announces-new?utm_source=nodeweekly&utm_medium=email

IBM

“An independent Node.js Foundation built on open governance is a major industry wide event as it ensures the continued adoption and growth of one of the world’s most ubiquitous programming languages. The Node.js foundation will provide developers with a top development platform that when combined with the power of IBM Cloud and Mobile will accelerate time to application concept, deployment, and refinement.  As a platinum member of the foundation, IBM looks forward to continued partnership in developing and promoting Node.js and the inevitable expansion of this vibrant community,” said Angel Diaz, Vice President, Cloud Architecture & Technology, IBM. 

Contrast makes a difference: making bootstrap badges “pop”

We have an application which uses Bootstrap badges to display pertinent field based information in a search result display. We were looking at it and it just doesn’t seem to stand out as we had expected.

s1

Adding the following simple CSS makes all the difference. The extra contrast between the white space and the gray background just needed a “pop”

.badge {
	border: 1px solid lightgray;
	border-radius: 5px;
}

s2

 

This is the best part of what I do – sharing ideas.

Thanks to David Leedy for taking this at ConnectED in Orlando 2015 – check out the link at the bottom – what you can do with Google Photo is pretty cool apparently.

I was wondering around between sessions and someone came up and started asking me about Angular in XPages (which was the presentation I was giving with Mark Leusink later that day). So I got out the laptop, and set up on on the piano. It was outside of one of the conference rooms and made a convenient place for a demo. This “demo” then grew as other people came over to see what we were talking about.

I met a number of new people and we had a fantastic conversation about XPages, non-XPages, Angular.js and just stuff in general. It gave me an idea that I should just do this more often at any conference – hey, going to be on the piano outside the room at the time – come and talk let’s see where it goes.

Very good memories 🙂

Check out the animated version 🙂

https://goo.gl/photos/unqXJkWyLhvQ6KwC6

 

 

Fixing the XPages R9 dojo define.amd problem once and for all

Last week I blogged about the fact that select2 v4 used define.amd and because of that dojo screws up the jQuery plugin.

This has been a significant issue – not hard to deal with but comes up all the time for XPages eedevelopers.

In the blog post comments Ferry Kranenburg posted a link to a solution he uses which is also an XSnippet. It is brilliant.

What he does in the XSnippet is:

  1. duplicates define.amd to define._amd
  2. deletes define.amd
  3. loads the AMD enabled jquery plugin (successfully)
  4. duplicates define._amd back to define.amd
  5. deletes define._amd

Rather than post the code here I want you all to go to the XSnippet and get it from there – and vote it up while you are there.

f1

Personally I would prefer not to use <xp:this.resources> or at best use them wisely and you could easily write this without using resources should you so chose.

Big Problem – simple and elegant solution – well done Ferry and thanks for Sharing

Now go vote up his XSnippet !!!

 

Select2 v4 needs AMD fixing in Domino R9 XPages

As we have seen in the past AMD (Asynchronous Module Definition) in Dojo causes issues with jQuery plugins and other JavaScript libraries, in that it prevents them from loading correctly.

The select2 version4 – new release contains AMD checking code

https://github.com/select2/select2/blob/master/dist/js/select2.js

As you can see from the start

(function (factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define(['jquery'], factory);
  } else if (typeof exports === 'object') {
    // Node/CommonJS
    factory(require('jquery'));
  } else {
    // Browser globals
    factory(jQuery);
  }
}

So we have two choices – edit the select2.js code which you download and add it to your database – change the code to look like this

(function (factory) {
  if (typeof define === 'function' && false) { // removed define.amd and returned false
    // AMD. Register as an anonymous module.
    define(['jquery'], factory);
  } else if (typeof exports === 'object') {
    // Node/CommonJS
    factory(require('jquery'));
  } else {
    // Browser globals
    factory(jQuery);
  }
}

Or we have to ensure the database properties are set to do resource aggregation and use the following code to insert jQuery and select2 into the header

<xp:this.resources>

  <xp:headTag tagName="script">
   <xp:this.attributes>
    <xp:parameter name="type" value="text/javascript" />
    <xp:parameter name="src" value="js/jquery-1.9.1.min.js" />
   </xp:this.attributes>
  </xp:headTag>

  <xp:headTag tagName="script">
   <xp:this.attributes>
    <xp:parameter name="type" value="text/javascript" />
    <xp:parameter name="src" value="select2.js" />
   </xp:this.attributes>
  </xp:headTag>
 </xp:this.resources>

Check out Sven’s other blog post on the subject – http://hasselba.ch/blog/?p=1181