web analytics

Data, data everywhere 

Twitter LinkedIn RSS
magnify
formats

Frank Tompa to receive honorary degree

I would like to extend my warmest congratulations to Frank Tompa of the University of Waterloo, my PhD supervisor, who will be presented with an honorary Doctor of Laws degree from Dalhousie University in Halifax at Dalhousie’s spring convocation ceremony on May 22, 2013.

Frank’s Doctor of Laws citation reads in part:

His service has included membership on Canada’s Association of I.T. Professionals’ Computer Science Accreditation Council and the board of the Computing Research Association. He is a lead investigator with the Natural Sciences and Engineering Research Council of Canada Business Intelligence Network.

Dr. Tompa, whom the Natural Sciences and Engineering Research Council of Canada called a “leader in Canadian science”, is a fellow of the Association for Computing Machinery and a recipient of the University of Waterloo’s Award of Excellence in Graduate Supervision.

For me Frank has been an invaluable friend and mentor whose breadth of experience is second-to-none. I recall that as I worked on my thesis in the late 1990′s on dependency theory, there would be occasions that the University of Waterloo library might no longer have a resource that I wanted because it was considered too ancient – perhaps from the mid-1970′s. Yet Frank would have a copy of that work; moreover, not only would he be familiar with it, he almost certainly knew the author personally!

Congratulations, Frank!

 
Tags:
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

DBTEST 2013 – Call for participation

The Sixth International Workshop on Testing Database Systems (DBTEST) will be held in New York on Monday, June 24 2013 at the Millenium Broadway Hotel as one of the co-located workshops held in conjunction with the ACM SIGMOD 2013 Conference.

This year’s Workshop co-chairs, Vivek Narasayya of Microsoft and Neoklis Polyzotis of the University of California, Santa Cruz and the workshop’s Program Committee have put together an interesting program of nine papers that cover a broad range of topics in testing database systems and database applications. In addition, Volker Markl of TU Berlin (and a former researcher at the IBM Toronto Laboratory) will give the keynote address at the Workshop.

The list of accepted papers includes:

  • Rapid Development of Data Generators Using Meta Generators in PDGF – Tilmann Rabl, University of Toronto; Meikel Poess, Oracle; Manuel Danisch, University of Passau; Hans-Arno Jacobsen, University of Toronto.
  • Extending XData to Kill SQL Query Mutants in the Wild – Bikash Chandra, IIT Bombay; Bhupesh Chawda, IBM; Shetal Shah, IIT Bombay; S. Sudarshan, IIT Bombay; Ankit Shah, IIT Bombay.
  • D-Zipfian: A Decentralized Implementation of Zipfian – Sumita Barahmand, USC; Shahram Ghandeharizadeh, USC.
  • Tomograph: Highlighting query parallelism in a multi-core system – Mrunal Gawade, CWI; Martin Kersten, CWI.
  • Reversing Statistics for Scalable Test Databases Generation – Entong Shen, North Carolina State University; Lyublena Antova, Pivotal Inc.
  • Scaling up analytical queries with column-stores – Ioannis Alagiannis, EPFL; Manos Athanassoulis, EPFL; Anastasia Ailamaki, EPFL.
  • Using Similarity Distances for Performance Prediction of the Query Optimization Process – Anisoara Nica, SAP AG; Stephen Chou, University of Waterloo.
  • In Data Veritas – Data Driven Testing for Distributed Systems – Ramesh Subramonian, LinkedIn; Mihir Gandhi, LinkedIn; Kishore Gopalakrishna, LinkedIn; Sajid Topiwala, LinkedIn; Kapil Surlaker, LinkedIn; David Zhang, LinkedIn; Bob Schulman, LinkedIn; Zhen Zhang, LinkedIn.
  • Mutatis Mutandis: Evaluating DBMS Test Adequacy with Mutation Testing – Ivan Bowman, SAP AG.

I am particularly pleased that two of my former colleagues, Anisoara Nica and Ivan Bowman of the SAP Waterloo Lab will be presenting their latest work, and I look forward to seeing them and the other presenters at this year’s workshop.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

UX Lecture Series: Think Mobile First

The next lecture in the User Experience (UX) Lecture series at Conestoga takes place on Wednesday, May 8 from 10:00 to 11:00am in Room 2A301 at the Doon campus. The speaker is Phil Cowcill from Canadore College and in his talk, Phil will discuss ten ways to improve your UX design for a mobile device:

If you design screens the same way as you design desktop then you’ll miss out on making a great mobile experience. This session will show 10 tips on how you can dramatically improve the user experience by properly designing for a mobile device. These tips will enhance and improve the user experience (UX). Many of these tips are very simple to implement but it does change how you think about mobile design. This is why you “think mobile first”.

