Archive for the ‘Topic Map Software’ Category

Wandora – New Release – 2016-03-08

Wednesday, March 9th, 2016

Wandora – New Release – 2016-03-08

The homepage reports:

New Wandora version has been released today (2016-03-08). The release adds Wandora support to MariaDB and PostgreSQL database topic maps. Wandora has now more stylish look, especially in Traditional topic map. The release fixes many known bugs.

I’m no style or UI expert but I’m not sure where I should be looking for the “…more stylish look….” 😉

From the main window:


If you select Tools and then Tools Manager (or Cntrl-t [lower case, contrary to the drop down menu]), you will see a list of all tools (300+) with the message:

All known tools are listed here. The list contains also unfinished, buggy and depracated tools. Running such tool may cause exceptions and unpredictable behavior. We suggest you don’t run the tools listed here unless you really know what you are doing.

It is a very impressive set of tools!

There is no lack of place to explore in Wandora and to explore with Wandora.


Wandora – 2015-11-13 Release

Friday, November 13th, 2015

Wandora (download page)

The change log is rather brief:

Wandora 2015-11-13 fixes a lot of OS X related bugs. Release introduces enhanced subject locator previews for WWW resources, including videos, images, audio files and interactive fiction (z-machine). The release has been compiled and tested in Java 8.

Judging from tweets between this release and the prior one, new features include:

  • Subject locator preview for web pages
  • Subject locator preview for a #mp3 #ogg #mod #sidtune #wav

If you are new to Wandora be sure to check out the Wandora YouTube Channel.

I need to do an update on the Wandora YouTube Channel, lots of good stuff there!

Introducing LegalPad [free editor]

Thursday, July 2nd, 2015

Introducing LegalPad by Jake Heller.

From the webpage:

I’m thrilled to officially announce something we’ve been working on behind the scenes here at Casetext: LegalPad. It’s live on the site right now: you can use it, for free, and without registering. So before reading about it from me, I recommend checking it out for yourself!

A rethought writing experience

LegalPad is designed to be the best way to write commentary about the law.

This means a few things. First, we created a clean writing experience, easier to use than traditional blogging platforms. Editing is done through a simplified editor bar that is there only when you need it so you can stay focused on your writing.

Second, the writing experience is especially tailored towards legal writing in particular. Legal writing is hard. Because law is based on precedent and authority, you need to juggle dozens of primary sources and documents. And as you write, you’re constantly formatting, cite-checking, BlueBooking, editing, emailing versions for comments, and researching. All of this overhead distracts from the one thing you really want to focus on: perfecting your argument.

LegalPad was designed to help you focus on what matters and avoid unnecessary distractions. A sidebar enables you to quickly pull up bookmarks collected while doing research on Casetext. You can add a reference to the cases, statutes, regulations, or other posts you bookmarked, which are added with the correct citation and a hyperlink to the original source.

You can also pull up the full text of the items you’ve bookmarked in what we are calling the PocketCase. Not only does the PocketCase enable you to read the full text of the case you are writing about while you’re writing, you can also drop in quotes directly into the text. They’ll be correctly formatted, have the right citation, and even include the pincite to the page you’ve copied from.

LegalPad also has one final, very special feature. If your post cites to legal authority, it will be connected to the case, statute, or regulation you referenced such that next time someone reads the authority, they’ll be alerted to your commentary. This makes the world’s best free legal research platform an even better resource. It also helps you reach an audience of over 350,000 attorneys, in-house counsel, professors, law students, other legal professionals, and business leaders who use Casetext as a resource every month.

LegalPad and CaseNote are free so I signed up.

I am working on an annotation of Lamont v. Postmaster General 381 U.S. 301 (1965) to demonstrate it relevancy to FBI Director James Comey’s plan to track contacts with ISIS over social media.

A great deal of thought and effort has gone into this editing interface! I was particularly pleased by the quote insert with link back to the original material feature.

At first blush and with about fifteen (15) minutes of experience with the interface, I suspect that enhancing it with entity recognition and stock associations would not be that much of a leap. Could be very interesting.

More after I have written more text with it.

Wandora – Heads Up! New release 2015-04-20

Thursday, April 16th, 2015

No details, just saw a tweet about the upcoming release set for next next Monday.

The latest date that the new web search application from DARPA will drop as well.

Could be the start of a busy week!

Should Topic Maps Gossip?

