Category Archives: web

Pondering via the web

This morning got up early and sat at my desk while having a coffee. I got multiple windows up on my multi 24″ monitor setup and my adequate quadcore Windows personal computer. Perused the latest news and tech stories.

Then I opened my Feedly account and looked at my Science feeds. “The Reference Frame” has a new post. I like that blog. Most of the time I don’t know what he is writing about, and the anti-climate change diatribes sound like Fox News, but in all it has some tidbits for us science aficionados. Like today, he is discussing something about intelligence. Which leads me to recall that there was another attempt to present an “equation” of intelligence by another sciencecy type, Bart Kosko. Bart was discussing creativity. Creativity is the measure of the number of results or responses to the same number of data or stimulus, or something like that.

So, I searched for the Kosko reference. Couldn’t find it. I did find this quote, which is very good: ““Whenever the invisible hand isn’t operating the iron fist is”” — Bart Kosko. Then I sidetracked to the Subsethood theorem. Then to “The Sample Mean“.

Which of course, I now had to browse the web to make sure I really knew what the sample mean is. This led to views of various sites and of course Wikipedia (which led to all sorts of side tracks into other things).

Anyway, back to the sample mean. While reading up on it, I thought well (not listing the paths that led here) if the standard deviation is so weak when the data has huge outliers, why not do the same computations using the Median measure? I ran Excel and did a few. Not bad. If data is pretty ‘regular’ it is close to the STD. Hmmm. Maybe this should be part of statistics? Well, more browsing and of course it turns out that it is. It is called the Median Absolute Deviation (MAD). MAD can even be added to Excel.

Well, that was an hour. Not wasted. Certainly better than watching TV. Now back to the task at hand, working on something that may make a good Kickstarter project.

More links

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Home page using TiddlyWiki

Tutorial on using the classic TiddlyWiki single-page application for a favorites/home page. TiddlyWiki 5, now in development requires its own tutorial.

A browser has a many ways of storing your favorite locations. One of these is the bookmarks feature. Bookmarks are very powerful since you can share these, and by using various apps or services use them anywhere you are located and even make them cross-browser. One can even use cloud services that allow central storage of your links.

However, due to security concerns, business demands, firewalls, or just control, having a local web page that serves as a dashboard can be very powerful and more efficient. To do this the web page must be easy to maintain, not require a server, portable, free, and powerful.

One application meets these needs: TiddlyWiki. “A reusable non-linear personal web notebook”.

“TiddlyWiki is written in HTML, CSS and JavaScript to run on any reasonably modern browser without needing any ServerSide logic. It allows anyone to create personal SelfContained hypertext documents that can be published to a WebServer, sent by email, stored in a DropBox or kept on a USB thumb drive to make a WikiOnAStick. Because it doesn’t need to be installed and configured it makes a great GuerillaWiki. “

— http://www.tiddlywiki.com/

Thus, TiddlyWiki uses the Wiki approach to a website.

“A wiki … is a website whose users can add, modify, or delete its content via a web browser using a simplified markup language or a rich-text editor. Wikis are typically powered by wiki software and are often created collaboratively by multiple users. Examples include community websites, corporate intranets, knowledge management systems, and notetaking.”

— http://en.wikipedia.org/wiki/Wiki

Wikis were first created by Ward Cunningham with his WikiWikiWeb. Wiki is a Hawaiian word that means “fast” or “quick”.

TiddlyWiki takes this concept, but makes this into a more manageable single file. Whereas in a server-based Wiki the pages are an organizing embodiment, in Tiddlywiki, there is a tinier concept, called a “tiddler,” a unit of content. Note that TiddlyWiki 5, though still based on the “tiddler” concept, will have the capability to support traditional multiple page or ‘sites’.

What follows is a simple first steps to using TiddlyWiki for a local home page. If you don’t already have a TiddlyWiki you have to download the TiddlyWiki page. Note the singular “page”. TiddlyWiki is a single HTML page. However, since it has to support multiple browser types, it usually is accompanied by a helper file to allow saving of changes via the browser, this depends on which browser you use. I am using FireFox for what follows.

Just click the ‘download’ image.

