Prepping for Lotusphere 2011 ten things – Part 1

This is my third lotusphere and the first one where im paying for every last bit myself, no freebe ticket for both babeing this year, im also there as part of LDC, so I am going to squeese every drops worth of value from the trip, but just like the rest of the comunity stuff we do, you have to put in the effort yourself to get value out, to this end i compiled a list of tasks to do before, before during and after lotusphere, anyone going to join me?

10 things to learn/do before you go there.

1) Ensure you have a LotusLive account and have had a good look around.

2) Ensure you have the latest version of Notes installed, and have played with its new features.

3) Subscribe to the podcasts, and keep up-to-date. (DONE)

4) Make a list of questions you want answered, get your pet peeves in a row, so you can voice them to Lotus in person.

5) Sign up to a cloud service and TRULY understand what “cloud” is rather than just the hype. (DONE)

6a) If you’re an admin, have the latest version of Domino installed on the most up-to-date OS it supports.

6d) If you’re a developer, ensure that you have the latest version of Eclipse installed and set up correctly. (DONE)

7) Learn about the competitors: get accounts with at least two direct Notes competitors (salesforce.com, Google apps, a free Sharepoint account) and explore their features.

8) Learn about the symbiotic Notes products, play with at least two of these (Sametime, Quickr, Connections, etc.). Can these be of value to you, do you need to find out more from a guru when you have them to hand?

9) Tell your clients and ask your boss whether there’s anything THEY want to know. Get them involved: what do your clients / boss want in the next 12 months?

10) Get your business card printed.

Old Comments

Mitch Cohen(10/12/2010 02:03:09 GMT)

Some good ideas….. See you in Orlando

Mark Myers(10/12/2010 09:21:56 GMT)

cool, yup see you there!

rsync backup

This was something I should have got round to doing ages ago but I finally set up my laptop to backup to my NAS using rsync, and I figured a proper step by step guide might help others, there are lots of rsync guides out there but few that don’t assume loads, so here’s a simple one

GOAL: I want to backup nearly everything in my home directory onto a windows (or samba) share, I want it to be one click, not to do certain places and files and on subsequent runs only back up new stuff, I also don’t want it to inherit any fancy permissions as if I have a disaster I might need to access it without out any rights on a new machine.

I am assuming you are using ubuntu or a common version of Linux, most of this will work on the mac I suspect (I know rsync does)

SO, first thing I need is a mount or drive mapping to backup too,

1) Run “gksudo nautilus” to get a all powerful file manager and create your folder that is going to be your mount point, I created “/media/backup”

2) Next ensure you have samba file sharing utilities installed (smbfs), you can do this on a terminal prompt with “sudo apt-get install smbfs”

3) See if you can now mount your share with “sudo mount -t smbfs //192.168.0.XXX/myshare/backup/ -o username=stickfight,password=password”
This assumes that I am backing up to the “myshare” share on the IP address 192.168.0.XXX and into the “backup” folder that already exists, also that you have to log-on to your share to be able to write to it, if you don’t, just miss out the “-o username=stickfight,password=password” bit

4) Next you want to figure out which files and folders you DONT want to backup, in my case, I don’t want any big media files or to backup the cache folder, so I create a text file called “backupexclude.txt” save it into my home directory and type the following into it (making sure that items are on separate lines)

*.mkv
*.avi
*.ogm
*.mp4
.cache

The paths are relative so instead if /home/stickfight/.cache , as I’m backing all of /home/stickfight/ I just put “.cache”

5) install rsync “apt-get install rsync ”

6) Now in the terminal window you want to enter “sudo rsync -r -u –exclude-from ‘/home/stickfight/backupexclude.txt’ –progress /home/stickfight /media/backup/home”

let me break it up first

“-r” = copies all the sub directories and file, normally you would use “-a” but that copies the file permissions as well which in this case I don’t want.
“-u” = Update, means it only copies only new or recently changed files.
“–exclude-from ‘/home/stickfight/backupexclude.txt’ ” = loads the exclude file we just made.
“–progress” = makes the terminal output far more readable and tells you how far it gets now.
“/home/stickfight /media/backup/home” = source and target directories.

7) run this and make sure it does what you expect, rsync has tons of options, so alter it as you see fit, once you have it working, copy both lines into a text file and save it as backup.sh (or whatever)

8) you can now run it form a icon with “sudo sh /home/stickfight/backup.sh”

there we go , job done

P.S. you might notice a lot of “sudo” going on, perhaps this is not correct from a security point of view, but I’m stripping out the security anyway and I just want it to work, without complaining

Java quick tip, the pipe delimiter

The ‘ (or pipe) symbol is a excellent delimiter, rarely used by users, and of particular use if your doing intra line delimitation, In Lotus script a normal usage example would be:

