Everybody can use Excel, but creating a web-based data-driven story requires professional developers, if not a team. I'm working on making data-driven storytelling easier, more open and reproducible.
The Gamma is a research project to build tools that easily integrate with modern data sources (open government data, public online sources) and let users easily create visualizations that are directly linked to the data, making the visualizations more transparent, reproducible, but also easy to adapt to explore other aspects of the data.
- Visualizing Olympic medalists is a demo that shows how such open data-driven articles could look like. It lets explores the history of Olympic medals.
- Computation + Journalism 2015 paper about an earlier prototype describes ideas and motivations of the project in more details. Watch a 15 minute demo or a 45 minute talk from StrangeLoop.
- The Gamma is on GitHub and everything is available under the MIT license. You can learn about the latest news on Twitter at @thegamma_net.
I'm a frequent conference speaker, founding member of the F# Software Foundation author of C# and F# books and author of many definitive F# libraries. I have been Microsoft MVP since 2004 and used F# since early Microsoft Research versions.
Have you seen the F# testimonials and are you thinking how can your company also benefit from the safety, correctness, efficiency and faster time-to-market provided by F#?
- fsharpWorks trainings — At fsharpWorks, we love sharing our knowledge with your team and we offer a wide range of workshops. We created an online course about F# in Finance and Type Providers and we regularly run an in-person course Fast Track to F# in London. We offer all of these and more as on-site trainings too — just drop us an email!
- F# books and articles — I wrote Real World Functional Programming, which explains functional concepts using C# and F#, edited a collection of F# case studies: F# Deep Dives and also wrote a free O'Reilly report: Analyzing and Visualizing Data with F#.
Coeffects and research
I recently submitted my PhD thesis at University of Cambridge and I closely collaborate with the F# team in Microsoft Research Cambridge.
My recent publications cover a range of topics from theory of context-aware programming, F# and type providers to language extensions for concurrent, reactive and asynchronous programming.
- Coeffects playgrouund is an interactive essay that lets you explore my PhD research in an accessible and fun way. You can read more in our ICFP 2014 paper.
- Academic web page has links to other published papers, work-in-progress drafts, research talks and also information about student projects and courses that I supervised.
Philosophy of science
During my (computer science) PhD, I became interested in how programming language research is done and how it should be done. We tend to think that science has infallible methods for discovering the truth, but is that the case? Or is science more 'sloppy' and 'irrational' than its methodological image as Paul Feyerabend says?
- History and philosophy of types is my most recent work in this area. It uses types as an example of a concept that appears simple, but is (and needs to be) more complex. Watch my LambdaDays talk or read the full-length Onward! essay.
- Philosophy posts on my blog — start with philosophy and history books every computer scientist should read and come to some of the events organized by the HaPoC Comission.
Wednesday, 14 June 2017, 1:27 PM
Over the last year, I have been working on The Gamma project, which aims to make data-driven visualizations more trustworthy and to enable large number of people to build visualizations backed by data. The Gamma makes it possible to create visualizations that are built on trustworthy primary data sources such as the World Bank and you can provide your own data source by writing a REST service.
A great piece of feedback that I got when talking about The Gamma is that this is a nice ultimate goal, but it makes it hard for people to start with The Gamma. If you do not want to use the World Bank data and you're not a developer to write your own REST service, how do you get started?
To make starting with The Gamma easier, the gallery now has a new four-step getting started page where you can upload your data as a CSV file or paste it from Excel spreadsheet and create nice visualizations that let your reader explore other aspects of the data.
Head over to The Gamma Gallery to check it out or continue reading to learn more about creating your first The Gamma visualization...
Here you'll find what I'm working on — my blog posts tend to be either updates about projects I'm working on, trainings and talks I'm doing, or longer posts that are early versions of my ideas — some of them become papers, some of them have been cited in other papers, some will be soon forgotten.
Wednesday, 12 April 2017, 2:05 PM
It is very easy to see academic papers as containing eternal and unquestionable truths, rather than as something that the reader should actively interact with. I recently remarked about this saying that just reading papers is too passive. In this blog post, I try to uncover some of the caveats when reading papers - how we misread history and ignore historical context in which paper was written. I discuss different ways of reading papers and suggest a more active way of reading.
Tuesday, 7 March 2017, 3:31 PM
What can computer science learn from the fantastically wrong theories of 16th century science? What is amazing about the old stories is that the conclusions that now seem funny often had very solid reasoning behind them. In the same way, it is likely that some of our current beliefs about computer science and programming will appear fantastically wrong to a computer scientist of 24th century.
Thursday, 2 March 2017, 11:53 AM
Can open and engaging data visualizations help to fight post-fact world, fake news and the decreasing interest and trust in statistics? I recently gave a talk about my work on programming tools for open, transparent data-driven storytelling at the Alan Turing Institute in London. You can watch the talk on YouTube, but if you prefer text, this blog post is a short summary of the key ideas.
Wednesday, 25 January 2017, 12:31 PM
There were a lot of rumors recently about the death of facts and statistics. I believe the core of the problem is that working with facts is quite tedious and the results are often not particularly exciting. This is the problem that I'm trying to address with The Gamma project - and today, I'm happy to share the first reusable component based on the work that you can use in your data visualization projects.
Tuesday, 11 October 2016, 5:30 PM
Our thinking is shaped by basic assumptions that we rarely question. As described by philosophers of science, research paradigms determine how scientists approach problems and what questions are accepted as valid scientific theories. In this article, I try to discover some of the hidden assumptions in the area of programming research. What are assumptions that we never question and what might the world look like if we based our design method on different basic principles?
I published papers about programming languages including type providers, theory of coeffects, concurrent and reactive programming, but also philosophy and history of programming. My academic page has a complete list, including teaching and other activities.
Tomas Petricek. Proceedings of European Data and Computational Journalism Conference, 2017
The rise of open data initiatives means that there is an increasing amount of raw data available. At the same time, the general public increasingly distrusts statistics and post-truth has been chosen as the word of 2016. The Gamma project aims to help reverse this development.
Tomas Petricek. To appear in proceedings of ECOOP 2017.
Data literacy is becoming increasingly important. While spreadsheets make simple data analytics accessible to a large number of people, creating transparent scripts requires expert programming skills. In this paper, we describe the design of a data exploration language that makes the task more accessible by embedding advanced programming concepts into a simple core language.
Tomas Petricek. The Art, Science, and Engineering of Programming, 2017
Computer programs do not always work as expected. In fact, ominous warnings about the desperate state of the software industry continue to be released with almost ritualistic regularity. In this paper, we look at the 60 years history of programming and at the different practical methods that software community developed to live with programming errors.