Wednesday, March 18th, 2015

Efficient Reconciliation and Flow Control for Anti-Entropy Protocols byRobbert van Renesse, Dan Dumitriu, Valient Gough and Chris Thomas.


The paper shows that anti-entropy protocols can process only a limited rate of updates, and proposes and evaluates a new state reconciliation mechanism as well as a flow control scheme for anti-entropy protocols.

Excuse the title, I needed a catchier line than the title of the original paper!

This is the Scuttlebutt paper that underlies Cassandra.

Rather than an undefined notion of consistency, ask yourself how much consistency is required by an application?

I first saw this in a tweet by Jason Brown.

Wandora tutorial – OCR extractor and Alchemy API Entity extractor

Wednesday, March 18th, 2015

From the description:

Video reviews the OCR (Optical Character Recognition) extractor and the Alchemy API Entity extractor of Wandora application. First, the OCR extractor is used to recognize text out of PNG images. Next the Alchemy API Entity extractor is used to recognize entities out of the text. Wandora is an open source tool for people who collect and process information, especially networked knowledge and knowledge about WWW resources. For more information see

A great demo of some of the many options of Wandora! (Wandora has more options than a Swiss army knife.)

It is an impressive demonstration.

If you aren’t familiar with Wandora, take a close look at it:

Wandora 2015-02-03 Release!

Tuesday, February 3rd, 2015

Wandora 2015-02-03 Release!

From the change log:

This release enhances Wandora’s UI.

  • View menu has been restructured. Now the View menu contains a submenu for each open topic panel.
  • Search (topic) panel. Open any number of distinct searches and queries. Use menu option View > New panel > Search.
  • Tree (topic) panel. Open any number of distinct topic trees. Add new tree with menu option View > New panel > Tree.
  • Layer info (topic panel). Keep topic map layer info panel open while you edit the topic map. View layer info with menu option View > New panel > Layer info.
  • Drop extractor (topic panel). Yes, Drag and drop extractor is back. Drop extractor is very handy when you need to build a topic of using local resources such as files.
  • Numerous smaller fixes and enhancements.

Looking forward to testing out the new UI features!


Augmented Reality or Same Old Sh*t (just closer)

Friday, January 2nd, 2015

ODG just set the new bar for augmented reality by Signe Brewster.

From the post:

Back in the fall of 2014, a little-known San Francisco company called ODG released two pairs of augmented reality glasses. While the industry’s software companies were busy hawking Epson’s respectable BT-200 glasses, developers were telling me something different: It’s all about ODG.

Now, ODG is expanding into the consumer space with a new headset it will announce at the CES conference. The yet-to-be named glasses will be designed similarly to Wayfarer sunglasses (every consumer augmented reality company’s choice these days) and weigh a relatively light 125 grams. They run on an integrated battery and work with ODG’s series of input devices, plus anything else that relies on Bluetooth. They will cost less than $1,000 and are scheduled to be released by the end of the year. ODG will debut a new software platform next week to complement the glasses. It all runs on Android.

Signe’s post isn’t long on details but she does have direct experience using the ODG headsets. Most of the rest of us will have to wait until the end of 2015. Rats!

In the meantime, however, I suspect you are going to be more interested in the developer resources:

Developer Resources

ODG supports Developers through it’s ReticleOS™ SDK and Developer Support Site with API documentation, tutorials, sample code, UI/UX guide, and forums that will allow developers to program new applications and modify existing ones. You can also apply for a 25% discount for glasses, up to 2 sets.

In Q4, we will offer a hardware development kit consisting of same board, sensors, controls, and camera as in the glasses with an HDMI out and serial port.

Reticle OS Marketplace

Follow our UI/UX suggestions and your app can have a home in the future ODG App Marketplace to be launched shortly. For app and in-app products that you sell on the ODG marketplace, the transaction fee will be equivalent to 25% of the price.

My primary interest is in the authoring of data that could then be used by applications for ODG headsets.

For example, (speculation follows) you ask the interface for the latest news on your congressional representative, Rep. Scalise. Assume it has been discovered they are known associates with a former leader of the KKK. Do you really want every link to every story on Rep. Scalise?

Wouldn’t you prefer a de-duped news feed that gave you one link? To the most complete story on that issue and suppressed the rest? When you have time to waste you can return to the story and pursue the endless repetition without new information just like on CNN.

