Thursday, July 10, 2014

Franz Tech Corner - July 2014



Franz Tech Corner News
July, 2014

In this issue

Tech Corner Article: New Universal Date/Time Parser Facility
date-time
A new universal date/time parser facility was added by a recent patch. It defines the new functions "string-to-universal-time" and "universal-time-to-string". The first function takes a string specifying a date and time in any of a variety of standard formats and returns the corresponding universal time. The second function converts a universal time to one of those formats. This new facility is separate from the existing date-time module but integrated with it.

The new universal date time parser is described here.

Tech Corner Article: Loop Over Sequence Extension to Loop Macro
A new "for-as-in-sequence" subclause for the loop macro was added by a recent patch. It allows iteration over either lists or simple, general vectors. For example, the function foo defined below will take either a list or a vector as an argument:

(defun foo (x)
    (loop for y in-sequence x collect (1+ y)))
(foo '(1 2 3)) => (2 3 4)
(foo #(1 2 3)) => (2 3 4)

Without this extension, foo would have to make separate loop calls with lists and vectors. Note the extension has some restrictions.
See the documentation here for further details.

International Lisp Conference, 2014 - August 15-17, Montreal
ILC14
The Association of Lisp Users is pleased to announce the 2014 International Lisp Conference will be held in Montreal, Canada at Universite de Montreal from August 15 to 17, 2014. This year's focus is directed towards integrated solutions and mobile computing.
The International Lisp Conference is a forum for the discussion of Lisp and, in particular, the design, implementation and application of any of the Lisp dialects. We encourage everyone interested in Lisp to participate.
This year's program consists of tutorials, an excellent technical session, and prominent invited speakers from the Lisp communities: Christian Queinnec (Universite Pierre et Marie Curie), Ambrose Bonnaise-Sergeant (Indiana University), Stefan Monnier (Universite de Montreal) and Marc Battyani (Fractal Concept).
For additional conference infomation, see heretarget blank image..

Video - Gabor Melis' talk at ELS'14 - "Sending Beams into the Parallel Cube"
Gabor
We send probes into the topic hypercube bounded by machine learning, parallelism, software and contests, demonstrate existing and sketch future Lisp infrastructure, pin the future and foreign arrays down. We take a seemingly random walk along the different paths, watch the scenery of pairwise interactions unfold and piece a puzzle together. In the purely speculative thread, we compare models of parallel computation, keeping an eye on their applicability and lisp support. In the the Python and R envy thread, we detail why lisp could be a better vehicle for scientific programming and how high performance computing is eroding lisp's largely unrealized competitive advantages. Switching to constructive mode, a basic data structure is proposed as a first step.
To view the video, see heretarget blank image.

Free Webcast: Graph vs. Semantic Graph Databases - Selecting the Right Database for Your Next Project
Franz Graph Logo

Wednesday, July 23rd, 10 AM Pacific

A frequent question for Semantic Technology vendors: "Why use an RDF triplestore, why not a general Graph database or some other NoSQL option?" This presentation discusses the criteria for selecting the appropriate database for your application.
With the surge in interest around "Graph" technologies there is a need for understanding the tradeoffs for various Graph based technologies. There is a whole set of use cases where Graph technologies make the most sense for application success. This presentation will explore the technical and business reasons to consider a Graph Database, RDF Database, or hybrid Graph/NoSQL. We will discuss a set of real world applications for Graph technologies and explore a number of criteria to consider for proper database selection, a few are noted below:
Selection criteria:
  • (1) Do you need to model knowledge or assets and you literally have to deal with thousands of objects that have different feature sets?
  • (2) Do you add or change object definitions on a nearly daily basis?
  • (3) Do you need to do do recursive graph search on your data or you need to do complex pattern matching?
  • (4) Do you have to deal with innumerable one to many or many to many relations and you need to index them all?
To register for this webinar, see https://www2.gotomeeting.com/register/147446290target blank image.

Free Webcast: Discovering the Social Networks in your Customer Data
Gruff View

Wednesday, August 13, 10 AM Pacific

Most Enterprises have collected large bodies of data that describe interactions between their customers. Consider the graph of claims and policies for an insurance provider, telephone calls and SMS for a Telco, and links between payments by customers of financial institutions. Graph databases can be used to mine these social interactions to better understand customer patterns and opportunities.
Relational databases are fundamentally unfit to explore the graph within a social network and Big Data solutions (Hadoop, etc) are usually not meant to work with sparse graphs. The mature capabilities of Graph Databases have made them the optimal approach to mine these social networks.
During this presentation, we will discuss applications of graph mining to show the relationships discovered through "Similarity" and "Social" graphs.
To register for this webinar, see https://www2.gotomeeting.com/register/252265562target blank image.

Gruff v5.3 - Now Available
gruff lab guy
New Features include:

See the full list of new features and improvements in the release notes.

AllegroGraph 4.14 Available July 14th 

New features include:
  • Redesigned Query Interface for AGWebView. The interface has enhanced functionality and includes a CANCEL button to easily allow user to cancel uncompleted queries. See notes in the WebView Documentation
  • AGWebView's SPARQL query user interface now supports query log viewing, query plan inspection and reports additional details about query execution such as query time and warnings
  • Enhanced auditing and end user security capabilities
See the full list of new features and improvements in the release notes.

YouTube - The Allegro CL and AllegroGraph Channels 
Google+

Subscribe to Franz RSS feeds: RSS Feeds
For more information about other Franz products and services, follow us on Twitter - @Franzinc or email - info@franz.com.

Wednesday, July 9, 2014

Allegro CL - Tech Corner - Universal date/time parser facility

New universal date/time parser facility

A new universal date/time parser facility was added by a recent patch. It defines the new functions string-to-universal-time and universal-time-to-string. The first function takes a string specifying a date and time in any of a variety of standard formats and returns the corresponding universal time. The second function converts a universal time to one of those formats. For example,
(string-to-universal-time "20031231" :format :iso8601)
  => 3281846400 :iso8601 :time-zone-not-specified
(universal-time-to-string 3281846400 :format :iso8601)
  => "2003-12-31T00:00:00"
(string-to-universal-time "20031231")
  => 3281846400 :iso8601 :time-zone-not-specified
(universal-time-to-string 3281846400)
  => "2003-12-31T00:00:00"
(string-to-universal-time "20031231" :format :iso8601 :native t)
  => # nil nil

(string-to-universal-time "20031231" :format :iso8601)
  => 3281846400 :iso8601 :time-zone-not-specified
(universal-time-to-string 3281846400 :format :iso8601)
  => "2003-12-31T00:00:00"
(string-to-universal-time "20031231")
  => 3281846400 :iso8601 :time-zone-not-specified
(universal-time-to-string 3281846400)
  => "2003-12-31T00:00:00"
(string-to-universal-time "20031231" :format :iso8601 :native t)
  => # nil nil
This new facility is separate from the existing date-time module but, as the last example indicates, integrated with it. The date-time module is described in date-time.htm The new universal date time parser is described here.