Dim CountryCode As String

CountryCode = “Britan’GB”

Dim vField As Variant

vField = Split(CountryCode, “‘”)

 

So in Java you would expect to write

String[] vField = CountryCode.split(“‘”);

This will appear to work but will do something odd (it normally delimits on every character), this is because split() is expecting a regular expression and the ‘ is the OR special character for regular expressions, normally you would just ‘escape’ it with a ie ”’ but for some unknown reason, with split() you have to double escape it, eg

String[] vField = CountryCode.split(“\'”);

daft little tip, but it might help someone

Old Comments
————

##### Mark Myers(30/11/2010 11:15:12 GMT)
true enough, but a pain for though that don’t know (hence the post)

##### Andrew Magerman(30/11/2010 10:16:43 GMT)
Mark,

I use RegexBuddy { Link } for calculating my regexes. It’s awesome, and it automatically does the annoying Java escaping for you. It’s written by the guys who wrote the O’reilly book on regexes. It’s worth every penny of 30 – I would not do any regexes without it.

Alas, it is windows-only, but I guess you could have a little virtual machine for your regexes. Even if it hurts your Linux soul.

Andrew

##### Mark Myers(29/11/2010 11:34:22 GMT)
cool, thanks for the tip, on the reason for the double escape the reason that i say unknown is that it allows single escapes on a number of other special characters, i will looking to auto escaping of characters in eclipse as i use reg ex quite a lot , ta

##### Kerr Rainey(30/11/2010 11:04:56 GMT)
Well, the main problem is not so much how java handles regex, but that there is no regex literal in java. There is no way to simply write a regex pattern into java source without escaping it. If you pass the regex pattern in from some other input then you don’t have the escaping to deal with.

##### Mark Myers(30/11/2010 10:29:21 GMT)
Andrew, it is a fine bit of code indeed, i use edit pad pro from the same place and would go insane without it, alas you are also right about windows, it tend to only use Linux a good solid host os + media player, and do most of my actual working in windows VM’s

 

##### Mark Myers(29/11/2010 20:17:17 GMT)
an example would be b , if you go to an expression builder such as { Link } both b and ‘ work just fine, but in split() only b would work, also ‘ works fine in things like Thunar file manager.

##### Kerr Rainey(29/11/2010 10:19:14 GMT)
I think the reason for having to put two backslash chars is that the java string literal for a backslash is “\”. So to pass a regex patern ‘backslash followed by pipe’ to the regex engine from a java string literal you need to put “\'”

You can set up eclipse to automatically escape strings pasted into string literals. Normally I find this a pain, but if you have a long regex pattern that you need to escape it can be handy to turn it on, paste and then turn it off again.

##### Mark Myers(30/11/2010 09:52:08 GMT)
that’s the problem from my point for view, there is the way reg ex is handled by java and the way it is handled by everything else, if you have a valid regex expression that works else where it has to be modified to work in split()

 

it would seem im not the only person that finds this irritating see “backslash mess” near the bottom of { Link }

##### Kerr Rainey(29/11/2010 17:15:03 GMT)
Do you have a specific example?

All I can think of off the top of my head is if I wanted to pass something like a double quote to the the regex engine. Since I don’t need it escaped in the regex, but I do need to escape it the the java string literal, that would be “””. If I wanted the regex to look for a backslash, I’d need to escape it in the regex and in the java string literal, ending up with: “\\”

I’d be really curious to find something that didn’t work like that.

##### Kerr Rainey(30/11/2010 09:16:31 GMT)
Are you sure you are getting the result you expect in the b case? I’ve just done a little test and although it runs, does not give me the answer I would want.

‘b’ is the char literal in java for a backspace. Putting that into a string literal however can give you odd looking results. Just printing it to System.out will not show it, but the length of the string will include it.

If it is the regex pattern to your split then it will split on any backspace in your input. But it won’t match anything if there is not backspace char in the input.

If the regex pattern you want to use is to match only the beginning of the word then you will have to escape the backslash in your java string literal.

“Look out Mr. Toad.”.split(“bo”)
gives
[“Look out Mr. Toad.”]

“Look out Mr. Toad.”.split(“\bo”)
gives
[“Look “, “ut Mr. Toad.”]

“Look out Mr. Tboad.”.split(“bo”)
gives
[“Look out Mr. T”, “ad.”]

##### Wormwood(24/11/2011 15:38:50 GMT)
I just had this problem and found your tip using Google. Thank you very much! 🙂

Power Gorilla on Lenovo W510

I’m hoping this will be of help to searchers of google
The question is does the powergorilla work with the ThinkPad W510 and other 135W Lenovo Laptops?

Quick Answer

Yes, far better than you could hope

Long answer

Recently I have upgraded my old compal FL92 to a Thinkpad W510. I then noticed with some dismay the 135Watt power brick that came with it, and thought my existing power gorillas would no longer work.

I phoned up powertraveller and after a quick chat to one of the techs (no, I have not forgotten your name I’m just not posting it) she said she would post the 2 tips needed and a y-cable out to me for free, this was without prompting! The power traveller lot have always seemed genuinely interested in the use you put their products to.

The tips all arrived and I sat down to what I thought would be a night of experimentation with multiple Y-cables and up to 3 powergorillas in parallel. This proved to be unnecessary due to the way ThinkPads handle the fact that there are 3 20V thinkpad power supplies but only 1 connector type.

These are:

Full speed and battery charging – if you use a 135W power supply
Throttled speed but battery charging – if your use any main charger less that 135W power supply (even the 120W onces you can get trigger throttling)

The power gorilla gives out 2.5A at 20V so about 50W, so you would expect a throttled result, and believe me you don’t want the throttled option, I tried it with a 90W travel power supply and it throttles the processors so badly that even a movie stutters, but when I plugged in the power gorilla, it just “paused” the internal battery and ran of the gorilla, ehh? Why would it do that? I spent some time trying all variations of 65W/90W/travel 90W/135W/and Gorilla, and it always behaved the same, I think that because of the 27++ bolt on battery, the modern ThinkPads can detect if a battery is plugged into them, and is treating the powergorilla as such.

OK so a great solution, but how long does it keep your laptop going?

A powergorilla at the 20V (19v in reality) setting produces 55Wh

The 3 batteries that are compatible with the W510 are:

55+ (6 cell battery, the one that is flush with the back of the laptop) at 57Wh
55++ (9 Cell Battery, the one that sticks out the back of the laptop) at 94Wh
27++ (9 Cell Battery, the extra one that hangs off the bottom) at 94Wh

After playing around charging and discharging, the times all came down to the expected pro rata times (1 power gorilla lasts just under the full time of a 55+ and about 2 thirds of the time of a 55++/27++ )

And here is the bonus, if you have a power gorilla already, you will know that you can charge and use it at the same time (providing they both are on the same voltage), this means you can use travel power supply (or any 20V power supply less than 135W) to run your laptop un-throttled. I have tried this and it works (I have never seen the power meter on the w510 go above 90W, and even then it would probably just be a spike) so you can finally go back to using your sparkly new laptop on planes/cars.

All in all a perfect solution, an excellent product and fab customer service (well done to Lenovo for the smart power management as well)

Terrorists or freedom fighters in corporations

RANT WARNING

Political spin particularly in corporations who should know better is something that always gets on my nerves, currently one of my clients is moving to an outsource model for everything , this has come with a new CIO and is expected as every director wants to stamp his mark on the enterprise, this time there are some bits that are new to me, the particular one that gets my goat is:

“High operational risk due to dependency on few individuals” errr that was because these were specialists that dealt with the products day in, day out for years and knew not only the products but the underlying business and can identify and fix issues in minutes, even seconds, as a business side colleague pointed out, if this was in brain surgery rather than high finance, the suggestion that there are too few proper brain surgeons and they cost a too much, so we should give the work to ordinary doctors, would cause an outcry,

It only works in a corporations because the people issuing them don’t actually understand what their business REALLY does, yes its bad for redundancy purposes and horrible for the day to day running cost to have specialists, but the reason it looks like an easy target is because there have been no problems so everyone thinks the work is simple to do,

This problem was exemplified by an issue in which a instance of Jboss on Redhat became ill during a end of day run and would not restart with the normal scripts we had written, the cause was not a code based one, it is a dedicated box that does nothing else, and we were in a time sensitive situation, the new support personnel (who have been in the role for 8+ months now), were completely at a loss as this scenario was not on their sheet of “how to do stuff”, a suggestion of “Restart the bloody box”, was treated with blank stares and a question of “which script is that”,

It took over an hour to even get them to mail the hardware administrators to get them to do a restart of the physical box (something they could have done them selves in 2 mins with a “sudo Reboot”) , all in all nearly 2 hours of run time was lost making the business very unhappy, this is not intelligent support!!, this is not an improvement!!!, I would say that we now have even higher operational risk than before as we have NO individuals that we can depend on .

To conclude, the support and growth of any business is a balancing act, if you only have 3-4 line people then day to day its very expensive (often unjustifiably so), but you most likely wont ever have a major disaster, if you only have 1-2 line people, then day to day it will be cheap as chips, but when a change is needed to fight off your competitors or deal with a major disaster you will face a sea of blank expressions all saying “that is not on my script sheet”