Phil Cowcill coordinates and teaches a variety of programs in the School of Communication Arts at Canadore College in North Bay. He is the author of numerous educational training publications and has authored a textbook for Thomson Publishing that was part of the Web Warrior Series. He designed the first mobile application development post-graduate program in Canada, and has coordinated and taught in the program since 2011. Phil has spoken at numerous educational and multimedia conferences throughout North America and has previously worked as an engineer with Macromedia.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

UX Lecture Series: Web Accessibility Tools in Action

The next lecture in the Conestoga College User Experience lecture series goes tomorrow, April 9 at 5:00pm in the 2A301 amphitheatre at the Doon Campus. The lecture is entitled “Web Accessibility Tools in Action” and will be presented by Sean Yo of Resonant Studios in Guelph. Here is the abstract:

Web accessibility is quickly becoming a common requirement of Web projects. Navigating the guidelines, practices, and tools of Web accessibility can be complicated and confusing. This presentation provides an overview of the tools available to developers to assess and measure the accessibility of their code. Starting with a grounding in key principles of Web accessibility, a wide range of tools are reviewed with commentary on how best to use each tool. Fill your tool box with the best tools to make your Web site inclusive and ready for Accessibility for Ontarians with Disabilities Act (AODA) guidelines by attending this presentation.

Sean spent more than a decade in higher education enterprise IT, co-founded Resonant Studios, and most recently was Chief Architect at InGamer. He is a leader in the technology community of Kitchener-Waterloo and Guelph, including running the Guelph Web Makers Meetup and Accessibility Camp Guelph. Sean is a frequent guest lecturer on topics such as Web development and technology, Web accessibility, user experience, and online censorship; and has spoken at local, provincial, and national technology conferences in Canada and the United States. He received Master of Arts and Bachelor of Arts degrees in English and Media Studies, respectively, from the University of Guelph.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

UX Lecture Series: How to Put the Agile into UX

The next talk in the User Experience (UX) Lecture Series at Conestoga, which is chaired by Dalibor Dvorski, will be held on Tuesday, March 26, 2013 at 5:00 PM in the 2A301 amphitheatre at the Doon Campus.

The talk, which is entitled How to Put the Agile in User Experience and the User Experience into Agile, will be presented by Sandra Loop of Exinda Networks in Waterloo.

Here is the abstract:

Every company wants to build the right product and to build that product right. Simultaneously companies have many constraints such as deadlines, limited budgets and developer resources, and controlled access to customers. Agile user experience ensures that the right product will be built and agile development helps to ensure that the product is built right, particularly within these constraints. This talk will explore how agile user experience works and how user experience fits into the agile development process.

Sandra has been designing user experiences for almost two decades, half of that time in agile environments. She recently joined Exinda Networks as a Product Manager and UX Designer in a very agile environment. She recently attended Scrum training taught by Dr. Jeff Sutherland, one of the co-inventors of the Scrum software development process. Sandra previously worked at Sybase in the professional services department designing the user experience of many customer applications. Although starting her educational career in Fine Arts, Sandra graduated with a joint Computer Science and Psychology degree from University of Waterloo, followed by a master’s degree focusing on user experience.

I am personally really looking forward to Sandra’s talk. Not only has Sandra been a friend of mine for the better part of two decades, but she has an impressive set of skills that make her one of the most knowledgeable UX people I know.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

UX Lecture Series: A Primer on Personas for User Experience Design

The next lecture in the User Experience guest lecture series takes place on Tuesday, February 26 at 5:00pm in the Doon campus 2A301 Amphitheatre. Entitled “A Primer on Personas for User Experience Design”, the talk will be given by Robert Barlow-Busch of ArtBarn Labs and Demeure.

Here is the abstract:

It is pretty tough to design a great user experience if you do not know the target audience. So when faced with this problem, well-equipped user experience designers will turn to one of their favourite tools: the persona. Personas draw upon the power of narrative and storytelling to shine a bright light on the elusive “user.” They are especially effective when based upon primary research methods such as ethnography and in-context interviews. Done properly, they become powerful representations of your users’ goals, motivations, and behaviours – and can act as the “north star” for your design decisions. Join us for an introduction to the what, why, and how of design personas, illustrated with examples from commercial projects.

About Robert Barlow-Busch