Is your augmented reality going to be better than your everyday reality or is it going to be the same old sh*t, just closer to your eyes?

New York Times API extractor and Google Maps visualization (Wandora Tutorial)

Tuesday, November 25th, 2014

New York Times API extractor and Google Maps visualization (Wandora Tutorial)

From the description:

Video reviews the New York Times API extractor, the Google Maps visualization, and the graph visualization of Wandora application. The extractor is used to collect event data which is then visualized on a map and as a graph. Wandora is an open source tool for people who collect and process information, especially networked knowledge and knowledge about WWW resources. For more information see

This is impressive, although the UI may have more options than MS Word. 😉 (It may not, I haven’t counted every way to access every option.)

Here is the result that was obtained by use of drop down menus and selecting:

wandora event map

The Times logo marks events extracted from the New York Times and merged for display with Google Maps.

Not technically difficult but it is good to see a function of interest to ordinary users in a topic map application.

I have the latest release of Wandora. Need to start walking through the features.

Wandora 2014-11-24

Monday, November 24th, 2014

Wandora 2014-11-24

From the homepage:

New Wandora release (2014-11-24) features Watson translation API support, Alchemy face detection API extractor, enhanced occurrence view in Traditional topic panel. The release adds Spanish, German and French as a default languages for topic occurrences and names. The release contains numerous smaller enhancements and fixes.


If you don’t know Wandora:

Wandora is a tool for people who collect and process information, especially networked knowledge and knowledge about WWW resources. With Wandora you can aggregate and combine information from various different sources. You can manipulate the collected knowledge flexible and efficiently, and without programming skills. More generally speaking Wandora is a general purpose information extraction, management and publishing application based on Topic Maps and Java. Wandora suits well for constructing and maintaining vocabularies, ontologies and information mashups. Application areas include linked data, open data, data integration, business intelligence, digital preservation and data journalism. Wandora’s license is GNU GPL. Wandora application is developed actively by a small number of experienced software developers. We call ourselves as the Wandora Team.

The download zip file has the data of the release in its name, making it easy to keep multiple versions of Wandora on one machine. You can try a new release without letting go of your current one. Thanks Wandora team!

New Wandora Release 2014-09-25

Tuesday, September 30th, 2014

New Wandora Release 2014-09-25

This release features:

Sounds good to me!

Download the latest release today!

Digital Dashboards: Strategic & Tactical: Best Practices, Tips, Examples

Friday, September 19th, 2014

Digital Dashboards: Strategic & Tactical: Best Practices, Tips, Examples by Avinash Kaushik.

From the post:

The Core Problem: The Failure of Just Summarizing Performance.

I humbly believe the challenge is that in a world of too much data, with lots more on the way, there is a deep desire amongst executives to get “summarize data,” to get “just a snapshot,” or to get the “top-line view.” This is understandable of course.

But this summarization, snapshoting and toplining on your part does not actually change the business because of one foundational problem:

People who are closest to the data, the complexity, who’ve actually done lots of great analysis, are only providing data. They don’t provide insights and recommendations.

People who are receiving the summarized snapshot top-lined have zero capacity to understand the complexity, will never actually do analysis and hence are in no position to know what to do with the summarized snapshot they see.

The end result? Nothing.

Standstill. Gut based decision making. No real appreciation of the delicious opportunity in front of every single company on the planet right now to have a huger impact with data.

So what’s missing from this picture that will transform numbers into action?

I believe the solution is multi-fold (and when is it not? : )). We need to stop calling everything a dashboard. We need to create two categories of dashboards. For both categories, especially the valuable second kind of dashboards, we need words – lots of words and way fewer numbers.

Be aware that the implication of that last part I’m recommending is that you are going to become a lot more influential, and indispensable, to your organization. Not everyone is ready for that, but if you are this is going to be a fun ride!

A long post on “dashboards” but I find it relevant to the design of interfaces.

In particular the advice:

This will be controversial but let me say it anyway. The primary purpose of a dashboard is not to inform, and it is not to educate. The primary purpose is to drive action!

Hence: List the next steps. Assign responsibility for action items to people. Prioritize, prioritize, prioritize. Never forget to compute business impact.

Curious how exploration using a topic map could feed into an action process? Would you represent actors in the map and enable the creation of associations that represent assigned tasks? Other ideas?

I found this in a post, Don’t data puke, says Avinash Kaushik by Kaiser Fung and followed it to the original post.

