How I installed Teamviewer 12 on Linux Mint 18.2

 

Here is how I installed Teamviewer 12 on Linux Mint 18.2 64bit:
1. Downloaded Debian package from here
2. Located file in Downloads folder, right-click, “Open with GDebi Package Installer”
3. Ran into issue about missing dependency: libdbus library
4. Ran this as recommended elsewhere, didn’t help: sudo apt-get install -f
5. Found this useful discussion thread and basically ran the first two commands recommended, then re-attempted install through package manager successfully.

sudo dpkg --add-architecture i386
sudo apt-get update

 

Advertisements

Scrapy

Yesterday during another boring phone call I googled for “fun python packages” and bumped into this nice article: “20 Python libraries you can’t live without“. While I already knew many of the packages mentioned there one caught my interest: Scrapy. Scrapy seems to be an elegant way not only for parsing web pages but also for travelling web pages, mainly those which have some sort of ‘Next’ or ‘Older posts’ button you wanna click through to e.g. retrieve all pages from a blog.

I installed Scrapy and ran into one import error, thus as mentioned in the FAQ and elsewhere I had to manually install pypiwin32:

pip install pypiwin32

Based on the example on the home page I wrote a little script to retrieve titles and URLs from my German blog “Axel Unterwegs” and enhanced it to write those into a Table-Of-Contents type HTML file, after figuring out how to overwrite the Init and Close method of my spider class.

import scrapy
header = """
<html><head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
</head><body>
"""
footer = """
</body></html> 
"""

class BlogSpider(scrapy.Spider):
 name = 'blogspider'
 start_urls = ['http://axelunterwegs.blogspot.co.uk/']
 
 def __init__(self, *a, **kw):
   super(BlogSpider, self).__init__(*a, **kw)
   self.file = open('blogspider.html','w')
   self.file.write(header)

 def parse(self, response):
   for title in response.css('h3.post-title'):
     t = title.css('a ::text').extract_first()
     url = title.css('a ::attr(href)').extract_first()
     self.file.write("<a target=\"_NEW_\" href=\"%s\">%s</a>\n<br/>" % (url.encode('utf8'),t.encode('utf8')))
     yield {'title': t, 'url': url}

   for next_page in response.css('a.blog-pager-older-link'):
     yield response.follow(next_page, self.parse)
 
 def spider_closed(self, spider):
   self.file.write(footer)
   self.file.close()

Thus, here is the TOC of my German blog.

I tried to get the same done with my English blog here on WordPress but have been struggling so far. One challenge is that the modern UI of WordPress does not have any ‘Older posts’ type of button anymore; new postings are retrieved as soon as you scroll down. Also the parsing doesn’t seem to work for now, but may be I figure it out some time later.

 

 

Victim of some Facebook Phishing

Facebook.jpgToday I became a victim of some Facebook credentials phishing. I received an instant message from one of my Facebook contacts containing a video. When trying to play the video I got prompted to enter my Facebook credentials. After having done this … my credentials went into the wrong hands. And it became obvious that this video was not from my contact.
This happened on my smartphone. I believe on a PC this never would have happened to me because there are many means to cross-check urls and links and other things to detect a phishing. On a mobile device it is much harder. The login screen really looked authentic.
The result was: many dubious videos sent to all my contacts. In the meantime Facebook right away locked my account because they detect suspicious behavior. I also ( too late ) read the warning from my contact in Facebook from whom I had received the malicious message that her account had been compromised.
I unlocked my Facebook account by setting a new password and acknowledging a confirmation code; Facebook did a quiet good job to detect the problem and take me through steps to resolve. I then posted warning on my Facebook page and also sent warning messages to most of my contacts; luckily I have less than 100 Laughing
Interestingly my Chrome browser on one of my laptops later on insisted in downloading a Malicious Software Removal tool from Facebook, which right away was blocked by my virus scanner. This happened while Facebook was working fine in my Firefox browser. I found this very helpful hint here ( see comment # 3 in this lengthy article ) how to overcome this strange means and enable Facebook again in my Chrome browser.

Longest internet outage you ever experienced ?

In March my internet connection provided by Vodafone was broken for 6 days. That means: no phone, no internet @ home, for a long period of time. Luckily I have a Samsung Galaxy S5 Mini with LTE and hotspot capability and Vodafone gave me free 50 GByte data volume when I called them to address the problem.

Nevertheless, what duration of an internet outage can be tolerated ? I have read articles in the meantime saying that an outage of 3 working days needs to be tolerated, but anything beyond qualifies you for asking for compensation or might give you the right to cancel your contract in advance; typical contracts here in Germany last 2 years and can be cancelled three month before they end.

So, what is the longest internet outage you ever experienced at home and what did you do about this ?

And: how many of those outages can be tolerated per year ? I am asking this because since yesterday my line is down again. I called Vodafone and after keying in my phone number a voice told me something about a global problem.

1900 001337
1900 001337” by StephenMitchell.

In former times when we had an analog phone at home I don’t recall that it ever failed, it always had been available for years and years without a single failure. It just worked.
Modern phones use voice over ip and thus need the internet to work. And internet connections turn out to be quiet unreliable these days, as I am experiencing myself;  also I hear that the line in the house of my mother in law doesn’t work anymore since last week.

In former times we had an analog radio in our kitchen and it always worked. Nowadays we have an ip radio and of course it doesn’t work without an internet connection. Thus: no radio this morning.

Modern technology is fascinating, but much more fragile than older technology. If I think about the Internet Of Things on one end and the increasing amount of activities of criminals on the other end to sabotage that technology, which already is kind of fragile due to its complexity, I get a bit nervous about the future.

The indispensible man

everywhereonce.com is my favorite travel blog currently I read again and again, actually I try to catch up with their postings and made it to September 2012 so far. It is about a couple quitting their jobs and their home in 2010 and started traveling … ultimately to every place on the world to see it at least once.

If the Devil’s greatest accomplishment is convincing the world he doesn’t exist, employers’ greatest accomplishment is convincing workers they are indispensible.

They are sort of freelance writer, so to some extend they are able to make some money while being on the road. And regarding their home: legally wise they need to be registered somewhere and it looks like they have chosen Texas as their official home land.

Anyway, one article catching my attention is: “The indispensible man”.

How come that the majority of workers take just one third of their vacation days and feel guilty when being away from the office ? How come so many people check their business e-mails while being in holidays or on vacation ?

Because they think they are indispensible. Which is not true, as Brian nicely writes in this blog:

Long after we’re gone, the world will continue to move on as it always has – completely indifferent to our passing. After a short period of adjustment, our life’s work will be picked up by someone else. They too will be made to feel irreplaceable up until the point they are replaced, either out of necessity or convenience

2015 in review

The WordPress.com stats helper monkeys prepared a 2015 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 22,000 times in 2015. If it were a concert at Sydney Opera House, it would take about 8 sold-out performances for that many people to see it.

Click here to see the complete report.

2014 in review

The WordPress.com stats helper monkeys prepared a 2014 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 24,000 times in 2014. If it were a concert at Sydney Opera House, it would take about 9 sold-out performances for that many people to see it.

Click here to see the complete report.