Robert Barlow-Busch practices user experience professionally as a founding partner of ArtBarn Labs and chief marketing officer of Demeure. You will also find him helping to build the local community as co-champion of UX Waterloo and co-chair of the Fluxible conference. Robert is known for his expertise in leveraging user research to drive product design and innovation. His thoughts have been published in books such as User-Centered Design Stories and The Persona Lifecycle. He graduated with an Honours Bachelor of Arts degree in English Rhetoric and Professional Writing, with minor studies in Speech Communication, from University of Waterloo.

Thanks to Dalibor Dvorski for sending this my way, and for organizing the series.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Call for Papers: First International Workshop on Testing the Cloud

The First International Workshop on Testing the Cloud (TTC) will be held on 15 July 2013, co-located with ISSTA 2013 in Lugano, Switzerland. The Call for Papers is as follows:

Call for Papers: TTC 2013

Cloud computing is everywhere, inevitable: originally a layered abstraction of an heterogeneous environment, it has become the paradigm of a large-scale data-oriented system. And while it has some interesting features (easy deployment of applications, resiliency, security, performance, scalability, elasticity, etc.), testing its robustness and its reliability is a major challenge. The Cloud is an intricate collection of interconnected and virtualised computers, connected services, complex service-level agreements. From a testing perspective, the Cloud is then a complex composition of complex systems, and one can wonder whether anything like a global testing is possible? But if the answer is no, what can we conclude from partial tests? The question of testing this large, network-based, dynamic, composition of computers, virtual machines, servers, services, SLAs, seems particularly difficult. And critical for Cloud vendors: customers’ trust is indeed critical for companies implementing Clouds, and they have to ensure that the system has all the security and performance characteristics the marketing department highlights. This problem is a perfect example of cross concerns between academia and product companies, and it covers a broad range of topics, from software development to code analysis, performance monitoring to formal model for system testing, and so on.

At TTC 2013 we aim at bringing together researchers and practitioners interested in this difficult question of testing the cloud, ie. A complex distributed, dynamic and interconnected system. Hence we call for regular scientific submissions, but also for industrial experience feedback.

Topics of Interest

“Testing the Cloud” covers many different topics, much more than the list we wrapped up below. So we welcome academic and industrial contributions that sound relevant – whatever is the background of the authors. In particular, we will run regular academic sessions, but we are also likely to have a more industry-focused sessions where it will be possible to describe solutions deployed in product companies or best practices followed by practitioners.

• Domain-specific languages for testing
• Fault injection
• Formal specification and verification of programming libraries and programs
• Functional and structural testing
• New tools for testing
• Performance testing
• Programming techniques and methodologies (that decrease the need for testing)
• Replay techniques for multi-threaded applications
• Static and dynamic program analysis (including code review)
• Test generation algorithms and tools
• Security testing of concurrent systems and applications in the cloud
• Load Testing
• Live-testing
• Test environment/Production environment
• Test Monitoring
• Test and customer relationship management

Submission and Proceedings

Regular technical papers must be prepared in ACM conference format and must not exceed 6 pages. All submissions must be in English. Submissions that do not adhere to these guidelines or that violate formatting will be declined without review.

Submit your paper via the paper submission website. Papers are due on April 15th 2013 at 11:59:59 PM, American Samoa (GMT-11) time. We also welcome abstracts of presentations focusing on real solutions/products and best practices. Those can be short (2-3 pages) and must show what the relevant things the audience could take away from the talk: how a software can address testing the cloud, what process is used in a company to make sure testing the cloud is optimised, etc.

Important Dates

• Submission Deadline: April 15th 2013
• Author Notification: May 11th 2013
• Camera-Ready Due: May 24th 2013
• Workshop Date: July 15th 2013

General Chairs

• Yves le Traon, University of Luxembourg, Luxembourg
• Pat O’Sullivan, IBM Dublin, Ireland

Organisers

• Eduardo Cunha de Almeida, UFPR, Brasil
• Christina Thorpe, University College Dublin, Ireland
• Anthony Ventresque, University College Dublin, Ireland

Program Committee