download image

Since I am using the FireFox browser version 11.0 only a single file was downloaded called “empty.html”. If you download by using Chrome you will download a zip that contains two files: empty.html and TiddlySaver.jar. Copy that file or extracted files to a folder where you want to store this “home page”. Then double-click on it. It should open in the default browser. It should look like this:

Close the browser and again in that folder, rename the file to something more useful, like homepage.html. Double click and open that file again.

Can we save changes to the page? Click on “Site Title”. A tiddler should open up:

A tiddler is just the unit of organization, a microcontent, analogous to a post in a blog, or a page in a web site.

Double click inside it or click the “edit” link. That tiddler should open into edit mode:

In the text area, change “My TiddlyWiki” to something like “My home page”. Don’t change the name of the Tiddler, “SiteTitle”. There are system related tiddlers, this is one of them. Click the “done” link. Scroll to the top of the page and the title area should now look like this:

Click on “save changes” in the right hand action area. It should show an alert area on top right of page indicating that the page was saved:

Close the browser. Now double click on that same file in the folder you created before. It should open showing the latest change you made. You’ll notice that in the file folder there is a new file named something like “homepage.20120322.0026032540.html”. By default, TiddlyWiki saves versions of the file. I would leave that setting on. As you customize your page, there are many plugins available for adding, for example, you’ll want to be able to get a prior version. An alternative is to use a version control system in this folder like Mercurial or Git.

Congrats! That is the gist of how one interacts with a TiddlyWiki page. Now change the SiteSubtitle in the same manner.

Adding Links

Since this is a homepage you want to give your information some kind of easy to use order. So first create a container for your news links. Click the “new tiddler” link in the right hand action area. This will create a new Tiddler, and add some links to the news sites you like.

Lets add a Favorites tiddler:

The result is:

Still looks very bad! Lets hide the actual news addresses:

Here we use one type of linking: [[name|address]]. The result is:

Much better. Yes the color code may not be great and the table looks old school. All this can be changed of course, but that is another topic.

Lets fill in some more place holders in the table.

And we get:

Now lets finish the page up by making the Favorites more accessible. When you open a TiddlyWiki page certain tiddlers will be shown in the display area, that central region. That central region is the “story”. Which are first shown are indicated in a tiddler called “DefaultTiddlers”. Open that one up and edit it:

We took out “GettingStarted” and used ours. Click done, save the whole Tiddly page, and then reopen it:

Lets now modify the Main Menu. This is the list on the left of the page. We’ll add our ‘Favorites’ to it. The main menu is, yep, controlled by the MainMenu tiddler. Click on that; it should be listed on the list under the ‘Shadowed’ tab.

Which results in:

That is it. Pretty simple! I will post more tutorials on adding simple features to this hompage TiddlyWiki.

More Information

  1. Youtube videos on TiddlyWiki
  2. TiddlyWiki homepage
  3. TiddlyTools for awesome but advanced plugins
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Why don’t browsers have up and down buttons?

Browsers have a forward and back button. These help you navigate within your recent browser history. But, when you land on a site from an external link you sometimes want to, for example, go up the URL path to higher ‘folders’ within the site.

Example, your at http://somewhere.com/land/animals/waterbuffalo.html. How do you get to the land folder? Maybe there is something there, or how do I get to somewhere.com itself. The answer is you click on the address bar and edit the URL. Yuck! What is this, the 1800’s? Plus on any kind of smartphone this is pain to do. Plus, did you ever try to guide over the phone a non-compute savvy person to navigate on a site by editing a URL? Even more painful.

The old Google add-ons for various browsers used to have a page up widget. On FireFox I now use “Dir Up”.

Links
Dir Up

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Project support by micropayment for link use?

There are many projects that provide a valuable resource. Funds are required to continue operations, grow, and improve. Perhaps if commercial entities are using these projects they should contribute using a form of micropayment, somewhat in the same manner advertising is supported.

Wikimedia example
Lets use Wikimedia as an example. If a corporate hosted web site refers users to a WikiMedia article, and someone triggers that link, then that would trigger a micropayment to Wikimedia. Wikimedia gains an audience and if it also “advertises” its sponsors, just as public radio and TV does, the micropayment contribution is worth the good word.

