Scientific papers shouldn’t be published as PDFs

Jupyter notebook examples
Examples of Jupyter notebooks

I enjoyed James Somers’ article in the Atlantic titled “The Scientific Paper Is Obsolete” about how the standard format for scientific papers, namely PDF, is no longer the appropriate format for such data-intensive work.

This is, of course, the whole problem of scientific communication in a nutshell: Scientific results today are as often as not found with the help of computers. That’s because the ideas are complex, dynamic, hard to grab ahold of in your mind’s eye. And yet by far the most popular tool we have for communicating these results is the PDF—literally a simulation of a piece of paper. Maybe we can do better.

The article recounts the history of Wolfram’s Wolfram Mathematica notebook model, and the rise of Jupyter notebooks as an open source alternative that’s also rising to prominence in the space.

I love the idea of more open, more dynamic formats for sharing knowledge, capturing ideas, and promoting access to knowledge.

Learning Flask with Corey Schafer

My Summer project is to finish an initial version of my Practice Math site for our kids. I’ve hit a bit of a snag with fractions, but the functionality for whole numbers is almost ready.

The next step is to create a web site for the project so our kids can use the app through their browsers, rather than using the command line (somehow, I don’t think a CLI interface will grab our kids).

My plan was to learn Django, and use that to create a front-end for my Python back-end. I decided to follow along with Brad Traversy to help me learn how to create a basic Django app. It was a little trickier than I expected, and I hit a snag with my database configuration.

I then thought I’d take a look at Flask, and see if that would be a little easier for me to grok. I noticed that Corey Schafer has a Flask tutorial series where you build a basic blog with Python and Flask, so I decided to work through Schafer’s tutorial videos.

This has proven to be a terrific idea. Schafer’s tutorials are detailed, and really clear. There are times when he speeds up a little but, for the most part, I can follow along pretty comfortably, and understand what he’s doing.

Even though the goal of Schafer’s series is to build a blog, it covers a range of topics that I can incorporate into Practice Math down the line. It’s really an awesome introduction to building web sites with Flask, and well worth the time.

Not only does Schafer take you through the process, step-by-step, but he also provides links to snapshots of his code at each step of the process, along with useful code snippets in his GitHub repos.

You probably need about an hour for each episode. I binged for most of today (I’m on vacation this week), and worked through about four or five videos.

If you’re interested in Corey Schafer, listen to this TalkPython interview with him:

On a related, side note, working through this tutorial series just reinforces how glad I am that I returned to Python to start learning it (again). I still have a long way to go, but it feels like I’m picking up bits of it easier than I did with JavaScript.

I’ll return to JavaScript, for sure (you can’t really ignore JavaScript these days). For now, though, I love all the things I’m learning to do with Python.

Featured image by Sharon McCutcheon

An alternative to Israel’s expensive Microsoft licensing dilemma

Interesting article on OnMSFT: Israel, scared off by Microsoft subscription deals, won’t renew Office licensing agreements:

Under the current deal with Microsoft, Israel pays about $27 million a year for Office on the desktop, Windows, and server software being used across the government. The ministry issued a bold statement, saying “This will also encourage government ministries to re-examine their needs of using Microsoft technology or switch to other technology alternatives.”

Open source solutions are worth exploring. I’d love to see Israel adopt something like
LibreOffice, especially for schools where PowerPoint slides have become the default choice for notices.

I think Linux also makes a lot of sense for most people who just default to Windows because their computers come with it (albeit at a cost).

Schools, in particular, shouldn’t be sitting with PCs running Windows 2000. They can probably revitalise their old PCs with a lightweight Linux distro, and give kids an opportunity to use them for more than just gaming.

Certainly a switch like this is only possible with an investment, but the longer term benefits must outweigh the initial costs.

Making sense of JavaScript array methods with Array Explorer

Sarah Drasner shared her awesome Array Explorer tool on Twitter the other day. It’s design is pretty simple, and yet a powerful way to learn JavaScript arrays. What you do is pick a couple options from drop-down lists to find the right array method you need for a project.

I still find arrays challenging and yet learning how to work with them in JavaScript is so important. If you’re still figuring this stuff out, definitely take a look at Array Explorer, bookmark it, and use it.

Sarah even made the code for Array Explorer available on GitHub so you can see how she put it together too.

Parenting moments with shell scripting

I’m both fascinated by and borderline besotted with shell scripting (you know, all that command line stuff). It turns out my son is intrigued by what you can do from the command line, and it opens the door to some pretty cool parenting moments.