Understanding weak isolation is a serious problem

Wednesday, September 17th, 2014

Understanding weak isolation is a serious problem by Peter Bailis.

From the post:

Modern transactional databases overwhelmingly don’t operate under textbook “ACID” isolation, or serializability. Instead, these databases—like Oracle 11g and SAP HANA—offer weaker guarantees, like Read Committed isolation or, if you’re lucky, Snapshot Isolation. There’s a good reason for this phenomenon: weak isolation is faster—often much faster—and incurs fewer aborts than serializability. Unfortunately, the exact behavior of these different isolation levels is difficult to understand and is highly technical. One of 2008 Turing Award winner Barbara Liskov’s Ph.D. students wrote an entire dissertation on the topic, and, even then, the definitions we have still aren’t perfect and can vary between databases.

To put this problem in perspective, there’s a flood of interesting new research that attempts to better understand programming models like eventual consistency. And, as you’re probably aware, there’s an ongoing and often lively debate between transactional adherents and more recent “NoSQL” upstarts about related issues of usability, data corruption, and performance. But, in contrast, many of these transactional inherents and the research community as a whole have effectively ignored weak isolation—even in a single server setting and despite the fact that literally millions of businesses today depend on weak isolation and that many of these isolation levels have been around for almost three decades.2

That debates are occurring without full knowledge of the issues at hand isn’t all that surprising. Or as Job 38:2 (KJV) puts it: “Who is this that darkeneth counsel by words without knowledge?”

Peter raises a number of questions and points to resources that are good starting points for investigation of weak isolation.

What sort of weak isolation does your topic map storage mechanism use?

I first saw this in a tweet by Justin Sheehy.

Wandora 2014-08-20 Release

Wednesday, August 20th, 2014

Wandora 2014-08-20 Release

From the change log:


For a file with the distribution date, in case you have multiple versions, try

In the latest round of new features, Rekognition extractor and Alchemy API image keyword extractor are the two I am most likely to try first. Images are one of the weakest forms of evidence but they still carry the imprimatur of being “photographic.”

What photo collection will you be tagging first?


Sunday, July 27th, 2014

PHPTMAPI 3 by Johannes Schmidt.

From the webpage:

PHPTMAPI 3 is the succession project of

PHPTMAPI is a PHP5 API for creating and manipulating topic maps, based on the project. This API enables PHP developers an easy and standardized implementation of ISO/IEC 13250 Topic Maps in their applications.

What is TMAPI?

TMAPI is a programming interface for accessing and manipulating data held in a topic map. The TMAPI specification defines a set of core interfaces which must be implemented by a compliant application as well as (eventually) a set of additional interfaces which may be implemented by a compliant application or which may be built upon the core interfaces.

Please spread the word to our PHP brethren.

Wandora Moves to Github

Saturday, July 5th, 2014

Wandora Moves to Gibhub

I saw a tweet today by Wandora announcing a move to GitHub.

From the new GitHub page:

Wandora is a general purpose information extraction, management and publishing application based on Topic Maps and Java. Wandora has graphical user interface, multiple visualization models, huge collection of information extraction, import and export options, embedded HTTP server with several output modules and open plug-in architecture. Wandora is a FOSS application with GNU GPL license. Wandora suits well for constructing and maintaining vocabularies, ontologies and information mashups. Application areas include data integration, business intelligence, digital preservation, data journalism, open data and linked data projects.

If you aren’t familiar with Wandora, check it out.

If it has been a while since you looked at Wandora, its time for another visit.

The traditional Wandora site is still up and news there reports the move to GitHub was to make development more transparent and to attract new developers.

Well, you have the invitation. How are you going to respond?

Wandora 2014-06-05 Available!

Thursday, June 5th, 2014

Wandora 2014-06-05 Available!

From the webpage:

Read carefully Wandora’s system requirements and license before downloading and installing the application. The Wandora application requires Java Runtime Environment (JRE) or Java Development Kit (JDK) version 7. Neither JRE nor JDK is not included in the distribution packages. We emphasize that the Wandora is an ongoing project and the software is incomplete, absolutely contains bugs and the feature set may change without notice. Download Wandora’s latest version (build date 2014-06-05, see Change log):

Of particular interest:

Twitter extractor has been updated to reflect Twitter API changes.


High-Performance Browser Networking

Monday, May 12th, 2014

