All Things Techie With Huge, Unstructured, Intuitive Leaps

Start-up Web Presence -

Saw ten excellent tech start-ups last week. When I went to check out their websites, a couple of them were using It enables you to get a start-up web presence fast.

If you are wondering how to get a website up quickly to build a mailing list and such, is the ticket. Their tagline is: "Set up a "Launching Soon" page in minutes. Collect interest, increase in sharing and build your audience." I think that it is a hell of a platform.

Disclaimer: As per usual, I am in no way affiliated with LaunchRock, and I have no connection to them. I didn't receive any kind of consideration for this posting, and they are unaware that I am doing it. This is just my opinion that they are a valuable product and a good idea.

The Most Disliked Things On A Website

One of the startups that I ran into this week, is They have an interesting concept where they have tools to break down a website into all of its constituent components, and then get feedback from a cadre of User Experience Raters. That way, they can tell what works and what doesn't work. From this, they get an overall rating of the usability of the web site as well as its appeal.

There was an eye-opener for me that has ramifications for user experience. I was being given a demo of a website, and the most hated thing on the website were the social media buttons:

This was a major surprise. Somehow one has to convey the fact that they can be found on social media without the gaggle of social media icons. Perhaps there may be a separate page or menu item called connect that hides itself unless invoked, or it uses a jQuery layer that goes away.

One would have never guessed that there is "fatigue" from social media buttons. Check out

How To Get Venture Capital -- Ten Things

Every coder's dream is to have an idea, turn it into a startup, and then pitch to a room full of venture capitalists. These VC's have truckloads of money to invest in ideas that have legs.

I had that opportunity yesterday. It was an amazing experience, and I have lost my voice from all of the talking that I did yesterday.

This venture capital fair was sponsored by government, private industry and regional executives bent on improving the local regional infrastructure. High tech startups create jobs and creates an eco-system of innovation and well-being for the community.

So the basics to get venture capital are the following:


1) Your product has to solve a problem or add value
2) There should be a large demand for your product
3) There should be a clearly defined revenue stream
4) You should have an excellent business plan
5) You should do some real world validation of your product before you go along too far.
6) Your product should work.
7) You should be able to communicate the essence of your product in 30 seconds.
8) Your product should have a unique value proposition, and should be original
9) You should find some early adopters willing to use your product
10) You should have an excellent communications and marketing strategy.

Marketing is the key to any product. You not only have to develop your product, but you have to sell it.

Some Mobile HTML Tags Not To Use

When I developed my first mobile app, I googled some articles to make sure that I got it right. Several of the online articles told me to add the following mobile tags:

"meta name="HandheldFriendly" content="true" /"
"meta name="MobileOptimized" content="240" /"
"meta name = "viewport" content = "width = 240""
"meta name="apple-mobile-web-app-capable" content="yes""

