1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
7 <atom:link href=
"http://people.skolelinux.org/pere/blog/index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>Legal to share more than
3000 movies listed on IMDB?
</title>
11 <link>http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html
</guid>
13 <pubDate>Sat,
18 Nov
2017 21:
20:
00 +
0100</pubDate>
14 <description><p
>A month ago, I blogged about my work to automatically check the
15 copyright status of IMDB entries, and try to count the number of
16 movies listed in IMDB where it is legal to distribute it the Internet.
17 I have continued to look for good data sources, and identified a few
18 more. The code used to extract information from various data sources
20 <ahref=
"https://github.com/petterreinholdtsen/public-domain-free-imdb
">a
21 git repository
</a
>, currently available from github.
</p
>
23 <p
>So far I have identified
3186 unique IMDB title IDs. To gain
24 better understanding of the structure of the data set, I created a
25 histogram of the year associated with each movie (typically release
26 year). It is interesting to notice where the peaks and dips in the
27 graph are located. I wonder why they are placed there. I suspect
28 World Word II caused the dip around
1940, but what caused the peak
29 around
2010?
</p
>
31 <p
><img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
11-
18-verk-i-det-fri-filmer.png
" /
></p
>
33 <p
>I
've so far identified ten sources for IMDB title IDs for movies in
34 the public domain or with a free license. This is the statistics
35 reported when running
'make stats
' in the git repository:
</p
>
38 249 entries (
6 unique) with and
288 without IMDB title ID in free-movies-archive-org-butter.json
39 2301 entries (
540 unique) with and
0 without IMDB title ID in free-movies-archive-org-wikidata.json
40 830 entries (
29 unique) with and
0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json
41 2109 entries (
377 unique) with and
0 without IMDB title ID in free-movies-imdb-pd.json
42 291 entries (
122 unique) with and
0 without IMDB title ID in free-movies-letterboxd-pd.json
43 144 entries (
135 unique) with and
0 without IMDB title ID in free-movies-manual.json
44 350 entries (
1 unique) with and
801 without IMDB title ID in free-movies-publicdomainmovies.json
45 4 entries (
0 unique) with and
124 without IMDB title ID in free-movies-publicdomainreview.json
46 698 entries (
119 unique) with and
118 without IMDB title ID in free-movies-publicdomaintorrents.json
47 8 entries (
8 unique) with and
196 without IMDB title ID in free-movies-vodo.json
48 3186 unique IMDB title IDs in total
51 <p
>The entries without IMDB title ID are candidates to increase the
52 data set, but might equally well be duplicates of entries already
53 listed with IMDB title ID in one of the other sources, or represent
54 movies that lack a IMDB title ID. I
've seen examples of all these
55 situations when peeking at the entries without IMDB title ID. Based
56 on these data sources, the lower bound for movies listed in IMDB that
57 are legal to distribute on the Internet is between
3186 and
4713.
59 <p
>It would be great for improving the accuracy of this measurement,
60 if the various sources added IMDB title ID to their metadata. I have
61 tried to reach the people behind the various sources to ask if they
62 are interested in doing this, without any positive replies so far.
63 Perhaps you can help me get in touch with the people behind VODO,
64 Public Domain Torrents, Public Domain Movies and Public Domain Review
65 to try to convince them to add more metadata to their movie entries?
</p
>
67 <p
>Another way you could help is by adding pages to Wikipedia about
68 movies that are legal to distribute on the Internet. If such page
69 exist and include a link to both IMDB and The Internet Archive, the
70 script used to generate free-movies-archive-org-wikidata.json should
71 pick up the mapping as soon as wikidata is updates.
</p
>
76 <title>Some notes on fault tolerant storage systems
</title>
77 <link>http://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html
</link>
78 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html
</guid>
79 <pubDate>Wed,
1 Nov
2017 15:
35:
00 +
0100</pubDate>
80 <description><p
>If you care about how fault tolerant your storage is, you might
81 find these articles and papers interesting. They have formed how I
82 think of when designing a storage system.
</p
>
86 <li
>USENIX :login;
<a
87 href=
"https://www.usenix.org/publications/login/summer2017/ganesan
">Redundancy
88 Does Not Imply Fault Tolerance. Analysis of Distributed Storage
89 Reactions to Single Errors and Corruptions
</a
> by Aishwarya Ganesan,
90 Ramnatthan Alagappan, Andrea C. Arpaci-Dusseau, and Remzi
91 H. Arpaci-Dusseau
</li
>
94 <a href=
"http://www.zdnet.com/article/why-raid-
5-stops-working-in-
2009/
">Why
95 RAID
5 stops working in
2009</a
> by Robin Harris
</li
>
98 <a href=
"http://www.zdnet.com/article/why-raid-
6-stops-working-in-
2019/
">Why
99 RAID
6 stops working in
2019</a
> by Robin Harris
</li
>
101 <li
>USENIX FAST
'07
102 <a href=
"http://research.google.com/archive/disk_failures.pdf
">Failure
103 Trends in a Large Disk Drive Population
</a
> by Eduardo Pinheiro,
104 Wolf-Dietrich Weber and Luiz André Barroso
</li
>
106 <li
>USENIX ;login:
<a
107 href=
"https://www.usenix.org/system/files/login/articles/hughes12-
04.pdf
">Data
108 Integrity. Finding Truth in a World of Guesses and Lies
</a
> by Doug
111 <li
>USENIX FAST
'08
112 <a href=
"https://www.usenix.org/events/fast08/tech/full_papers/bairavasundaram/bairavasundaram_html/
">An
113 Analysis of Data Corruption in the Storage Stack
</a
> by
114 L. N. Bairavasundaram, G. R. Goodson, B. Schroeder, A. C.
115 Arpaci-Dusseau, and R. H. Arpaci-Dusseau
</li
>
117 <li
>USENIX FAST
'07 <a
118 href=
"https://www.usenix.org/legacy/events/fast07/tech/schroeder/schroeder_html/
">Disk
119 failures in the real world: what does an MTTF of
1,
000,
000 hours mean
120 to you?
</a
> by B. Schroeder and G. A. Gibson.
</li
>
122 <li
>USENIX ;login:
<a
123 href=
"https://www.usenix.org/events/fast08/tech/full_papers/jiang/jiang_html/
">Are
124 Disks the Dominant Contributor for Storage Failures? A Comprehensive
125 Study of Storage Subsystem Failure Characteristics
</a
> by Weihang
126 Jiang, Chongfeng Hu, Yuanyuan Zhou, and Arkady Kanevsky
</li
>
128 <li
>SIGMETRICS
2007
129 <a href=
"http://research.cs.wisc.edu/adsl/Publications/latent-sigmetrics07.pdf
">An
130 analysis of latent sector errors in disk drives
</a
> by
131 L. N. Bairavasundaram, G. R. Goodson, S. Pasupathy, and J. Schindler
</li
>
135 <p
>Several of these research papers are based on data collected from
136 hundred thousands or millions of disk, and their findings are eye
137 opening. The short story is simply do not implicitly trust RAID or
138 redundant storage systems. Details matter. And unfortunately there
139 are few options on Linux addressing all the identified issues. Both
140 ZFS and Btrfs are doing a fairly good job, but have legal and
141 practical issues on their own. I wonder how cluster file systems like
142 Ceph do in this regard. After all, there is an old saying, you know
143 you have a distributed system when the crash of a computer you have
144 never heard of stops you from getting any work done. The same holds
145 true if fault tolerance do not work.
</p
>
147 <p
>Just remember, in the end, it do not matter how redundant, or how
148 fault tolerant your storage is, if you do not continuously monitor its
149 status to detect and replace failed disks.
</p
>
154 <title>Web services for writing academic LaTeX papers as a team
</title>
155 <link>http://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html
</link>
156 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html
</guid>
157 <pubDate>Tue,
31 Oct
2017 21:
00:
00 +
0100</pubDate>
158 <description><p
>I was surprised today to learn that a friend in academia did not
159 know there are easily available web services available for writing
160 LaTeX documents as a team. I thought it was common knowledge, but to
161 make sure at least my readers are aware of it, I would like to mention
162 these useful services for writing LaTeX documents. Some of them even
163 provide a WYSIWYG editor to ease writing even further.
</p
>
165 <p
>There are two commercial services available,
166 <a href=
"https://sharelatex.com
">ShareLaTeX
</a
> and
167 <a href=
"https://overleaf.com
">Overleaf
</a
>. They are very easy to
168 use. Just start a new document, select which publisher to write for
169 (ie which LaTeX style to use), and start writing. Note, these two
170 have announced their intention to join forces, so soon it will only be
171 one joint service. I
've used both for different documents, and they
172 work just fine. While
173 <a href=
"https://github.com/sharelatex/sharelatex
">ShareLaTeX is free
174 software
</a
>, while the latter is not. According to
<a
175 href=
"https://www.overleaf.com/help/
17-is-overleaf-open-source
">a
176 announcement from Overleaf
</a
>, they plan to keep the ShareLaTeX code
177 base maintained as free software.
</p
>
179 But these two are not the only alternatives.
180 <a href=
"https://app.fiduswriter.org/
">Fidus Writer
</a
> is another free
181 software solution with
<a href=
"https://github.com/fiduswriter
">the
182 source available on github
</a
>. I have not used it myself. Several
183 others can be found on the nice
184 <a href=
"https://alternativeto.net/software/sharelatex/
">alterntiveTo
185 web service
</a
>.
187 <p
>If you like Google Docs or Etherpad, but would like to write
188 documents in LaTeX, you should check out these services. You can even
189 host your own, if you want to. :)
</p
>
195 <title>Locating IMDB IDs of movies in the Internet Archive using Wikidata
</title>
196 <link>http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html
</link>
197 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html
</guid>
198 <pubDate>Wed,
25 Oct
2017 12:
20:
00 +
0200</pubDate>
199 <description><p
>Recently, I needed to automatically check the copyright status of a
200 set of
<a href=
"http://www.imdb.com/
">The Internet Movie database
201 (IMDB)
</a
> entries, to figure out which one of the movies they refer
202 to can be freely distributed on the Internet. This proved to be
203 harder than it sounds. IMDB for sure list movies without any
204 copyright protection, where the copyright protection has expired or
205 where the movie is lisenced using a permissive license like one from
206 Creative Commons. These are mixed with copyright protected movies,
207 and there seem to be no way to separate these classes of movies using
208 the information in IMDB.
</p
>
210 <p
>First I tried to look up entries manually in IMDB,
211 <a href=
"https://www.wikipedia.org/
">Wikipedia
</a
> and
212 <a href=
"https://www.archive.org/
">The Internet Archive
</a
>, to get a
213 feel how to do this. It is hard to know for sure using these sources,
214 but it should be possible to be reasonable confident a movie is
"out
215 of copyright
" with a few hours work per movie. As I needed to check
216 almost
20,
000 entries, this approach was not sustainable. I simply
217 can not work around the clock for about
6 years to check this data
220 <p
>I asked the people behind The Internet Archive if they could
221 introduce a new metadata field in their metadata XML for IMDB ID, but
222 was told that they leave it completely to the uploaders to update the
223 metadata. Some of the metadata entries had IMDB links in the
224 description, but I found no way to download all metadata files in bulk
225 to locate those ones and put that approach aside.
</p
>
227 <p
>In the process I noticed several Wikipedia articles about movies
228 had links to both IMDB and The Internet Archive, and it occured to me
229 that I could use the Wikipedia RDF data set to locate entries with
230 both, to at least get a lower bound on the number of movies on The
231 Internet Archive with a IMDB ID. This is useful based on the
232 assumption that movies distributed by The Internet Archive can be
233 legally distributed on the Internet. With some help from the RDF
234 community (thank you DanC), I was able to come up with this query to
235 pass to
<a href=
"https://query.wikidata.org/
">the SPARQL interface on
239 SELECT ?work ?imdb ?ia ?when ?label
242 ?work wdt:P31/wdt:P279* wd:Q11424.
243 ?work wdt:P345 ?imdb.
246 ?work wdt:P577 ?when.
247 ?work rdfs:label ?label.
248 FILTER(LANG(?label) =
"en
").
251 </pre
></p
>
253 <p
>If I understand the query right, for every film entry anywhere in
254 Wikpedia, it will return the IMDB ID and The Internet Archive ID, and
255 when the movie was released and its English title, if either or both
256 of the latter two are available. At the moment the result set contain
257 2338 entries. Of course, it depend on volunteers including both
258 correct IMDB and The Internet Archive IDs in the wikipedia articles
259 for the movie. It should be noted that the result will include
260 duplicates if the movie have entries in several languages. There are
261 some bogus entries, either because The Internet Archive ID contain a
262 typo or because the movie is not available from The Internet Archive.
263 I did not verify the IMDB IDs, as I am unsure how to do that
264 automatically.
</p
>
266 <p
>I wrote a small python script to extract the data set from Wikidata
267 and check if the XML metadata for the movie is available from The
268 Internet Archive, and after around
1.5 hour it produced a list of
2097
269 free movies and their IMDB ID. In total,
171 entries in Wikidata lack
270 the refered Internet Archive entry. I assume the
70 "disappearing
"
271 entries (ie
2338-
2097-
171) are duplicate entries.
</p
>
273 <p
>This is not too bad, given that The Internet Archive report to
274 contain
<a href=
"https://archive.org/details/feature_films
">5331
275 feature films
</a
> at the moment, but it also mean more than
3000
276 movies are missing on Wikipedia or are missing the pair of references
277 on Wikipedia.
</p
>
279 <p
>I was curious about the distribution by release year, and made a
280 little graph to show how the amount of free movies is spread over the
283 <p
><img src=
"http://people.skolelinux.org/pere/blog/images/
2017-
10-
25-verk-i-det-fri-filmer.png
"></p
>
285 <p
>I expect the relative distribution of the remaining
3000 movies to
286 be similar.
</p
>
288 <p
>If you want to help, and want to ensure Wikipedia can be used to
289 cross reference The Internet Archive and The Internet Movie Database,
290 please make sure entries like this are listed under the
"External
291 links
" heading on the Wikipedia article for the movie:
</p
>
294 * {{Internet Archive film|id=FightingLady}}
295 * {{IMDb title|id=
0036823|title=The Fighting Lady}}
296 </pre
></p
>
298 <p
>Please verify the links on the final page, to make sure you did not
299 introduce a typo.
</p
>
301 <p
>Here is the complete list, if you want to correct the
171
302 identified Wikipedia entries with broken links to The Internet
303 Archive:
<a href=
"http://www.wikidata.org/entity/Q1140317
">Q1140317
</a
>,
304 <a href=
"http://www.wikidata.org/entity/Q458656
">Q458656
</a
>,
305 <a href=
"http://www.wikidata.org/entity/Q458656
">Q458656
</a
>,
306 <a href=
"http://www.wikidata.org/entity/Q470560
">Q470560
</a
>,
307 <a href=
"http://www.wikidata.org/entity/Q743340
">Q743340
</a
>,
308 <a href=
"http://www.wikidata.org/entity/Q822580
">Q822580
</a
>,
309 <a href=
"http://www.wikidata.org/entity/Q480696
">Q480696
</a
>,
310 <a href=
"http://www.wikidata.org/entity/Q128761
">Q128761
</a
>,
311 <a href=
"http://www.wikidata.org/entity/Q1307059
">Q1307059
</a
>,
312 <a href=
"http://www.wikidata.org/entity/Q1335091
">Q1335091
</a
>,
313 <a href=
"http://www.wikidata.org/entity/Q1537166
">Q1537166
</a
>,
314 <a href=
"http://www.wikidata.org/entity/Q1438334
">Q1438334
</a
>,
315 <a href=
"http://www.wikidata.org/entity/Q1479751
">Q1479751
</a
>,
316 <a href=
"http://www.wikidata.org/entity/Q1497200
">Q1497200
</a
>,
317 <a href=
"http://www.wikidata.org/entity/Q1498122
">Q1498122
</a
>,
318 <a href=
"http://www.wikidata.org/entity/Q865973
">Q865973
</a
>,
319 <a href=
"http://www.wikidata.org/entity/Q834269
">Q834269
</a
>,
320 <a href=
"http://www.wikidata.org/entity/Q841781
">Q841781
</a
>,
321 <a href=
"http://www.wikidata.org/entity/Q841781
">Q841781
</a
>,
322 <a href=
"http://www.wikidata.org/entity/Q1548193
">Q1548193
</a
>,
323 <a href=
"http://www.wikidata.org/entity/Q499031
">Q499031
</a
>,
324 <a href=
"http://www.wikidata.org/entity/Q1564769
">Q1564769
</a
>,
325 <a href=
"http://www.wikidata.org/entity/Q1585239
">Q1585239
</a
>,
326 <a href=
"http://www.wikidata.org/entity/Q1585569
">Q1585569
</a
>,
327 <a href=
"http://www.wikidata.org/entity/Q1624236
">Q1624236
</a
>,
328 <a href=
"http://www.wikidata.org/entity/Q4796595
">Q4796595
</a
>,
329 <a href=
"http://www.wikidata.org/entity/Q4853469
">Q4853469
</a
>,
330 <a href=
"http://www.wikidata.org/entity/Q4873046
">Q4873046
</a
>,
331 <a href=
"http://www.wikidata.org/entity/Q915016
">Q915016
</a
>,
332 <a href=
"http://www.wikidata.org/entity/Q4660396
">Q4660396
</a
>,
333 <a href=
"http://www.wikidata.org/entity/Q4677708
">Q4677708
</a
>,
334 <a href=
"http://www.wikidata.org/entity/Q4738449
">Q4738449
</a
>,
335 <a href=
"http://www.wikidata.org/entity/Q4756096
">Q4756096
</a
>,
336 <a href=
"http://www.wikidata.org/entity/Q4766785
">Q4766785
</a
>,
337 <a href=
"http://www.wikidata.org/entity/Q880357
">Q880357
</a
>,
338 <a href=
"http://www.wikidata.org/entity/Q882066
">Q882066
</a
>,
339 <a href=
"http://www.wikidata.org/entity/Q882066
">Q882066
</a
>,
340 <a href=
"http://www.wikidata.org/entity/Q204191
">Q204191
</a
>,
341 <a href=
"http://www.wikidata.org/entity/Q204191
">Q204191
</a
>,
342 <a href=
"http://www.wikidata.org/entity/Q1194170
">Q1194170
</a
>,
343 <a href=
"http://www.wikidata.org/entity/Q940014
">Q940014
</a
>,
344 <a href=
"http://www.wikidata.org/entity/Q946863
">Q946863
</a
>,
345 <a href=
"http://www.wikidata.org/entity/Q172837
">Q172837
</a
>,
346 <a href=
"http://www.wikidata.org/entity/Q573077
">Q573077
</a
>,
347 <a href=
"http://www.wikidata.org/entity/Q1219005
">Q1219005
</a
>,
348 <a href=
"http://www.wikidata.org/entity/Q1219599
">Q1219599
</a
>,
349 <a href=
"http://www.wikidata.org/entity/Q1643798
">Q1643798
</a
>,
350 <a href=
"http://www.wikidata.org/entity/Q1656352
">Q1656352
</a
>,
351 <a href=
"http://www.wikidata.org/entity/Q1659549
">Q1659549
</a
>,
352 <a href=
"http://www.wikidata.org/entity/Q1660007
">Q1660007
</a
>,
353 <a href=
"http://www.wikidata.org/entity/Q1698154
">Q1698154
</a
>,
354 <a href=
"http://www.wikidata.org/entity/Q1737980
">Q1737980
</a
>,
355 <a href=
"http://www.wikidata.org/entity/Q1877284
">Q1877284
</a
>,
356 <a href=
"http://www.wikidata.org/entity/Q1199354
">Q1199354
</a
>,
357 <a href=
"http://www.wikidata.org/entity/Q1199354
">Q1199354
</a
>,
358 <a href=
"http://www.wikidata.org/entity/Q1199451
">Q1199451
</a
>,
359 <a href=
"http://www.wikidata.org/entity/Q1211871
">Q1211871
</a
>,
360 <a href=
"http://www.wikidata.org/entity/Q1212179
">Q1212179
</a
>,
361 <a href=
"http://www.wikidata.org/entity/Q1238382
">Q1238382
</a
>,
362 <a href=
"http://www.wikidata.org/entity/Q4906454
">Q4906454
</a
>,
363 <a href=
"http://www.wikidata.org/entity/Q320219
">Q320219
</a
>,
364 <a href=
"http://www.wikidata.org/entity/Q1148649
">Q1148649
</a
>,
365 <a href=
"http://www.wikidata.org/entity/Q645094
">Q645094
</a
>,
366 <a href=
"http://www.wikidata.org/entity/Q5050350
">Q5050350
</a
>,
367 <a href=
"http://www.wikidata.org/entity/Q5166548
">Q5166548
</a
>,
368 <a href=
"http://www.wikidata.org/entity/Q2677926
">Q2677926
</a
>,
369 <a href=
"http://www.wikidata.org/entity/Q2698139
">Q2698139
</a
>,
370 <a href=
"http://www.wikidata.org/entity/Q2707305
">Q2707305
</a
>,
371 <a href=
"http://www.wikidata.org/entity/Q2740725
">Q2740725
</a
>,
372 <a href=
"http://www.wikidata.org/entity/Q2024780
">Q2024780
</a
>,
373 <a href=
"http://www.wikidata.org/entity/Q2117418
">Q2117418
</a
>,
374 <a href=
"http://www.wikidata.org/entity/Q2138984
">Q2138984
</a
>,
375 <a href=
"http://www.wikidata.org/entity/Q1127992
">Q1127992
</a
>,
376 <a href=
"http://www.wikidata.org/entity/Q1058087
">Q1058087
</a
>,
377 <a href=
"http://www.wikidata.org/entity/Q1070484
">Q1070484
</a
>,
378 <a href=
"http://www.wikidata.org/entity/Q1080080
">Q1080080
</a
>,
379 <a href=
"http://www.wikidata.org/entity/Q1090813
">Q1090813
</a
>,
380 <a href=
"http://www.wikidata.org/entity/Q1251918
">Q1251918
</a
>,
381 <a href=
"http://www.wikidata.org/entity/Q1254110
">Q1254110
</a
>,
382 <a href=
"http://www.wikidata.org/entity/Q1257070
">Q1257070
</a
>,
383 <a href=
"http://www.wikidata.org/entity/Q1257079
">Q1257079
</a
>,
384 <a href=
"http://www.wikidata.org/entity/Q1197410
">Q1197410
</a
>,
385 <a href=
"http://www.wikidata.org/entity/Q1198423
">Q1198423
</a
>,
386 <a href=
"http://www.wikidata.org/entity/Q706951
">Q706951
</a
>,
387 <a href=
"http://www.wikidata.org/entity/Q723239
">Q723239
</a
>,
388 <a href=
"http://www.wikidata.org/entity/Q2079261
">Q2079261
</a
>,
389 <a href=
"http://www.wikidata.org/entity/Q1171364
">Q1171364
</a
>,
390 <a href=
"http://www.wikidata.org/entity/Q617858
">Q617858
</a
>,
391 <a href=
"http://www.wikidata.org/entity/Q5166611
">Q5166611
</a
>,
392 <a href=
"http://www.wikidata.org/entity/Q5166611
">Q5166611
</a
>,
393 <a href=
"http://www.wikidata.org/entity/Q324513
">Q324513
</a
>,
394 <a href=
"http://www.wikidata.org/entity/Q374172
">Q374172
</a
>,
395 <a href=
"http://www.wikidata.org/entity/Q7533269
">Q7533269
</a
>,
396 <a href=
"http://www.wikidata.org/entity/Q970386
">Q970386
</a
>,
397 <a href=
"http://www.wikidata.org/entity/Q976849
">Q976849
</a
>,
398 <a href=
"http://www.wikidata.org/entity/Q7458614
">Q7458614
</a
>,
399 <a href=
"http://www.wikidata.org/entity/Q5347416
">Q5347416
</a
>,
400 <a href=
"http://www.wikidata.org/entity/Q5460005
">Q5460005
</a
>,
401 <a href=
"http://www.wikidata.org/entity/Q5463392
">Q5463392
</a
>,
402 <a href=
"http://www.wikidata.org/entity/Q3038555
">Q3038555
</a
>,
403 <a href=
"http://www.wikidata.org/entity/Q5288458
">Q5288458
</a
>,
404 <a href=
"http://www.wikidata.org/entity/Q2346516
">Q2346516
</a
>,
405 <a href=
"http://www.wikidata.org/entity/Q5183645
">Q5183645
</a
>,
406 <a href=
"http://www.wikidata.org/entity/Q5185497
">Q5185497
</a
>,
407 <a href=
"http://www.wikidata.org/entity/Q5216127
">Q5216127
</a
>,
408 <a href=
"http://www.wikidata.org/entity/Q5223127
">Q5223127
</a
>,
409 <a href=
"http://www.wikidata.org/entity/Q5261159
">Q5261159
</a
>,
410 <a href=
"http://www.wikidata.org/entity/Q1300759
">Q1300759
</a
>,
411 <a href=
"http://www.wikidata.org/entity/Q5521241
">Q5521241
</a
>,
412 <a href=
"http://www.wikidata.org/entity/Q7733434
">Q7733434
</a
>,
413 <a href=
"http://www.wikidata.org/entity/Q7736264
">Q7736264
</a
>,
414 <a href=
"http://www.wikidata.org/entity/Q7737032
">Q7737032
</a
>,
415 <a href=
"http://www.wikidata.org/entity/Q7882671
">Q7882671
</a
>,
416 <a href=
"http://www.wikidata.org/entity/Q7719427
">Q7719427
</a
>,
417 <a href=
"http://www.wikidata.org/entity/Q7719444
">Q7719444
</a
>,
418 <a href=
"http://www.wikidata.org/entity/Q7722575
">Q7722575
</a
>,
419 <a href=
"http://www.wikidata.org/entity/Q2629763
">Q2629763
</a
>,
420 <a href=
"http://www.wikidata.org/entity/Q2640346
">Q2640346
</a
>,
421 <a href=
"http://www.wikidata.org/entity/Q2649671
">Q2649671
</a
>,
422 <a href=
"http://www.wikidata.org/entity/Q7703851
">Q7703851
</a
>,
423 <a href=
"http://www.wikidata.org/entity/Q7747041
">Q7747041
</a
>,
424 <a href=
"http://www.wikidata.org/entity/Q6544949
">Q6544949
</a
>,
425 <a href=
"http://www.wikidata.org/entity/Q6672759
">Q6672759
</a
>,
426 <a href=
"http://www.wikidata.org/entity/Q2445896
">Q2445896
</a
>,
427 <a href=
"http://www.wikidata.org/entity/Q12124891
">Q12124891
</a
>,
428 <a href=
"http://www.wikidata.org/entity/Q3127044
">Q3127044
</a
>,
429 <a href=
"http://www.wikidata.org/entity/Q2511262
">Q2511262
</a
>,
430 <a href=
"http://www.wikidata.org/entity/Q2517672
">Q2517672
</a
>,
431 <a href=
"http://www.wikidata.org/entity/Q2543165
">Q2543165
</a
>,
432 <a href=
"http://www.wikidata.org/entity/Q426628
">Q426628
</a
>,
433 <a href=
"http://www.wikidata.org/entity/Q426628
">Q426628
</a
>,
434 <a href=
"http://www.wikidata.org/entity/Q12126890
">Q12126890
</a
>,
435 <a href=
"http://www.wikidata.org/entity/Q13359969
">Q13359969
</a
>,
436 <a href=
"http://www.wikidata.org/entity/Q13359969
">Q13359969
</a
>,
437 <a href=
"http://www.wikidata.org/entity/Q2294295
">Q2294295
</a
>,
438 <a href=
"http://www.wikidata.org/entity/Q2294295
">Q2294295
</a
>,
439 <a href=
"http://www.wikidata.org/entity/Q2559509
">Q2559509
</a
>,
440 <a href=
"http://www.wikidata.org/entity/Q2559912
">Q2559912
</a
>,
441 <a href=
"http://www.wikidata.org/entity/Q7760469
">Q7760469
</a
>,
442 <a href=
"http://www.wikidata.org/entity/Q6703974
">Q6703974
</a
>,
443 <a href=
"http://www.wikidata.org/entity/Q4744
">Q4744
</a
>,
444 <a href=
"http://www.wikidata.org/entity/Q7766962
">Q7766962
</a
>,
445 <a href=
"http://www.wikidata.org/entity/Q7768516
">Q7768516
</a
>,
446 <a href=
"http://www.wikidata.org/entity/Q7769205
">Q7769205
</a
>,
447 <a href=
"http://www.wikidata.org/entity/Q7769988
">Q7769988
</a
>,
448 <a href=
"http://www.wikidata.org/entity/Q2946945
">Q2946945
</a
>,
449 <a href=
"http://www.wikidata.org/entity/Q3212086
">Q3212086
</a
>,
450 <a href=
"http://www.wikidata.org/entity/Q3212086
">Q3212086
</a
>,
451 <a href=
"http://www.wikidata.org/entity/Q18218448
">Q18218448
</a
>,
452 <a href=
"http://www.wikidata.org/entity/Q18218448
">Q18218448
</a
>,
453 <a href=
"http://www.wikidata.org/entity/Q18218448
">Q18218448
</a
>,
454 <a href=
"http://www.wikidata.org/entity/Q6909175
">Q6909175
</a
>,
455 <a href=
"http://www.wikidata.org/entity/Q7405709
">Q7405709
</a
>,
456 <a href=
"http://www.wikidata.org/entity/Q7416149
">Q7416149
</a
>,
457 <a href=
"http://www.wikidata.org/entity/Q7239952
">Q7239952
</a
>,
458 <a href=
"http://www.wikidata.org/entity/Q7317332
">Q7317332
</a
>,
459 <a href=
"http://www.wikidata.org/entity/Q7783674
">Q7783674
</a
>,
460 <a href=
"http://www.wikidata.org/entity/Q7783704
">Q7783704
</a
>,
461 <a href=
"http://www.wikidata.org/entity/Q7857590
">Q7857590
</a
>,
462 <a href=
"http://www.wikidata.org/entity/Q3372526
">Q3372526
</a
>,
463 <a href=
"http://www.wikidata.org/entity/Q3372642
">Q3372642
</a
>,
464 <a href=
"http://www.wikidata.org/entity/Q3372816
">Q3372816
</a
>,
465 <a href=
"http://www.wikidata.org/entity/Q3372909
">Q3372909
</a
>,
466 <a href=
"http://www.wikidata.org/entity/Q7959649
">Q7959649
</a
>,
467 <a href=
"http://www.wikidata.org/entity/Q7977485
">Q7977485
</a
>,
468 <a href=
"http://www.wikidata.org/entity/Q7992684
">Q7992684
</a
>,
469 <a href=
"http://www.wikidata.org/entity/Q3817966
">Q3817966
</a
>,
470 <a href=
"http://www.wikidata.org/entity/Q3821852
">Q3821852
</a
>,
471 <a href=
"http://www.wikidata.org/entity/Q3420907
">Q3420907
</a
>,
472 <a href=
"http://www.wikidata.org/entity/Q3429733
">Q3429733
</a
>,
473 <a href=
"http://www.wikidata.org/entity/Q774474
">Q774474
</a
></p
>
478 <title>A one-way wall on the border?
</title>
479 <link>http://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html
</link>
480 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html
</guid>
481 <pubDate>Sat,
14 Oct
2017 22:
10:
00 +
0200</pubDate>
482 <description><p
>I find it fascinating how many of the people being locked inside
483 the proposed border wall between USA and Mexico support the idea. The
484 proposal to keep Mexicans out reminds me of
485 <a href=
"http://www.history.com/news/
10-things-you-may-not-know-about-the-berlin-wall
">the
486 propaganda twist from the East Germany government
</a
> calling the wall
487 the “Antifascist Bulwark” after erecting the Berlin Wall, claiming
488 that the wall was erected to keep enemies from creeping into East
489 Germany, while it was obvious to the people locked inside it that it
490 was erected to keep the people from escaping.
</p
>
492 <p
>Do the people in USA supporting this wall really believe it is a
493 one way wall, only keeping people on the outside from getting in,
494 while not keeping people in the inside from getting out?
</p
>
499 <title>Generating
3D prints in Debian using Cura and Slic3r(-prusa)
</title>
500 <link>http://people.skolelinux.org/pere/blog/Generating_3D_prints_in_Debian_using_Cura_and_Slic3r__prusa_.html
</link>
501 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Generating_3D_prints_in_Debian_using_Cura_and_Slic3r__prusa_.html
</guid>
502 <pubDate>Mon,
9 Oct
2017 10:
50:
00 +
0200</pubDate>
503 <description><p
>At my nearby maker space,
504 <a href=
"http://sonen.ifi.uio.no/
">Sonen
</a
>, I heard the story that it
505 was easier to generate gcode files for theyr
3D printers (Ultimake
2+)
506 on Windows and MacOS X than Linux, because the software involved had
507 to be manually compiled and set up on Linux while premade packages
508 worked out of the box on Windows and MacOS X. I found this annoying,
509 as the software involved,
510 <a href=
"https://github.com/Ultimaker/Cura
">Cura
</a
>, is free software
511 and should be trivial to get up and running on Linux if someone took
512 the time to package it for the relevant distributions. I even found
513 <a href=
"https://bugs.debian.org/
706656">a request for adding into
514 Debian
</a
> from
2013, which had seem some activity over the years but
515 never resulted in the software showing up in Debian. So a few days
516 ago I offered my help to try to improve the situation.
</p
>
518 <p
>Now I am very happy to see that all the packages required by a
519 working Cura in Debian are uploaded into Debian and waiting in the NEW
520 queue for the ftpmasters to have a look. You can track the progress
522 <a href=
"https://qa.debian.org/developer.php?email=
3dprinter-general%
40lists.alioth.debian.org
">the
523 status page for the
3D printer team
</a
>.
</p
>
525 <p
>The uploaded packages are a bit behind upstream, and was uploaded
526 now to get slots in
<a href=
"https://ftp-master.debian.org/new.html
">the NEW
527 queue
</a
> while we work up updating the packages to the latest
528 upstream version.
</p
>
530 <p
>On a related note, two competitors for Cura, which I found harder
531 to use and was unable to configure correctly for Ultimaker
2+ in the
532 short time I spent on it, are already in Debian. If you are looking
533 for
3D printer
"slicers
" and want something already available in
535 <a href=
"https://tracker.debian.org/pkg/slic3r
">slic3r
</a
> and
536 <a href=
"https://tracker.debian.org/pkg/slic3r-prusa
">slic3r-prusa
</a
>.
537 The latter is a fork of the former.
</p
>
542 <title>Mangler du en skrue, eller har du en skrue løs?
</title>
543 <link>http://people.skolelinux.org/pere/blog/Mangler_du_en_skrue__eller_har_du_en_skrue_l_s_.html
</link>
544 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Mangler_du_en_skrue__eller_har_du_en_skrue_l_s_.html
</guid>
545 <pubDate>Wed,
4 Oct
2017 09:
40:
00 +
0200</pubDate>
546 <description>Når jeg holder på med ulike prosjekter, så trenger jeg stadig ulike
547 skruer. Det siste prosjektet jeg holder på med er å lage
548 <a href=
"https://www.thingiverse.com/thing:
676916">en boks til en
549 HDMI-touch-skjerm
</a
> som skal brukes med Raspberry Pi. Boksen settes
550 sammen med skruer og bolter, og jeg har vært i tvil om hvor jeg kan
551 få tak i de riktige skruene. Clas Ohlson og Jernia i nærheten har
552 sjelden hatt det jeg trenger. Men her om dagen fikk jeg et fantastisk
553 tips for oss som bor i Oslo.
554 <a href=
"http://www.zachskruer.no/
">Zachariassen Jernvare AS
</a
> i
555 <a href=
"http://www.openstreetmap.org/?mlat=
59.93421&mlon=
10.76795#map=
19/
59.93421/
10.76795">Hegermannsgate
556 23A på Torshov
</a
> har et fantastisk utvalg, og åpent mellom
09:
00 og
557 17:
00. De selger skruer, muttere, bolter, skiver etc i løs vekt, og
558 så langt har jeg fått alt jeg har lett etter. De har i tillegg det
559 meste av annen jernvare, som verktøy, lamper, ledninger, etc. Jeg
560 håper de har nok kunder til å holde det gående lenge, da dette er en
561 butikk jeg kommer til å besøke ofte. Butikken er et funn å ha i
562 nabolaget for oss som liker å bygge litt selv. :)
</p
>
567 <title>Visualizing GSM radio chatter using gr-gsm and Hopglass
</title>
568 <link>http://people.skolelinux.org/pere/blog/Visualizing_GSM_radio_chatter_using_gr_gsm_and_Hopglass.html
</link>
569 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Visualizing_GSM_radio_chatter_using_gr_gsm_and_Hopglass.html
</guid>
570 <pubDate>Fri,
29 Sep
2017 10:
30:
00 +
0200</pubDate>
571 <description><p
>Every mobile phone announce its existence over radio to the nearby
572 mobile cell towers. And this radio chatter is available for anyone
573 with a radio receiver capable of receiving them. Details about the
574 mobile phones with very good accuracy is of course collected by the
575 phone companies, but this is not the topic of this blog post. The
576 mobile phone radio chatter make it possible to figure out when a cell
577 phone is nearby, as it include the SIM card ID (IMSI). By paying
578 attention over time, one can see when a phone arrive and when it leave
579 an area. I believe it would be nice to make this information more
580 available to the general public, to make more people aware of how
581 their phones are announcing their whereabouts to anyone that care to
584 <p
>I am very happy to report that we managed to get something
585 visualizing this information up and running for
586 <a href=
"http://norwaymakers.org/osf17
">Oslo Skaperfestival
2017</a
>
587 (Oslo Makers Festival) taking place today and tomorrow at Deichmanske
588 library. The solution is based on the
589 <a href=
"http://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html
">simple
590 recipe for listening to GSM chatter
</a
> I posted a few days ago, and
591 will show up at the stand of
<a href=
"http://sonen.ifi.uio.no/
">Åpen
592 Sone from the Computer Science department of the University of
593 Oslo
</a
>. The presentation will show the nearby mobile phones (aka
594 IMSIs) as dots in a web browser graph, with lines to the dot
595 representing mobile base station it is talking to. It was working in
596 the lab yesterday, and was moved into place this morning.
</p
>
598 <p
>We set up a fairly powerful desktop machine using Debian
599 Buster/Testing with several (five, I believe) RTL2838 DVB-T receivers
600 connected and visualize the visible cell phone towers using an
601 <a href=
"https://github.com/marlow925/hopglass
">English version of
602 Hopglass
</a
>. A fairly powerfull machine is needed as the
603 grgsm_livemon_headless processes from
604 <a href=
"https://tracker.debian.org/pkg/gr-gsm
">gr-gsm
</a
> converting
605 the radio signal to data packages is quite CPU intensive.
</p
>
607 <p
>The frequencies to listen to, are identified using a slightly
608 patched scan-and-livemon (to set the --args values for each receiver),
609 and the Hopglass data is generated using the
610 <a href=
"https://github.com/petterreinholdtsen/IMSI-catcher/tree/meshviewer-output
">patches
611 in my meshviewer-output branch
</a
>. For some reason we could not get
612 more than four SDRs working. There is also a geographical map trying
613 to show the location of the base stations, but I believe their
614 coordinates are hardcoded to some random location in Germany, I
615 believe. The code should be replaced with code to look up location in
616 a text file, a sqlite database or one of the online databases
618 <a href=
"https://github.com/Oros42/IMSI-catcher/issues/
14">the github
619 issue for the topic
</a
>.
621 <p
>If this sound interesting, visit the stand at the festival!
</p
>
626 <title>Easier recipe to observe the cell phones around you
</title>
627 <link>http://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html
</link>
628 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Easier_recipe_to_observe_the_cell_phones_around_you.html
</guid>
629 <pubDate>Sun,
24 Sep
2017 08:
30:
00 +
0200</pubDate>
630 <description><p
>A little more than a month ago I wrote
631 <a href=
"http://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html
">how
632 to observe the SIM card ID (aka IMSI number) of mobile phones talking
633 to nearby mobile phone base stations using Debian GNU/Linux and a
634 cheap USB software defined radio
</a
>, and thus being able to pinpoint
635 the location of people and equipment (like cars and trains) with an
636 accuracy of a few kilometer. Since then we have worked to make the
637 procedure even simpler, and it is now possible to do this without any
638 manual frequency tuning and without building your own packages.
</p
>
640 <p
>The
<a href=
"https://tracker.debian.org/pkg/gr-gsm
">gr-gsm
</a
>
641 package is now included in Debian testing and unstable, and the
642 IMSI-catcher code no longer require root access to fetch and decode
643 the GSM data collected using gr-gsm.
</p
>
645 <p
>Here is an updated recipe, using packages built by Debian and a git
646 clone of two python scripts:
</p
>
650 <li
>Start with a Debian machine running the Buster version (aka
653 <li
>Run
'<tt
>apt install gr-gsm python-numpy python-scipy
654 python-scapy
</tt
>' as root to install required packages.
</li
>
656 <li
>Fetch the code decoding GSM packages using
'<tt
>git clone
657 github.com/Oros42/IMSI-catcher.git
</tt
>'.
</li
>
659 <li
>Insert USB software defined radio supported by GNU Radio.
</li
>
661 <li
>Enter the IMSI-catcher directory and run
'<tt
>python
662 scan-and-livemon
</tt
>' to locate the frequency of nearby base
663 stations and start listening for GSM packages on one of them.
</li
>
665 <li
>Enter the IMSI-catcher directory and run
'<tt
>python
666 simple_IMSI-catcher.py
</tt
>' to display the collected information.
</li
>
670 <p
>Note, due to a bug somewhere the scan-and-livemon program (actually
671 <a href=
"https://github.com/ptrkrysik/gr-gsm/issues/
336">its underlying
672 program grgsm_scanner
</a
>) do not work with the HackRF radio. It does
673 work with RTL
8232 and other similar USB radio receivers you can get
675 (
<a href=
"https://www.ebay.com/sch/items/?_nkw=rtl+
2832">for example
676 from ebay
</a
>), so for now the solution is to scan using the RTL radio
677 and only use HackRF for fetching GSM data.
</p
>
679 <p
>As far as I can tell, a cell phone only show up on one of the
680 frequencies at the time, so if you are going to track and count every
681 cell phone around you, you need to listen to all the frequencies used.
682 To listen to several frequencies, use the --numrecv argument to
683 scan-and-livemon to use several receivers. Further, I am not sure if
684 phones using
3G or
4G will show as talking GSM to base stations, so
685 this approach might not see all phones around you. I typically see
686 0-
400 IMSI numbers an hour when looking around where I live.
</p
>
688 <p
>I
've tried to run the scanner on a
689 <a href=
"https://wiki.debian.org/RaspberryPi
">Raspberry Pi
2 and
3
690 running Debian Buster
</a
>, but the grgsm_livemon_headless process seem
691 to be too CPU intensive to keep up. When GNU Radio print
'O
' to
692 stdout, I am told there it is caused by a buffer overflow between the
693 radio and GNU Radio, caused by the program being unable to read the
694 GSM data fast enough. If you see a stream of
'O
's from the terminal
695 where you started scan-and-livemon, you need a give the process more
696 CPU power. Perhaps someone are able to optimize the code to a point
697 where it become possible to set up RPi3 based GSM sniffers? I tried
698 using Raspbian instead of Debian, but there seem to be something wrong
699 with GNU Radio on raspbian, causing glibc to abort().
</p
>
704 <title>Datalagringsdirektivet kaster skygger over Høyre og Arbeiderpartiet
</title>
705 <link>http://people.skolelinux.org/pere/blog/Datalagringsdirektivet_kaster_skygger_over_H_yre_og_Arbeiderpartiet.html
</link>
706 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Datalagringsdirektivet_kaster_skygger_over_H_yre_og_Arbeiderpartiet.html
</guid>
707 <pubDate>Thu,
7 Sep
2017 21:
35:
00 +
0200</pubDate>
708 <description><p
>For noen dager siden publiserte Jon Wessel-Aas en bloggpost om
709 «
<a href=
"http://www.uhuru.biz/?p=
1821">Konklusjonen om datalagring som
710 EU-kommisjonen ikke ville at vi skulle få se
</a
>». Det er en
711 interessant gjennomgang av EU-domstolens syn på snurpenotovervåkning
712 av befolkningen, som er klar på at det er i strid med
713 EU-lovgivingen.
</p
>
715 <p
>Valgkampen går for fullt i Norge, og om noen få dager er siste
716 frist for å avgi stemme. En ting er sikkert, Høyre og Arbeiderpartiet
718 <a href=
"http://people.skolelinux.org/pere/blog/Datalagringsdirektivet_gj_r_at_Oslo_H_yre_og_Arbeiderparti_ikke_f_r_min_stemme_i__r.html
">denne
719 gangen heller
</a
>. Jeg har ikke glemt at de tvang igjennom loven som
720 skulle pålegge alle data- og teletjenesteleverandører å overvåke alle
721 sine kunder. En lov som er vedtatt, og aldri opphevet igjen.
</p
>
723 <p
>Det er tydelig fra diskusjonen rundt grenseløs digital overvåkning
724 (eller
"Digital Grenseforsvar
" som det kalles i Orvellisk nytale) at
725 hverken Høyre og Arbeiderpartiet har noen prinsipielle sperrer mot å
726 overvåke hele befolkningen, og diskusjonen så langt tyder på at flere
727 av de andre partiene heller ikke har det. Mange av
728 <a href=
"https://data.holderdeord.no/votes/
1301946411e
">de som stemte
729 for Datalagringsdirektivet i Stortinget
</a
> (
64 fra Arbeiderpartiet,
730 25 fra Høyre) er fortsatt aktive og argumenterer fortsatt for å radere
731 vekk mer av innbyggernes privatsfære.
</p
>
733 <p
>Når myndighetene demonstrerer sin mistillit til folket, tror jeg
734 folket selv bør legge litt innsats i å verne sitt privatliv, ved å ta
735 i bruk ende-til-ende-kryptert kommunikasjon med sine kjente og kjære,
736 og begrense hvor mye privat informasjon som deles med uvedkommende.
737 Det er jo ingenting som tyder på at myndighetene kommer til å være vår
739 <a href=
"http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html
">Det
740 er mange muligheter
</a
>. Selv har jeg litt sans for
741 <a href=
"https://ring.cx/
">Ring
</a
>, som er basert på p2p-teknologi
742 uten sentral kontroll, er fri programvare, og støtter meldinger, tale
743 og video. Systemet er tilgjengelig ut av boksen fra
744 <a href=
"https://tracker.debian.org/pkg/ring
">Debian
</a
> og
745 <a href=
"https://launchpad.net/ubuntu/+source/ring
">Ubuntu
</a
>, og det
746 finnes pakker for Android, MacOSX og Windows. Foreløpig er det få
747 brukere med Ring, slik at jeg også bruker
748 <a href=
"https://signal.org/
">Signal
</a
> som nettleserutvidelse.
</p
>