High-Performance Browser Networking by Ilya Grigorik.

From the foreword:

In High Performance Browser Networking, Ilya explains many whys of networking: Why latency is the performance bottleneck. Why TCP isn’t always the best transport mechanism and UDP might be your better choice. Why reusing connections is a critical optimization. He then goes even further by providing specific actions for improving networking performance. Want to reduce latency? Terminate sessions at a server closer to the client. Want to increase connection reuse? Enable connection keep-alive. The combination of understanding what to do and why it matters turns this knowledge into action.

Ilya explains the foundation of networking and builds on that to introduce the latest advances in protocols and browsers. The benefits of HTTP 2.0 are explained. XHR is reviewed and its limitations motivate the introduction of Cross-Origin Resource Sharing. Server-Sent Events, WebSockets, and WebRTC are also covered, bringing us up to date on the latest in browser networking.

Viewing the foundation and latest advances in networking from the perspective of performance is what ties the book together. Performance is the context that helps us see the why of networking and translate that into how it affects our website and our users. It transforms abstract specifications into tools that we can wield to optimize our websites and create the best user experience possible. That’s important. That’s why you should read this book.

Network latency may be responsible for a non-responsive app but can you guess who the user is going to blame?

Right in one, the app!

“Not my fault” isn’t a line item on any bank deposit form.

You or someone on your team needs to be tasked with performance, including reading High-Performance Browser Networking.

I first saw this in a tweet by Jonas Bonér

Wandora Bug Fix

Monday, May 5th, 2014

From the change log:


  • Fixes bugs in selection extractors of embedded WWW browser. Wandora used to calculate selection boundaries wrong and wasn’t able to perform selection extractions in the embedded WWW browser.
  • The directory structure extractor, simple HTML list and HTML table extractors now generate more clearer topic maps fragments and links the extraction to the Wandora class. This change hopefully increases the usability of these extractors.

Download the latest Wandora build 2014-05-05.

Wandora – New Version [TMQL]

Tuesday, April 15th, 2014

Wandora – New Version

From the webpage:

It is over six months since last Wandora release. Now we are finally ready to publish new version with some very interesting new features. Release 2014-04-15 features TMQL support and embedded HTML browser, for example. TMQL is the topic map query language and Wandora allows the user to search, query and modify topics and associations with TMQL scripts. Embedded HTML browser expands Wandora’s internal visualizations repertoire. Wandora embedded HTTP server services are now available inside the Wandora application….

Change Log, Download.

Two of the biggest changes:

Download your copy today!

I will post a review by mid-May, 2014.

Interested to hear your comments, questions and suggestions in the mean time.

BTW, the first suggestion I have is that the download file should NOT be but rather wandora-(date).zip if nothing else. Ditto for the source files and javadocs.

QuaaxTM New Release!

Saturday, March 1st, 2014

QuaaxTM 0.8.0 by Johannes Schmidt.

From the webpage:

QuaaxTM is a PHP ISO/IEC 13250 Topic Maps engine which implements PHPTMAPI. This enables developers to work against a standardized API. QuaaxTM uses MySQL with InnoDB or MariaDB with XtraDB as storage engine and benefits from transaction support and referential integrity.



From the news:

0.8.0 passes all unit tests on MariaDB 5.5.35 using XtraDB storage engine. Prior versions of MariaDB should also work but are not tested.

If you don’t know MariaDB,

Looking good!

Topincs – New Release

Monday, February 3rd, 2014

Topincs 7.1.0

Now I see why Robert Cerny has been making all those screencast videos!

If you haven’t visited the Topincs homepage in a while, you really should take a look!

Sheer marketing genius when compared to most (all?) topic map marketing efforts!

I particularly liked the:

Slim down!!!

No more version control

No more build tool

No more IDE

Just a web browser and Topincs

(See the Topincs homepage for the best viewing results.)

The most important new feature is the study Topincs online option.

You submit your email address and in a few moments, a login ID with password appears in your inbox.

When you login, a Topincs instance has been created for you!

How slick is that?

No download, no install, no standing on one foot while whistling out of the opposite ear, etc.

Is there a saying: “Nothing but web?” 😉


I am sure any and all feedback will be greatly appreciated!

Topincs Videos

Tuesday, January 21st, 2014

Robert Cerny is creating a series of videos on using Topincs.

For best results you will need a copy of Topincs: download.