Just thinking out loud….

Further reading

Sorry Wikimedia. No micropayment on above link to your article. WordPress doesn’t pay me for drawing clicks to their site.


Terje Rypdal – Avskjed

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

A Quest For A Personal Dashboard?

The author of a post on this subject gives a User Requirements for a type of information aggregation application that results in a Dashboard for personal use.  This is one of the “unfulfilled” needs of the computer age.  Like a usable Decision Making application, the Dashboard is nowhere to be found. Instead we have silos of information predation.

Sure there are applications that provide the raw materials for making one; the Browser is itself a good vehicle for this,   and, there are Suites that do this such as Lotus Notes, MS Office, and in the enterprise sphere there are a plethora of integrated management systems that allow one to drill into information within the systems, from SAP, Anderson, CS, etc.  There are also various Semantic Web research projects that could serve as springboards to a Personal Desktop.

Jon Udel on this post:  “The personal service management console”, also calls for a new type of application that would be required to accompany a Personal Dashboard.  After all, what good is an integrated view if your management of the resources is fragmented?

So why isn’t there one?

A new contender in this field is Mozilla’s Project Raindrop.

What happened to HayStack?  That was supposed to be a big deal as presented in this paper:  “Haystack: A General Purpose Information Management Tool for End Users of Semistructured Data”.

I originally wrote this in 2009. Just noticed it was in my drafts. How time flies!

For anyone who intends creating a dashboard there are many visualization options available. See this chart.

Some links

  1. Time for users to build their own interfaces and dashboards
  2. 3 reasons to hate BI dashboards
  3. My Quest For A Personal Dashboard
  4. Productivity Tools: Personal Dashboards
  5. Dashboard (management information systems)
  6. PersonalBrain as Personal Dashboard
  7. Mind Maps as Personal Dashboards
  8. Google releases Dashboard privacy tool
  9. Software Project Dashboards – Episode 1
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

From Tags To Categories

Tags are usually non-hierarchical fine grained descriptors of a resource. They are the opposite of categories which are usually part of a semantic hierarchy. Categories are really old-school, killed by the effectiveness of Search and the expanding mash-up universe.

However, while tags provide rapid access to resources and easier sharing of them, tags do not enrich knowledge. We can see this if we consider knowledge as one of the tiers toward wisdom: data, information, knowledge, wisdom. Tags are data on information, metadata. Categories are information on knowledge.

Since data is used to create information, the data on information, tags, can be harnessed to increase the information on knowledge by the automated creation of categories. We simply create the directed cyclic graphs of tags around resources and detect clusters. The naming of categories come from the resources themselves.

This is how the internet will wake up. It will create an ontology and it will act. Hopefully, humans are part of a necessary category.

Some possible related reading

  1. Ontology on Wikipedia
  2. New Common Tag Format
  3. Semantic Web Use Cases and Case Studies. Case Study: Semantic tags
  4. Ontology is Overrated: Categories, Links, and Tags
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Email addresses should be more securely handled

Email addresses are entered in the clear, passed around, and even used for identification. Yet, these are not subject to many security concerns that other items such as user name and passwords. Why not?

They should be. Not only are email addresses identifiable pieces of one’s profile on any network, they are also attack vectors for nefarious schemes, smut, spam, and just plain nuisance. Yet, people don’t treat email addresses as that important.

Did you ever get a joke email sent to you about some amusing web page or You Tube video and on the cc address there were hundreds of other people’s email address? What is up with that? If you tell people that this is unwise or to just use bcc addresses, you get a blank stare (from even technical people).

I just got an email from a company telling me that their email provider’s database was compromised. They say that only the email addresses were stolen (yea, I believe that).

Yes, email addresses are valuable and should be treated as such.

Further Reading
Email Privacy Concerns
Users Still Careless With Email

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Twixt: Tweet Continuations

Just had a thought. Tweets should be extendable.