• Bram Adams, Queen’s University, Canada
• Carsten Binnig, DHB W Mannheim, Germany
• Ivona Brandic, Vienna University of Technology , Austria
• Francisco Brasileiro, UFCG, Brasil
• Achim Brucker, SAP AG, Karlsruhe, Germany
• Rodrigo Calheiros, University of Melbourne, Australia
• Christoph Csallner, University of Texas at Arlington, USA
• Erik Elmroth, Umeå University , Sweden
• Phyllis Frankl, Polytechnic University , N Y , US A
• Gordon Fraser, University of Sheffield, UK
• Vahid Garousi, University of Calgary, Canada
• Gregory Kapfhammer , Allegheny College, US A
• Diwakar Krishnamurthy , University of Calgary , Canada
• Tejeddine Mouelhi, University of Luxembourg, Luxembourg
• Henry Muccini, University of L’Aquila, Italy
• John Murphy, University College Dublin, Ireland
• Glenn Paulley, Conestoga College, Canada
• John Penix, Google, Mountain View, CA, USA
• Paul Strooper, University of Queensland, Australia
• Stefanie Scherzinger, Regensburg University, Germany
• Gerson Sunyé, University of Nantes, France
• Toyotaro Suzumura, IBM Tokyo and Tokyo Institute of Technology , Japan
• Luis M Vaquero, HP Labs, Bristol, UK
• Andreas Zeller, Saarland University

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Introduction to Hibernate

This week I will begin to introduce object-relational mapping tools such as Hibernate and NHibernate with my Java Enterprise Applications class. ORM tools for Java, such as TopLink (the reference implementation for the Java Persistence API) and Hibernate are prevalent in industry, as they permit the application developer to concentrate on the business logic rather than the “plumbing” – that 30-40% of the application that translates relational database rows acquired by JDBC code into objects, and back again. However, that functionality does not come without tradeoffs; these tradeoffs were the subject of an article I wrote in May 2008, which I’ll repost below.

This blog entry is copyright by Sybase, Inc., an SAP Company, and first appeared on Glenn Paulley’s Sybase blog (http://iablog.sybase.com/paulley/) on 10 May 2008. It is reprinted here with permission.

Hibernate: First impressions

This past week I attended the Sybase Engineering Summit in Dublin, CA, a very successful 3-day conference of Sybase engineering teams from around the world. Certainly a highlight from Day Two were two talks, one by Dennis Shasha of the Courant Institute in New York and the second by Joe Hellerstein from UC Berkeley.

On the plane to San Francisco (and back) I managed to spend some time analyzing the mapping capabilities offered by Hibernate, the open-source Java object persistence from JBoss that I referred to in a previous post. Here are my first impressions.

A common criticism of Java application programming is that while it may be easier to develop working prototypes than some other 3rd-generation languages, it is easier to develop applications that will perform very poorly. In my view, Hibernate exacerbates this problem, and it does this in several ways; I’ll highlight three for the moment.

The first is that Hibernate encourages record-oriented, instead of set-level oriented, programming. Set-level operations is one of the reasons why relational database systems have largely replaced older, navigational DBMS design because high-level operators, such as grouping, aggregation, and joins permit the server to do more of the work, rather than performing the work inside the application. This is the “impedance mismatch” with object-oriented programming that application programming interfaces were intended to solve, but in the case of Hibernate the practice is strongly discouraged; here’s a quote from the Hibernate tutorial:

Note that Hibernate does not offer its own API for direct execution of UPDATE or DELETE statements. Hibernate is a state management service, you don’t have to think in [SQL] statements to use it. JDBC is a perfect API for executing SQL statements, you can get a JDBC Connection at any time by calling session.connection(). Furthermore, the notion of mass operations conflicts with object/relational mapping for online transaction processing-oriented applications. Future versions of Hibernate may however provide special mass operation functions. See Chapter 13, Batch processing for some possible batch operation tricks.

The second way that Hibernate can obfuscate what’s really happening under-the-covers is how its data access sublanguage, HQL, is designed. HQL isn’t SQL; it doesn’t contain window functions, grouping sets, set intersection operations, full outer joins, LATERAL or [OUTER] APPLY, and a wealth of other functionality (I’m reminded here by a sign at my local Honda dealer: Beware of imitations.) Encouraging, however, is that Hibernate does support ANSI row value constructor syntax, which we are evaluating for a forthcoming SQL Anywhere release. It’s not that HQL is bad per se, but I’m not sure HQL does the application developer any favours. Here’s an example, once again from the Hibernate tutorial:

1
2
3
4
5
6
SELECT account, payment
FROM Account AS account
LEFT OUTER JOIN account.payments AS payment
WHERE :currentUser IN elements(account.holder.users)
AND PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)
ORDER BY account.TYPE.sortOrder, account.accountNumber, payment.dueDate

The problem is the query’s WHERE clause on line 4:

4
WHERE :currentUser IN elements(account.holder.users)

which, when converted to an SQL query to the underlying DBMS, results in an EXISTS subquery with a 3-way join; the dot-references are to different entities in the Hibernate-mapped entity model, which correspond to different SQL tables in the database. Hence queries that “look” cheap can be expensive. Moreover, by default Java dot-references in Hibernate cause the generation of SQL queries that return the entire projection of the table, not simply a single column. This renders various query rewrite optimizations such as join conversion or join elimination useless, and leads to my third point.