Videos include:

If you are not familiar with the interface, it may take a little while to become comfortable with it, but the videos should help in that regard.

In particular I like length of the videos. Show one thing and one thing only.

That allows a new user to gain confidence with that one thing and then to move onto another.

The videos would be even more useful if there was a set order with test data for the first ones. So that people would not have to guess at random which one they should see first.

Update: How to setup the PHP programming interface in Topincs Added 22 Jan. 2014

Open Source Release: java-hll

Friday, January 3rd, 2014

Open Source Release: java-hll

From the post:

We’re happy to announce our newest open-source project, java-hll, a HyperLogLog implementation in Java that is storage-compatible with the previously released postgresql-hll and js-hll implementations. And as the rule of three dictates, we’ve also extracted the storage specification that makes them interoperable into it’s own repository. Currently, all three implementations support reading storage specification v1.0.0, while only the PostgreSQL and Java implementations fully support writing v1.0.0. We hope to bring the JS implementation up to speed, with respect to serialization, shortly.

For reasons to be excited, see my HyperLogLog post archive.

QuaaxTM 0.7.6

Sunday, December 1st, 2013

QuaaxTM 0.7.6

From the webpage:

QuaaxTM is a PHP Topic Maps engine which supports ISO/IEC 13250-2 Topic Maps Data Model (TMDM). The TMDM is a subject centric data model.

QuaaxTM implements the PHPTMAPI core and index interfaces. PHPTMAPI is based on the TMAPI specification and provides a standardized API for PHP 5 to access and process data held in a topic map.

QuaaxTM persists Topic Maps data using MySQL with InnoDB as storage engine and therefore benefits from transaction support and referential integrity.

Now there’s a nice way to start the month! A new release of topic map software!

Review the change log or just download the latest release.


Thursday, October 17th, 2013

cudaMap: a GPU accelerated program for gene expression connectivity mapping by Darragh G McArt, Peter Bankhead, Philip D Dunne, Manuel Salto-Tellez, Peter Hamilton, Shu-Dong Zhang.


BACKGROUND: Modern cancer research often involves large datasets and the use of sophisticated statistical techniques. Together these add a heavy computational load to the analysis, which is often coupled with issues surrounding data accessibility. Connectivity mapping is an advanced bioinformatic and computational technique dedicated to therapeutics discovery and drug re-purposing around differential gene expression analysis. On a normal desktop PC, it is common for the connectivity mapping task with a single gene signature to take > 2h to complete using sscMap, a popular Java application that runs on standard CPUs (Central Processing Units). Here, we describe new software, cudaMap, which has been implemented using CUDA C/C++ to harness the computational power of NVIDIA GPUs (Graphics Processing Units) to greatly reduce processing times for connectivity mapping.

RESULTS: cudaMap can identify candidate therapeutics from the same signature in just over thirty seconds when using an NVIDIA Tesla C2050 GPU. Results from the analysis of multiple gene signatures, which would previously have taken several days, can now be obtained in as little as 10 minutes, greatly facilitating candidate therapeutics discovery with high throughput. We are able to demonstrate dramatic speed differentials between GPU assisted performance and CPU executions as the computational load increases for high accuracy evaluation of statistical significance.

CONCLUSION: Emerging ‘omics’ technologies are constantly increasing the volume of data and information to be processed in all areas of biomedical research. Embracing the multicore functionality of GPUs represents a major avenue of local accelerated computing. cudaMap will make a strong contribution in the discovery of candidate therapeutics by enabling speedy execution of heavy duty connectivity mapping tasks, which are increasingly required in modern cancer research. cudaMap is open source and can be freely downloaded from

Or to put that in lay terms, the goal is to establish the connections between human diseases, genes that underlie them and drugs that treat them.

Going from several days to ten (10) minutes is quite a gain in performance.

This is processing of experimental data but is it a window into techniques for scaling topic maps?

I first saw this in a tweet by Stefano Bertolo.

Compression Bombs

Sunday, September 1st, 2013

Vulnerabilities that just won’t die – Compression Bombs

From the post:

