If you, like me, resent every dollar spent on commercial PDF tools,
you might want to know how to change the text content of a PDF without
having to pay for Adobe Acrobat or another PDF tool. I didn't see an
obvious open-source tool that lets you dig into PDF internals, but I
did discover a few useful facts about how PDFs are structured that
I think may prove useful to others (or myself) in the future. They
are recorded here. They are surely not universally applicable --
the PDF standard is truly Byzantine -- but they worked for my case.
- C-a ==> CTRL-a
- Normal mode(n) When we open mode, the default mode is normal
- Insert mode(i) When we want to insert some text, we press i, a or A etc to go in insert mode
- Command mode(c) When we type colon(:) from normal mode, we enters command mode
- Visual mode(v) Using v or V or C-i
A list of useful commands for the FFmpeg command line tool.
Download FFmpeg: https://www.ffmpeg.org/download.html
Full documentation: https://www.ffmpeg.org/ffmpeg.html
<!DOCTYPE html> | |
<html prefix="og: http://ogp.me/ns#"> | |
<head> | |
<!-- content-type, which overrides http equivalent header. Because of charset, this meta should be set at first. --> | |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> | |
<!-- Overrides http equivalent header. This tells IE to use the most updated engine. --> | |
<meta http-equiv="X-UA-Compatible" content="IE=Edge"> | |
<!-- Tells crawlers how to crawl this page, and the role of this page. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta --> | |
<meta name="robots" content="index, follow"> |
This gist shows how to create an animated world map of life expectancy using R. The data comes the UN World Population Prospects, 2015 Revision, and it brings life expectancy data from 1950 untill 2015 and projeceted data up to 2100. Thanks Topi Tjukanov, who reminded me of the UN DESA data portal, where you can find this dataset and many others
The idea is to use open data to create a GIF, much like the ones created by Aron Strandberg but his maps look much nicer. The output of this script is a map like this one:
[![enter image description here][1]][1]
Now diving into the code. First, let's load the necessary libraries and get the data. As of this writing, the current version of gganimate
has a bug that messes the aesthetics of the .gif
file. As a temporary solution, I've intalled an older version of the package, [as recommended by the author of the gganimate
, David Ro
// npm i --save jsonp | |
import jsonp from 'jsonp'; | |
var host = 'http://192.168.1.140'; | |
var data = { | |
'jsonrpc': '2.0', | |
'method': 'Application.GetProperties', | |
'params': '[["volume","muted","version"]]', | |
'id': Math.ceil(Math.random() * 10000) |
1. $ brew install fontforge ttf2eot ttfautohint | |
2. $ brew tap bramstein/webfonttools && brew install sfnt2woff | |
3. Download/clone https://github.com/google/woff2 into any handy dir | |
cd into dir and: | |
$ git submodule init | |
$ git submodule update | |
$ make clean all | |
then: |