Hibernate does support a wealth of built-in functionality for various relational schema designs – particularly with foreign keys – and also provides built-in support for both normalized and various denormalized variations of entity-type hierarchies (ETHs) in the schema. However, Hibernate permits the definition of any attribute in the model to be derived, once again offering the potential to write simpler queries that have performance implications. Here is one example, again from the tutorial:

1
2
3
4
5
6
7
8
9
10
11
12
<join>
<key column="employeeId"/>
<subselect>
select employeeId, orgId
from Employments
group by orgId
having startDate = max(startDate)
</subselect>
<many-to-one name="mostRecentEmployer"
class="Organization"
column="orgId"/>
</join>

which maps the attributes “employeeid” and “orgid” to a grouped subselect that computes the identifiers that corresponds to the employee’s most recent employer. Obviously this example depends specifically on the example schema – but with ad-hoc mapping capabilities like this example, it makes it easy to write what appear to be basic HQL queries that will generate expensive SQL queries with predictable results.

 
Tags:
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Gesture interaction: technology and solutions

A forthcoming talk on gesture-based user interface design and technology will be given by Vincent John Vincent at the St. Jacobs Felt Lab on Tuesday, February 5 from 6:00pm until 8:00pm. The talk is sponsored by Communitech and Digital Media Arts Peer-2-Peer (P2P).

Mr. Vincent is the co-founder and CEO of GestureTek Inc., a firm that specializes in the development of gesture-based technologies. GestureTek has licensed both patents and technology to companies such as Sony and Microsoft for their use of GestureTek’s technology in Sony Playstation and Microsoft Kinect products respectively. Mr. Vincent has been a speaker at TedxWaterloo and IdeaCity 2011 in Toronto.

In this talk, Mr. Vincent will discuss the state-of-the-art and possible gesture-based innovations to come:

From interacting with our iPads, to playing Kinect based games on XBOX 360, we are all becoming more and more familiar with gesture-based interactive solutions. With this increasing popularity of gesture-based solutions, as artists and technologists how can we best prepare ourselves for working with these systems? How can we be creative in using this technology, yet ensure we maintain a valuable user experience? What is the history behind this form of interaction, what innovations are around the corner and what is the future of gesture?

Talk location:

FELT Lab Waterloo
1440 King St N
Quarry Building
St. Jacobs, ON

Interested faculty and students should register in advance.

Driving directions

Thanks to Ig Kolenko for sending this my way.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Program for SMDB 2013 is set

I am pleased to report that the accepted papers for SMDB 2013 have been announced. The 8th International Workshop on Self-Managing Database Systems will be held in conjunction with the 2013 IEEE Data Engineering Conference in Brisbane, Australia, on 8 April 2013.

The list of accepted papers includes:

  • Realistic Tenant Traces for Enterprise DBaaS
    Tim Januschowski (SAP Innovation Center), Jan Schaffner (Hasso-Plattner-Institut)

  • INUM+: A leaner, more accurate and more efficient fast what-if optimizer
    Rui Wang (UCSC), Quoc Trung Tran (UCSC), Ivo Jimenez (UCSC), Neoklis Polyzotis (University of California Santa Cruz)

  • Automatic Schema Design for Co-Clustered Tables
    Stephan Baumann (TU-Ilmenau), Peter Boncz (CWI Amsterdam), Kai-Uwe Sattler (T.U. Ilmenau)

  • Model Ensemble Tools for Self-Management in Data Centers
    Jin Chen (University of Toronto), Cristiana Amza (University of Toronto)

  • Performance Optimization for Distributed Intra-Node-Parallel Streaming Systems
    Matthias Sax (Humboldt-UniversitŠt zu Berlin), Malu Castellanos (HP Labs), Qiming Chen (HP Labs), Meichun Hsu (HP Labs)

  • Self-managing load shedding for data stream management systems
    Thao Pham (University of Pittsburgh), Panos Chrysanthis (University of Pittsburgh), Alexandros Labrinidis (University of Pittsburgh)

  • Total Operator State Recall — Cost-effective Reuse of Results in Greenplum Database
    George Caragea (EMC), Carlos Garcia-Alvarado (EMC), Michalis Petropoulos (EMC), Florian Waas (EMC)

This is a fantastic program and I would like to offer thanks to my colleagues on the SMDB 2013 Program Committee, co-chaired by Florian Waas (EMC Greenplum) and Alex Labrinidis (University of Pittsburgh), for their efforts in selecting this body of work for publication.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments