środa, 27 maja 2015

My old Canon LIDE 25 scanner works only once

My old Canon CanoScan LIDE 25 scanner is not working properly with my new hardware (Intel NUC) and Fedora 21.

I suspected Fedora 21 bug, but the problem is with the hardware, exactly as describe here. Works once and got stuck when scanning next.

It is claimed problem is solved in version 1.025 of Sane. To compile Sane one has to install libusb-devel package first:

yum install libusb-devel

Then:

git clone git://git.debian.org/sane/sane-backends.git
cd sane-backends

# I would like to install whole stuff in /usr/local
# without removing original fedora package
./configure --prefix=/usr/local --sysconfdir=/usr/local/etc \
    --localstatedir=/var BACKENDS=plustek
make
make install

Sane works now.

I would like to avoid mixing original Sane files with the new ones, so I use --prefix and --sysconfdir options with appropriate values. New Sane will be installed in /usr/local and it will be run by default--no need to remove original Fedora packages.

wtorek, 26 maja 2015

Aksjomat Balcerowicza: im większe wpływy związków zawodowych, tym mniej miejsc pracy


TU density vs GDP

TU density vs emp. rate

TU density vs unemp. rate

Kontunuując minianalizę rozpoczętą w poprzednim wpisie, a dotyczącą zależności pomiędzy zatrudnieniem a uzwiązkowieniem (w związku ze śmiałą tezą L. Balcerowicza, że taka zależność istnieje i jest ujemna):

require(ggplot2)

## https://stats.oecd.org/Index.aspx?DataSetCode=UN_DEN
## http://stats.oecd.org/Index.aspx?DatasetCode=STLABOUR
## employment rate Q42012
d <- read.csv("union_density_and_gdp.csv", sep = ';',  header=T, na.string="NA");

## tu.density = ratio of  wage and salary earners
## that are trade union members, divided by the total number of wage and salary earners:
## gdppc = GDP per capita
ggplot(d, aes(d$tu.density, d$gdppc)) + geom_point() +
  geom_text(aes(label=d$iso),size=2.0, vjust=-0.35)  +
  xlab("TU density (%)") + ylab("GDPpc (tys USD)") +
  scale_colour_discrete(name="") +
  geom_smooth(method="lm", se=T, size=2)

lm <- lm(data=d, gdppc ~ tu.density ); summary(lm);

## employment rate vs tu.density:
ggplot(d, aes(d$tu.density,d$emprate)) + geom_point() +
  geom_text(aes(label=d$iso),size=2.0, vjust=-0.35)  +
  xlab("TU density (%)") + ylab("Empolyment rate (%)") +
  scale_colour_discrete(name="") +
  geom_smooth(method="lm", se=T, size=2);

lm <- lm(data=d, emprate ~ tu.density ); summary(lm);

## youth unemployment rate vs tu.density:
## http://www.oecd-ilibrary.org/employment/youth-unemployment-rate_20752342-table2
ggplot(d, aes(d$tu.density,d$yur)) + geom_point() +
  geom_text(aes(label=d$iso),size=2.0, vjust=-0.35)  +
  xlab("TU density (%)") + ylab("Youth unempolyment rate (%)") +
  scale_colour_discrete(name="") +
  geom_smooth(method="lm", se=T, size=2);

lm <- lm(data=d, yur ~ tu.density ); summary(lm)

Prosta regresja daje następujące rezultaty: zależność #1 pomiędzy GDP per capita a Trade Union Density jest słabo dodatnia (to już wiemy); zależność #2 pomiędzy współczynnikiem zatrudnienia a Trade Union Density też jest słabo dodatnia; zależność #3 pomiędzy stopą bezrobocia w grupie wiekowej 15--24 lat a Trade Union Density jest wprawdzie ujemna, ale statystycznie nieistotna (współczynnik $R^2$ do tego równy 1,4%).

Jak to wygląda graficznie widać na wykresach obok.

Zbiór danych jest do pobrania tutaj.

BTW: do konwersji pliku PDF na JPG wykorzystano:

convert -density 150 Rplots.pdf Rplots_%02d.png

Uwaga na koniec: zapis method="lm" jest bardziej poprawny niż method=lm zastosowany w poprzednim wpisie.

niedziela, 17 maja 2015

Im większe wpływy związków zawodowych, tym mniej miejsc pracy

Im większe wpływy związków zawodowych, tym mniej miejsc pracy
TU density vs GDP (OECD countries)
TU density vs GDP

Pan profesor Balcerowicz na finiszu kampanii prezydenckiej baaardzo mocno się zaangażował po stronie rządzącego układu, a to zaangażowanie przejawia się m.in. wzmożonym wypisaniem na Twitterze różnych mniej lub bardziej mądrych (zwykle mniej) sloganów (aka farmazonów). Np. "S" już poparła Dudę, który zabiega o poparcie OPZZ -- to zła wiadomość dla młodych. Im większe wpływy ZZ w państwie, tym mniej miejsc pracy..

Co szkodzi sprawdzić empirycznie tezę profesora? Pobrałem zatem ze strony stats.oecd.org dane dotyczące Trade Union Density (ratio of wage and salary earners that are trade union members, divided by the total number of wage and salary earners tj. udział fundusza płac związkowców do płac ogółem). A ze strony List of OECD countries by GDP per capita dane dotyczące GDP per capita (jakoś nie mogłem szybko odszukać tych liczb na stronie stats.oecd.org -- zakładam, że na wikipedia.org przepisano je bez błędów:-) Dane są z roku 2012.

require(ggplot2)

## https://stats.oecd.org/Index.aspx?DataSetCode=UN_DEN
d <- read.csv("union_density_and_gdp.csv", sep = ';',  header=T, na.string="NA");

ggplot(d, aes(d$tu.density,d$gdppc)) + geom_point() +
  geom_text(aes(label=d$iso),size=2.0, vjust=-0.35) +
  xlab("TU density (%)") + ylab("GDPpc (tys USD)") +
  scale_colour_discrete(name="") +
  geom_smooth(method=lm,se=T, size=2)

lm <- lm(data=d, gdppc ~ tu.density ); summary(lm)

Jak widać na wykresie Polska jest piąta od końca wśród krajów OECD pod względem GDP na głowę i szósta od końca jeżeli chodzi o wielkość uzwiązkowienia. Czepianie się związków w tej sytuacji (12,5% uzwiązkowienia w PL, podczas gdy przykładowo w Niemczech jest to 41.9%, a w Danii 67.2%) ma wszystkie znamiona obsesji podobnej przykładowo do popularnego wśród Palikotowców i innych antyklerykałów poglądu, iż jakoby Kościół Katolicki jest praprzyczyną wszelkiego zła (przynajmniej w PL).

Dodatkowo prosta regresja daje następujący rezultat: GDP = 0,25 tu.density + 30,5435, czyli 1% wzrost uzwiązkowienia daje 0,25 tys wzrostu GDP na głowę (dokładnie odwrotnie niż twierdzi Balcerowicz). Współczynnik przy zmiennej tu.density jest nawet istotny statystycznie (na poziomie 0,05) ale $R^2$ jest faktycznie bardzo marne -- 13%.

Zbiór danych jest do pobrania tutaj.