Recently Cyberis has reviewed a number of next-generation firewalls and content inspection devices – a subset of the test cases we formed related to compression bombs – specifically delivered over HTTP. The research prompted us to take another look at how modern browsers handle such content given that the vulnerability (or perhaps more accurately, ‘common weakness’ – has been reported and well known for over ten years. The results surprised us – in short, the majority of web browsers are still vulnerable to compression bombs leading to various denial-of-service conditions, including in some cases, full exhaustion of all available disk space with no user input.

“[F]ull exhaustion of all available disk space with no user input,”

sounds bad to me.

Does your topic map software protect itself against compression bombs?

Log as a Service (Part 1 of 2)

Sunday, June 30th, 2013

Log as a Service (Part 1 of 2) by Oliver Kennedy.

From the post:

Last week I introduced some of the hype behind our new project: Laasie. This week, let me delve into some of the technical details. Although for simplicity, I’ll be using the present tense, please keep in mind that what I’m about to describe is work in progress. We’re hard at work implementing these, and will release when-it’s-ready (tm blizzard entertainment).

So, let’s get to it. There are two state abstractions in Laasie: state land, and log land. I’ll address each of these independently.

See: Laasie: Building the next generation of collaborative applications.

I am partially interested in Laasie because of work that is ongoing to enable ODF markup to support collaborative editing (a special case of change tracking).

I am also interested because authoring topic maps should be a social enterprise, which implies collaborative editing.

Finally, in hopes that collaborative editing will fade the metaphor of a physical document. A “document” will be what we have requested to be displayed at a point in time, populated by particular components and content.

I remain deeply interested in physical texts and their traditions, including transmission.

However, they should not be confused with their simulacra that we make manifest with our computers.

Building Distributed Systems With The Right Tools:…

Monday, June 24th, 2013

Building Distributed Systems With The Right Tools: Akka Looks Promising

From the post:

Modern day developers are building complex applications that span multiple machines. As a result, availability, scalability, and fault tolerance are important considerations that must be addressed if we are to successfully meet the needs of the business.

As developers building distributed systems, then, being aware of concepts and tools that help in dealing with these considerations is not just important – but allows us to make a significant difference to the success of the projects we work on.

One emerging tool is Akka and it’s clustering facilities. Shortly I’ll show a few concepts to get your mind thinking about where you could apply tools like Akka, but I’ll also show a few code samples to emphasise that these benefits are very accessible.

Code sample for this post is on github.

Why Should I Care About Akka?

Let’s start with a problem… We’re building a holidays aggregration and disitribution platform. What our system does is fetch data from 200 different package providers, and distribute it to over 50 clients via ftp. This is a continuous process.

Competition in this market is fierce and clients want holidays and upto date availability in their systems as fast as possible – there’s a lot of money to be made on last-minute deals, and a lot of money to be lost in selling holiday’s that have already been sold elsewhere.

One key feature then is that the system needs to always be running – it needs high availability. Another important feature is performance – if this is to be maintained as the system grows with new providers and clients it needs to be scalable.

Just think to yourself now, how would you achieve this with the technologies you currently work with? I can’t think of too many things in the .NET world that would guide me towards highly-available, scalable applications, out of the box. There would be a lot of home-rolled infrastructure, and careful designing for scalability I suspect.

Akka Wants to Help You Solve These Problems ‘Easily’

Using Akka you don’t call methods – you send messages. This is because the programming model makes the assumption that you are building distributed, asynchronous applications. It’s just a bonus if a message gets sent and handled on the same machine.

This arises from the fact that the framework is engineered, fundamentally, to guide you into creating highly-available, scalable, fault-tolerant distributed applications…. There is no home-rolled infrastructure (you can add small bits and pieces if you need to).

Instead, with Akka you mostly focus on business logic as message flows. Check out the docs or pick up a book if you want to learn about the enabling concepts like supervision.

If you are contemplating a distributed topic map application, Akka should be of interest.

Work flow could result in different locations reflecting different topic map content.

Laasie: Building the next generation of collaborative applications

Monday, June 24th, 2013

Laasie: Building the next generation of collaborative applications by Oliver Kennedy.

From the post:

With the first Laasie paper (ever) being presented tomorrow at WebDB (part of SIGMOD), I thought it might be a good idea to explain the hubbub. What is Laasie?

The short version is that it’s an incremental state replication and persistence infrastructure, targeted mostly at web applications. In particular, we’re focusing on a class of collaborative applications, where multiple users interact with the same application state simultaneously. A commonly known instance of such applications is the Google Docs office suite. Multiple users viewing the same document can simultaneously both view and edit the document.

Do your topic maps collaborate with other topic maps?