This afternoon I showed my son a little script I wrote that opens Firefox Developer Edition, VS Code, Remember the Milk, and displays the weather forecast for my city just by running an aliased script from my command line. The weather service is a very cool command line script that Jessie Frazelle wrote.

My son was astounded when he saw all these apps open after typing a single command in iTerm2. He immediately asked me to create something for him.

So I wrote a similar script for him for his Ubuntu PC. It doesn’t work quite the same as mine does on my Mac (Linux has an interesting way of opening some apps that tethers them to the terminal session) but he now has a little command he can use to open VS Code and give him a weather update from his terminal.

I love that he’s also into these things. He asked me to introduce him to something he can use to learn all these shell commands. He wants to write them down in a sort of cheatsheet. I have a couple of resources (the Linux Documentation Project is an awesome one I only recently came across) I’ll share with him, I think he’ll get a kick out of learning this stuff.

Photo by Lewis Ngugi on Unsplash

Learning to code and the argument for bribing our kids to read

My wife and I are avid readers and I suspect our daughter will also be one. She loves it when we read to her and she has started reading library books to herself. Our son, on the other hand, doesn’t seem to be that keen on reading most of the books I find for me. On the other hand, he seems to be very interested in learning to code.

Our son’s introduction to coding

I’ve been teaching myself Python (2.7.x if you are curious). I picked Python because it is one of two languages that people seem to recommend for coding newbies. The other is PHP. It may not be the easiest language to learn but I thought I have to start somewhere and it seems to be a good language to know.

I don’t remember who recommended it but I bought the book, “Learn Python the Hard Way“, and I’ve been working through it. I scheduled time to learn using Google Calendar’s Goals feature and did another exercise this morning involving prompts.

Learning to code in Python
Learning to code in Python

The exercise involved creating a pretty basic script and I showed what I had done to my son. He loved it and immediately wanted to know if he could also start working through the book.

The book is a bit too complex for him so I got him started with Code.org tutorials on his PC. He has already completed a few basic exercises using a visual, block-based interface for learning Javascript.

Like many kids, he is a Minecraft nut and I have a feeling the Minecraft mod classes on Tynker might be great for him.

Persuading him to read too

My challenge, though, is that he needs to spend time reading books too, particularly in Hebrew. He is in a Hebrew language school and while he is largely bilingual, his Hebrew is weaker than the kids in his class because he has only been speaking Hebrew for just over 2 years.

He enjoys reading Hebrew graphic novels and often re-reads his favourites. He just isn’t that interested in novels and gives up soon after starting a book. On the one hand, I’m happy for him to read graphic novels because he is at least reading something. On the other hand, he needs more variety in what he’s reading or he won’t learn new words and different writing styles.

Another option is to find different books. He is interested in the Second World War so I’ll look for age appropriate books about WW2 when I am next at the library.

It also doesn’t help that his Hebrew is stronger than mine because I can’t help him all that much when he encounters new words. He is also probably reluctant to ask me about words he doesn’t understand because he doesn’t think I’ll understand them either (he’s probably correct although I look up words I don’t understand).
The thing is, reading is as important as ever.

It’s all very well that kids can access much of human knowledge with whichever device they happen to have in their pockets at the time. Unfortunately, they typically use those connected, pocket computers to play Clash Royale and go hunt Pokemons (is that the correct term?) instead of expanding their knowledge of the world around them.

If kids don’t read, they won’t expand their language skills as much and be able to express themselves more effectively. Reading also stimulates their imaginations and that fuels their creativity.

Bribery and extortion as parenting skills

The things kids do on their devices is fun, sure. I certainly spent as much time as I could playing with the distant ancestors of our kids’ devices but they weren’t as pervasive back in the 1980s.

These days we have to limit the time our kids spend on their devices or we just don’t see them over the weekend. They spend their time watching superficial YouTube videos (even on YouTube Kids which our daughter uses).

Thankfully, the devices they use tend to run out of charge after a couple hours and that ends their device time for the day. After that they tend to play with each other or, as the weather improves, head out to the park to play now and then.

I have a feeling that linking his new interest in learning to code with encouraging him to read more may be the way to go. In the time-honoured tradition of parents bribing and extorting their kids to do things that are good for them, I may resort to requiring reading time in exchange for more coding time. Sometimes you have to do what you have to do.

Speaking of which, what do you do? How do you get your kids to read more in this digital age we’re living in?

Featured image credit: Andrew Branch

The Periodic Table of Elements in pictures for your kids