My approach, what I call Twixt©, consists of two simple methods.

  • Threaded: In this approach, a tweet being created (edited) that goes over the limit is subdivided into multiple tweets, and each resulting tweet links to the next so that a consumer of the tweet (human or process) can recreate the intended content.
  • Linked: In this method, a tweet that overflows, will be subdivided so that the created tweet points to the rest of the content on an external server.
    An advantage with the linked approach is that this same server can create conventional content and then post the linker tweet, like an RSS substitute. That’s tsweet!

Of course, this would require Twitter clients that could support this and the server infrastructure and API for the linking if required (I’m not involved in Twitter minutiae).

Example
I tweeted (s’cuse me), and in the tweet I put a link to a tiddler on a TiddlyWiki page.

Now if I knew how to link to a tweet, I could show you the tweet. Oh well, you get the whole idea.

Editing a TiddlyWiki page gave me this idea. A tiddler is very much a supercharged tweet except it’s locked into a single page, though a highly functional Single-Page Application (SPA) type. “Twixt” was just used in place of betwixt, but I’ll lie and say it stands for “TWeet Interaction eXtension”. 🙂

I was just informed on the TiddlyWiki forum about an awesome related use of TiddlyWiki see TwitterTabs.

A real implementation of Twixt would best be a server side service or cloud hosted application.

Implications
So what is the big deal? Well, you can still tweet what you had for breakfast, but it should also be easier to topple dictators too.

Further Reading

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Setup SSL Issues On Tomcat

I was trying to setup an external HTTP server so that I can test SSL connections from my Java app. I’ve done this with Tomcat server before. It was easy, just follow the instructions on Tomcat’s document site. All done.

    Environment

  • Windows XP Professional
  • Tomcat 6.0.29
  • Java 1.6

Not this time. A host of problems:

1.   javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1584)

2.  SEVERE: Error initializing endpoint
java.lang.Exception: No Certificate file specified or invalid file format
	at org.apache.tomcat.jni.SSLContext.setCertificate(Native Method)
	at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:721)


3.  SEVERE: Error starting endpoint
java.lang.Exception: Socket bind failed: [730048] Only one usage of each socket address (protocol/network address/port) is normally permitted.  
    at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:647)
    at org.apache.tomcat.util.net.AprEndpoint.start(AprEndpoint.java:754)
    at org.apache.coyote.http11.Http11AprProtocol.start(Http11AprProtocol.java:137)
    at org.apache.catalina.connector.Connector.start(Connector.java:1087)

The last issue above is very weird. I ran netstat and no other apps are using the ports that Tomcat is trying to use.

I won’t bore you with the details, suffice to say, I just removed the native library, tcnative-1.dll, from the Tomcat folder and everything works.

Well, not everything, I’m still getting,

        javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

But, that is more tractable.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

How to set per user browser settings?

On a shared PC running Windows 7 the browser has the last used settings when it should have the current user’s settings.

Here is another one of those things that should be easy on a modern PC but isn’t.  First searching for help on this is not easy.  Many of the links found are about setting the specific browser that each user will use.  For example, you use FireFox, wife uses IE, and your kids use Chrome.  What I’m talking about is one browser only, but multiple users on one PC.  Thus, when I open the browser my email, homepage, and other things are all mine, not the last user of the machine.  How annoying.  This is probably a symptom of Windows lame multi-user handling, after all, really supporting multiple users would reduce OS license fees.  I wonder how Windows MultiPoint Server handles this, probably doesn’t really present a “real” Windows client to each user.

I haven’t found the answer yet.  When I do I will post it here.

One kludge that works is to just use a browser in a virtual machine instance.  That will guarantee that the user settings are unique.  This will work, but only on a high-powered PC or server, not a laptop.  On a VirtualBox VM on my PC I run Ubuntu which allows me to run FireFox with the setting  I need.

Updates

System-Level Google Chrome Setup

Links

Setting “default browser” affects all users on Win”, http://forums.mozillazine.org/viewtopic.php?f=5&t=513

VirtualBox:  http://www.virtualbox.org/

FireFox:  http://www.mozilla.com/en-US/firefox/firefox.html

Windows MultiPoint Server:  http://www.microsoft.com/windows/multipoint/default.aspx

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.