(Note: I couldn't use "<" or ">" because Blogger kept thinking that I was embedding HTML )

I did. I ran into problems. With these tags, they worked well on some mobile browsers, but they were preventing the scaling of the web page on others. The latest Android browser was problematic.

I was initially stymied by this, and in a flash of inspiration, I removed these tags and everything seemed to work well, both on the desktop computers, and all mobile devices including Blackberry.

I am wondering as to how useful that they really are.

Java: How to schedule an event for a specific time

In a previous blog entry, I showed a snippet of code on how to determine the amount of minutes from now to a specific time.

The code was quite simple:

Date now = new Date();
GregorianCalendar expiryDate = myevent.getExpiryDate();
Date end = expiryDate.getTime();
long difference = Math.abs(end.getTime() - now.getTime());
long minutesLeft = difference / (1000 * 60);

Starting from that point, it is quite simple to schedule a Java runnable thread at a specific time. Here is how I did it:

private ScheduledExecutorService scheduler;
scheduler = Executors.newSingleThreadScheduledExecutor();

Date now = new Date();
GregorianCalendar expiryDate = myevent.getExpiryDate();
Date end = expiryDate.getTime();
long difference = Math.abs(end.getTime() - now.getTime());
long minutesLeft = difference / (1000 * 60);
long secondsLeft = difference / 1000;
// task to run is embedded in a class implementing Runnable
RunnableNow runnableNow = new RunnableNow()
scheduler.schedule(uhuraNow, secondsLeft, TimeUnit.SECONDS);

Hope this snippet save someone some time ~ The Death Knell for

This entry is about changing or evolving revenue stream paradigms on the web. I have previously written about and how it will turn into a MySpace shortly. You can read the blog article HERE. In that article, I mentioned how it was easy to find my old classmates for free on Facebook and LinkedIn.

Well several things have happened since then that have reinforced my view that is dead man walking as well. Revenue stream paradigms evolve quickly on the internet.

For, you sign up for free, but that is just a teaser. You can send messages, but to read them, and see extended information about your classmates, you have to buy a membership. This was the same paradigm for dating sites like For dating, along came which was free and made money out of advertising. It took a big chunk out of Lavalife's revenue stream.

One of the events that happened recently was that my old high school is having a 50 year reunion. They didn't go for the reunion feature on Rather they chose to go to Instead of people paying to join and see reunion details, charges a very reasonable price for an instant website and it is free. It has all of the benefits of and one can communicate with former classmates for free.

I went to the customized website for my high school, and I was totally impressed. It was made by a teacher (who was a student back in my day) with no IT or web experience at all. And the cost varies between $15 and $25 dollars a month, or you can have the website for 5 years for $599. Such a deal !!!! revenue stream paradigm is outdated, and in my estimation, they are floundering. I still get spam from them regularly begging me to visit my old account where I signed up for free, and haven't upgraded or even visited for several years. At one point, they were the only place on the web where one could easily find ex-classmates looking to be found, but that was back in the dinosaur era of the internet (a few years ago).

So this is more of a cautionary note to all of my fellow geeks. When you come up with the killer app idea, you better make provisions for an evolving revenue stream. It's very Darwinian out there, and it is survival of the most adaptive capable of going viral. And the final word, is plan on a shelf life for your killer app of no more than 10 years if you make it past the first year. A ten year old idea is ancient on the internet.

Java ~ How to get the remaining minutes between two dates

I had to look this up, so I am posting this snippet in the hope that it helps someone else.

I monitor events in real time. The program has to know when the event ends, and send SMS messages. The event, including the expiry date/time is a database entry. How do you determine the remaining time in minutes?

First I fetch the expiry date/time into a bean. It is stored as a GregorianCalendar entity in the database, because I have to extensively manipulate it before the event starts. Then I get a time for NOW. Then I have to subtract the two. This is how I do it:

Date now = new Date();
GregorianCalendar expiryDate = myevent.getExpiryDate();
Date end = expiryDate.getTime();
long difference = Math.abs(end.getTime() - now.getTime());
long minutesLeft = difference / (1000 * 60);

Hope this helps.

Browser Plug-ins that Would Sell Like Crazy

I am not a browser plug-in developer, but I do know of two browser plug-ins that would make their coders millionaires. It would be a plug-in with a semi-transparent layer with two controls -- "MUTE" and "FAST FORWARD". And it would be an intelligent plug-in. It would hide itself on most web pages, but does a quick look-ahead to see if the web page has auto-play media, either audio or audio/video. If so, the layer would materialize.

The user would have the ability to mute the sound of auto-play and for sites that put in advertising videos before the video that you actually click on to watch, it would either fast forward or eliminate it.

The web has become worse than TV for advertising. On TV you get at least 5-10 minutes of content for a thirty-second advert. On the web, if you want to watch 5 one minute clips, you get a thirty second advert with each clip.

There are programmers smart enough to build these anti-ads plugins. I am waiting.

More Reasons Why To Quit Facebook and LinkedIn

Man, I am looking smarter and smarter every day for quitting Facebook and LinkedIn. Can you imagine that your credit rating will suffer for something that you have posted on LinkedIn or Facebook?

Here is the URL of an article of Privacy Violation on these social networking sites:

And here is a reprint of the article in case it goes off line:

Credit agency plans to use Facebook Inc data to form credit ratings
Monday, 11 June 2012 11:25

Schufa is also looking into using information from other sources including Twitter and Linkedin.

Schufa, Germany's largest credit agency, is planning to use data from Facebook Inc (NASDAQ:FB) to form credit ratings, according to leaked documents says to consumer advisory body Which?

As well as pulling information from Facebook pages the agency is looking into using information from other sources including Twitter, Linkedin and Google Street View to assess individual credit ratings.

The documents, leaked to German broadcaster NDR, suggest the agency is planning to use 'crawling techniques' like those used by search engines to find relevant information with aim of 'identifying and assessing the prospects and threats'.

Mark Batistich, a member of the Which? Legal team, said: "Whilst it's not exactly clear what credit checking companies such as Schufa intend to do with data obtained from Facebook, it is certainly possible, at least in the UK, that using such information without consent could be in breach of the Data Protection Act, and also the Facebook Terms and Conditions, which set quite stringent guidelines on what can be done with information obtained from that site."

The plans have drawn criticism from the German consumer protection minister Ilse Aigner as well as justice minister, Sabine Leutheusser-Schnarrenberger, who both said the plans went too far.

JSP ~ Login before going to bookmark or URL

So you have a web app or website in JSP where you want the user to login before proceeding to a bookmarked page or a URL. And you want to proceed to that page or URL automatically after login. How do you do it?

For me, every protected JSP page has an include page:

<%@ include file="isLoggedIn.jsp"%>

That file, isLoggedIn.jsp is called on every page. In that file, the first thing that I do, is I get the request URL. I do it like this:

String redirectUrl = request.getRequestURL().toString();

Then is there is a query string afterwards ( -- the query string is showMe=cars), you need to get the query string in a separate step:

String queryString = request.getQueryString();

Since the queryString doesn't have the question mark, you need to re-assemble the called URL:

redirectUrl = redirectUrl +"?"+queryString;

Now I usually have a session attribute called "AccessGranted" or "isLoggedIn". I check for that:

String accessGranted = (String) session.getAttribute("AccessGranted");

if (accessGranted.equalsIgnoreCase("false"))

What you see above, is that I send the request URL to the login page.

On the login page, if the login is successful, I redirect to a menu page. Otherwise, I redirect to the URL that was called in the first place. I do it this way:

String redirectURL = (String) request.getParameter("requrl");
if (redirectURL == null)
redirectURL = "menuPage.jsp";

If the login fails, then:


Finally I send the user to where they have to go with the jsp redirect directive:


Easy as pie.

Check to see if Your LinkedIn Password Was Hacked

LastPass has created a secure tool to see if your LinkedIn password was compromised. I quit LinkedIn in late March, or early April, and still my password on my dead account was compromised.

Make Money from LinkedIn Passwords Hacked

A few weeks ago, I mentioned on this blog that I have quit both Facebook and LinkedIn. That looks like a pretty prescient and smart move now, in spite of the fact that prophets are never accepted in their home country.

Based on the news today that 6 million LinkedIn passwords were published on a hacker blog in Russia, I feel that by quitting these two Internet time-wasters, I have greatly enhanced my security from identity theft.

A few thoughts come up from this episode. In no obvious order:

  • A lot of people use the same password for their email, bank accounts, Facebook and LinkedIn accounts. A breach of one, may be a catastrophic breach for some people.
  • The other striking fact was that may users used linkedin as their password to LinkedIn. This sort of thing enabled the Russian hackers with small penises to break the SHA-1.
  • LinkedIn was negligent in not "salting" the passwords with random bits to enhance the security so that the same passwords do not hash out the same every time.
  • This is a prime opportunity for some young hotshot lawyer to sue the pants off LinkedIn in a class action suit for not protecting its users privacy.
  • We trust these websites a lot with our identities, and when they fail to protect them, they should be made to pay for that negligent lapse. After all, they make money from the users who sign up. You would think that they would protect that revenue stream.
  • A class action suit would work, because LinkedIn has some pretty heavy corporate hitters who value their identity privacy.
  • This sort of thing spells opportunity for any geek who can solve the intrinsic problems of traditional user name and password credentials for websites.
And I can't go a day without mentioning my own personal bĂȘte noire -- Facebook. I am not sure if Facebook tightened things up with a complete https session, but various industry insiders pointed out that there are vulnerabilities in Facebook. If Anonymous or the diminuitive tallywhacker hacker Russians ever break Facebook security, it would greatly accelerate its inevitable destiny of becoming a penny stock.

Spam ~ Fighting Fire With Fire

When you sit for long periods of time in front of a computer, and you have a fertile imagination like mine (and we all know what makes things fertile), weird and wonderful ideas pop into my head.

I regularly get spam from countries like Nigeria, Burkina Faso, and other places that tell me that the sender has access to millions of dollars and needs my help to get at it. I just have to send my identity, bank account number, a payment or two to facilitate things, and I will be a millionaire. Yeah right. Not only are they spammers, but they are scammers.

One thing that I have learned while writing healthcare software to be misused by cheating Nigerians, is that they are very very superstitious. Knowing this, I have decided to fight fire with fire when I get a piece of spam from them.

I have a throw-away email account that is mostly anonymous, so I use that in my arsenal. I send them a return email to all email accounts in the spam (usually there is an originating email address and one in the body of the email). I send them an email worded something like this:

You are an evil man. You are dishonest piece of dog scum. You send emails trying to steal money from people. I am disgusted by pigs like you. So I have gone to the voodoo Obeah -- the witch doctor and I had her lay a horrible curse on you. You will have horrible luck, and a terrible life. You will become sick. The curse cannot be lifted. I have given over possession of your soul to the Devil to play with. You will probably die within a year of a horrible disease. Your evil will be punished. People will piss on your grave.

Ha ha aha ha ha ha ah ha ... you are doomed .. just for a stupid email .. ha ha

One thing about living in Caribbean, I learned about Obeah, the west African magic, and it adds cred to my email. They know all about Obeah.

I get a remarkable sense of satisfaction in jerking their chain, because I KNOW that culturally, they can't help worrying about an email like this.

The Black Hole Net ~ Dark Web 2.0

There will come a time when internet privacy will be the concern of everyone. Only the lower socio-economic classes of people with continue to use the internet in a promiscuous way. But I predict the evolution of a deep dark web called the BlackHoleNet. This will be like the black credit cards or Swiss trusts -- a place where those that can afford it, can surf the web in virtual assured privacy. What will the BlackHoleNet look like?

First of all, to get to it, you will enter an IP address with no domain name. A lack of a domain name means one less step of information gathering by the registrar. When you arrive at the site, it will be a blank page that has a happy face or an "Under Construction" banner. Nothing. Nada. No links. Nowhere to go.

Then you insert a USB key, or SD card or another removable memory device into a port on your computer. You refresh your browser, and another page opens up. No apparent links. However this page contains an Easter Egg. If you know where it is, it asks you to log in. You have made it passed the bastion server. You are connected to the bastion server with an encrypted tunnel. On top of that, the contents of the traffic are encrypted as well.

Once behind the bastion server, you have the dark net. No search engines. No DNS. You have to know the IP addresses. The browser is such that if you start scripting a series of IP addresses, the browser will never work again, nor will the credentials to the dark web.

Inside the BlackHoleNet, there is no SMTP email. Not everyone is aware that every single email sent is archived by the intelligence agencies of almost every First World government. Inside there is no general broadcast of email. One logs into a server, and the email goes from mailbox to mailbox, in the server. Each subscriber must tunnel into the server to get their mail.

If you have to send an external regular email, the email is passed to a tokenizer which creates a token of the identity of the sender. All geo-location stuff is stripped out, and the email is then sent over regular SMTP channels. When the email is answered, a server decodes the token and takes it to its appropriate inbox.

There is a Facebook-like social media app, but it is all private, and the app is prevented from selling data or advertising. All of this privacy is funded by subscription.

There are websites that one can surf without anyone collecting information on you. There are stores that sell products, and all transactions are handled by an anonymity broker. Both the seller and buyer pass their information to the broker, and neither one knows the particulars of the other. The anonymity broker is a trust, that is audited regularly.

In essence, there will be an exclusive private darknet that will not be accessible to governments, intelligence agencies, pornographers, spammers, pedophiles, British tabloid editors, Rupert Murdoch and other scumbags and all of the vermin that now infests the internet.

Coming to an IP address near you soon. Bring a couple of wallets to pay the subscription fee.