Chemistry

Keith Enevoldsen‘s “Periodic Table of the Elements, in Pictures and Words” is a must for parents and one of the many reasons I love the open Web. He has created an interactive version of the Periodic Table as well as downloadable/printable versions of the image-based Periodic Table and a text-based version.

Keith Enevoldsen's Periodic Table of the Elements

Keith Enevoldsen’s Periodic Table of the Elements

I hadn’t heard of Keith before I saw Laura Milmeister’s tweet this morning but I’m really glad I did. My son is interested in science and while he is still too young to have started learning chemistry at school, I have a feeling this will really come in handy when he does.

Enevoldsen’s resources don’t stop there. He has a collection of great resources on a range of topics on his Think Zone site which are worth checking out. I can’t comment on their veracity but I’m pretty excited that they exist.

Thanks Keith!

Image credit: chemistry by usehung, licensed CC BY 2.0

Ancient Hebrew texts emerges from the ashes

The En-Gedi scroll, digitally unwrapped.

Ars Technica has a fascinating report about how an ancient Hebrew texts has been read for the first time in more than 1 700 years despite being almost destroyed by a fire that consumed the ancient synagogue it was discovered in:

When the En-Gedi scrolls were excavated from an ancient synagogue’s Holy Ark in the 1970s, it was a bittersweet discovery for archaeologists. Though the texts provided further evidence for an ancient Jewish community in this oasis near the Dead Sea, the scrolls had been reduced to charred lumps by fire. Even the act of moving them to a research facility caused more damage. But decades later, archaeologists have read parts of one scroll for the first time. A team of scientists in Israel and the US used a sophisticated medical scanning technique, coupled with algorithmic analysis, to “unwrap” a parchment that’s more than 1,700 years old.

The En-Gedi scroll
The charred scroll from En-Gedi. Image courtesy of the Leon Levy Dead Sea Scrolls Digital Library, IAA. Photo: S. Halevi.

The recovery process was described in a research article published in Science Advances by William Brent Seales, Clifford Seth Parker, Michael Segal, Emanuel Tov, Pnina Shor and Yosef Porath titled “From damage to discovery via virtual unwrapping: Reading the scroll from En-Gedi”.

The research article is available under a Creative Commons Attribution-NonCommercial license. The abstract summarises the reports as follows:

Computer imaging techniques are commonly used to preserve and share readable manuscripts, but capturing writing locked away in ancient, deteriorated documents poses an entirely different challenge. This software pipeline—referred to as “virtual unwrapping”—allows textual artifacts to be read completely and noninvasively. The systematic digital analysis of the extremely fragile En-Gedi scroll (the oldest Pentateuchal scroll in Hebrew outside of the Dead Sea Scrolls) reveals the writing hidden on its untouchable, disintegrating sheets. Our approach for recovering substantial ink-based text from a damaged object results in readable columns at such high quality that serious critical textual analysis can occur. Hence, this work creates a new pathway for subsequent textual discoveries buried within the confines of damaged materials.

I am utterly fascinated by stories like this, especially when it comes to recoveries of ancient texts and artifacts in Israel. These discoveries paint a rich picture of Jewish life in Israel going back millennia.

A timeline placing these ancient Hebrew texts in a historical context.
An estimated timeline for the En-Gedi scrolls, , courtesy of Science Advances. License: CC BY-NC 4.0

I also love how these modern technologies can be used to reveal these ancient artifacts to the world once again. A great example of this is how the Dead Sea Scrolls have been digitised and made publicly available online through the Leon Levy Dead Sea Scrolls Digital Library.

This is one of the reasons I am a big fan of work being done by the Google Cultural Institute (which powers the Dead Sea Scrolls Digital Library). Despite the copyright concerns some copyright owners raise, Google is doing amazing work preserving our collective culture.

These sorts of stories also remind me of the debate about ephemeral digital content that Snapchat popularised. On the one hand, we produce so much content these days and much of that is only really relevant for short time periods. On the other hand, if we don’t capture even the silly things we share in some form, we could be sacrificing an historical archive, the value of which could only be appreciated in centuries to come.

Digital technologies give us the means to store perfect versions of just about everything. The question is more whether we can solve the challenges of format compatibility so that future technologies will be able to access our content?

Everything we share is a thread in the tapestry of our modern culture and small memes can have the tendency to grow into profound cultural transformations. We almost lost the En-Gedi scrolls entirely to a fire. Thankfully we didn’t and the work of these scientists has completed more of the historical tapestry of my ancestors.