Chrome phones home

Once Google Chrome has been installed on your Mac, it phones home every couple of minutes.

Google Chrome has some nice features, especially the debugger comes in very hand when doing java script development together with the Angular framwork. It allows to directly debug the TypeScript code used with Angular and the debugger jumps also in, when the Firefox or Safari debugger fails.

So far so good, but ultimatly, I don’t like to have a software on my box, which phones home every couple of minutes.

To get rid of the updater in MacOS 10.11 one can call the updater like this in the terminal:

~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall –nuke

To just disable it, seet the intervall to 0:

~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall –interval=0

 

Responsive

AngularJS looked pretty promising on the first view, but it is complicated to debug and has a steep learning curve. Finally I dropped it for the moment. Then I played around with my own pages and Twitter’s Bottstrap3. Bootstrap is really quite practical and not difficult to understand. I also polished up my knowledge about CSS3, mostly through learning by doing 😉

For the redesign of Muryokoin’s website I also added Boilerplate, which is especially helpful to tighten up security of the webserver. It required also some recoding in the database, which on the end is speeding up the loading of some pages.

I’m still not yet satisfied with the theme of WordPress, so I guess I play a bit around with some other themes until I find one, which I like.

At least all pages are now usable on all devices I tested.

The Karma of AngularJS

Recently I discovered AngularJS. It’s a Java Environment for dynamic webpages and one can do pretty cool stuff with it. Until I was able to do really cool stuff, I needed to remove a couple of obstacles. As easy as it is to debug JavaScript with Safari or Firefox as more tricky it gets with AngularJS code. There’s a nice extension, which allows to view AngularJS objects. It’s called ng-inspector. It installs a little button next to the field for entering urls, but surprise, surprise, one can press it as long as one likes to, nothing happens. After some time DuckDuckGo helped me to figure out that, ng-inspector doesn’t like the file protocol and wants the page to be opened from a web server. If you have configured Apache on your local box for testing that will do the trick. Since MacOS10.7 the WebSharing prefPane disappeared for starting apache, but it’s still all there. So you can either use terminal to start and stop Apache via apachctl or you can install a 3rd Party prefPane. A more simple solution is to just start SimpleHTTPServer via terminal: python -m SimpleHTTPServer 3000, that’s what I did. Actually, if you are not comfortable with using the Terminal, you should stop right else proceed by going to the AngularJS tutorial 🙂 The first real challenge comes with Karma, well not karma in the spiritual sense 😉 Karma is a test runner for unit testing, AngularJS is using then the Jasmine framework for actual testing. On the Mac the first nodeJS has to be installed, because everything else is based on nodeJS. So having installed nodeJS I ran the command npm install karma –save-dev command from the terminal. This basically installs karma, then one needs also to install Jasmine: npm install karma-jasmine –save-dev, now necessary browser support needs to be installed for Chrome: npm install karma-chrome-launcher —save-dev, for Safari: npm install karma-safari-launcher –save-dev and for Firefox: npm install karma-firefox-launcher –save-dev. Now I tried to start karma: ./node_modules/karma/bin/karma start and ended up with errors, like missing package.json file. What karma actually needs first is to run: npm init, this will create the necessary files. But we’re not yet done. Additional Angular-Mocks is needed to make karma run, so I ran npm install angular-mocks, it didn’t do the trick, I expected, So I downloaded the file again from here and saved in a subdirectory called node-modules. Finally the karma.conf.js file needs to be set up and it should look something like this:

module.exports = function (config) {
 config.set({
         // path to the root of the test site, in this case the root is one level up
 basePath: '../',

      //AngularJS is using the jasmine framework for unit-testing
 frameworks: ['jasmine'],

files: [
   //karma loads the files in alphabetical order, so to makle sure angular is loaded first
 'angular.js',
   //make sure the angular-mocks file is loaded next before anything else is loaded
 'node_modules/*.js',
   //all the java files, in our case we would need to load only the file containing our controller
 '*.js',
   //load our unit test file and run it
 'test/unit/*.js',
   // take a look on our html file, in case we change it
    '*.html'
 ],

exclude: [],

reporters: ['progress'],

port: 9876,

colors: true,

logLevel: config.LOG_INFO,

 // this runs the test again, if any of the above files are changed
 autoWatch: true,

  //I like the Safari debugger, so here we go
 browsers: ['Safari'],

singleRun: false,

plugins: [
 '~/node_modules/karma-safari-launcher',
 '~/node_modules/karma-jasmine',
         ]
       })
 }

On the end I installed for convenience also the command line interface for karma: npm install -g karma-cli Now finally I could start running: karma start /[Path/to/folder]/test/karma.conf.js and voila, karma runs the test. Yes 🙂

My data and PRISM

Everyday we can read about Prism in the big media. Prism is a data-mining software used by the NSA, the national secret service of the USA.

That something like this will happen in the future could have been expected. Until now we’ve seen technology like that only in SiFi kind of action movies, like 24hours for example.

Many of us thought to be save, our privacy is thought to be a far more higher good than the information interests of security agencies. Everyone who said, hey guys, you’re wrong, was stamped to be neurotic, anxious, way to fearful of big brother government. Now after parts of the truth surfaced, people are upset.

The German government wants the US government to immediately release all informations concerning data-mining of German citizens. Who do they believe they are? Are they serious, that the NSA will give them any more information, then the one could be found in the media? If they really believe that, they are simply naive. Besides that, the German government just passed a law, called „Gesetz zur Neuregelung der Bestandsdatenauskunft“, in English something like „act revising the inventory data information“. This law allows security agencies to break into any data-privacy of a person, even if the person just got a parking ticket. It gives the authorities access to passwords, email accounts, chat protocols.

Everything what is considered in non digital live as private and is protected by special laws.

To listen to your phone conversation or to search your home, authorities need a warrant signed by a judge. In digital live, no warrant is needed, they just get the access. And the funny thing in Germany is, neither Social Democrats nor the Greens opposed this law.

The EC also makes pressure that a law about the retention of telecommunication data is passed in every member state.

So why they are all now that upset about what the NSA is doing? Because the NSA is not storing the data by itself, instead they use Apple, Google, Facebook etc. as free mass-storage places of people’s personal data? Or what?

We all should now by now, that modern governments have no interest in protecting civil rights, their interest is to protect their own power and influence.

Just recently two young German students got denied entrance to the US, because the border authorities accused them of planning illegal actions in the US, as proof the authorities showed the students private chats from Facebook.

Benjamin Franklin once wrote: „They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety.“ He also said: „Freedom of speech is a principal pillar of a free government; when this support is taken away, the constitution of a free society is dissolved, and tyranny is erected on its ruins.“ This is the development we are seeing right now.

In Turkey the media didn’t reported in the beginning about the protests on Taksim Square, later lawyers were arrested and Erdogan, the PM of Turkey declared the protestors to be vandalists etc. In Germany a demonstration against the power of banks was beaten down by police and in the US the police was doing nearly the same before in New York with the occupy movement, which was internally marked as being terrorists by the FBI.

Our societies are loosing their liberty, their freedom for which so many people have fought and died in the past.

The sad thing is, most of the people are not interested. Panem et circensem, bread and games, worked already well at the time of the Roman Empire and it’s still functioning.

If you as reader are interested to protect your privacy at least a little bit, here are some tips:

First some big NOs, don’t do this, don’t…

  • publish anything on social media, like Facebook or Twitter, you don’t want to read in the newspaper
  • chat about personal things with people using Facebook Chat, AIM, Yahoo Chat, Skype or simular
  • pass on personal information through email without encrypting it
  • save or backup personal data on any cloud service, if a software doesn’t give you a choice like Things, drop it
and here is what you can do:

  • use encryption in e-mail, like PGP, GnuPGP or OpenPG
  • use your personal hardware for backup or
  • use point to point encryption on rented server space
  • avoid or minimize the use of personal data
  • treat unencrypted email, like sending a postcard
  • use Jabber also called XMPP for chatting with a server you can trust via SSL/TLS additional an end-to-end encryption can be used with OpenPGP. The encryption is integrated with some clients like Adium for Mac
  • use TOR for brownsing, if you want to sat annonym
  • use https whenever possible
For encrypting their are meanwhile easy to use software packets on the market, professional solutions and open Source software as well.

Here are some links:

Generell: GnuPG, OpenPGP

The TOR project

MacOS (for AppleMail): GnuPG

iOS (iPhone, IPad): oPenGP (not free)

Android: The Guardian Project

For Thunderbird: Enigmail

Windows: GPG4Win

Payed solution from Symantec for example

Point to Point encryption:

Most OSes have that capability built in for the local hard drive, called full disk encryption. Check Point offers a more professional solution for the Mac. There are many solutions on the market, free open source solutions and payed services. The important point is that only you have the key and the control over the key and not the hosting company.

The Cloud

Happy new year everybody 🙂

Today I kicked my getting things done app in the trash.

Getting things done is a book and Method by David Allen. The method originally works with paper and boxes and helps you to get organized and things out of one mind to free the mind for being creative instead of storing stuff there and having to think on that, what’s still not yet done.

Naturally a lot of applications have grown around this idea. Quite some time I decided to use Things from Culture Code. There is a desktop and a iPhone application which were synchronizing over the local network. The user interface of the application is neat and clean and I liked it a lot. I was pretty happy with it.

So what made me trash it?

Culture code decided to update Things to Things 2.0 and with that update they introduced synchronization over their own cloud service and announced very proud how many users are already having an account there. Theres nothing wrong with that, but they also decided to drop local synchronization. So if I want to use the new version, I’d be forced to use their cloud service, a server I have no control of and leave there all my to do lists including all the personal or business information, which I might have noted in one or the other task of my to-do list.

I’m amazed actually, how many people blindly trust a company and leave their personal data on the companies server. Didn’t we all learn meanwhile, that google scans the mails of their gmail service to place proper advertising to the user? So why should we trust a software company, especially when they just abandon the local service, so if I want to continue using the software, I’m forced to use their cloud service.

It becomes even more interesting, if one knows that Culture Code is a German company and the German Ministry of inner affairs is currently working on some laws to give security service access to data in the cloud, meaning forcing providers to open their servers for police or other security services to access these data, preferable without any consultation of a judge. The Patriot Act of the US does this already.

Upps, you didn’t know that? You synchronize your iPhone via the Apple’s Cloud Service, store your documents on amazon’s cloud service. You think it’s all well protected by your personal password and login data. If you run your own server, you know that you have access to everything and anything stored on that machine, so has the industries.

Of course you can encrypt your data with an point to point encryption, which will make it harder for anybody to look into it and only government services or big companies will have the computing power to crack your encryption. Well and what happens, when government and industries work together? It already does as I learnt recently by an article published by the Guardian. A peaceful protest movement against the power of the banks was marked as terrorist activity by the FBI.

You might think, you don’t do anything illegal, so why should you care. We’ve seen over the past couple of years, how quickly innocent people can get into the focus of law enforcement authorities or the industries. The result is often scary. And well, we all have something to protect and be it only our privacy.

Well, I didn’t give up, organizing my to-do and getting things done in a organized way, I’m just using a different software from the omnigroup, a well know Apple development company. Omni Focus offers different ways of synchronizing the desktop and iPhone app. One of them is via Bonjour and the local network another one works via WebDAV or a file server.

These days I just learned, you can set up your own clod services with OwnCloud. OwnCloud is a software-suit based on php and a SQL-server, which can be set up on nearly any Operating-System, all you need is access to a server. This probably works also with dynamic ip addresses and a service, like dynDNS. So now I’m thinking to setup this on my server here.

So, you don’t believe me? Then check this out: http://www.zdnet.com/blog/igeneration/microsoft-admits-patriot-act-can-access-eu-based-cloud-data/11225

New Dinj Online

While I was on Shikoku, I was asked to run the Dinj mailing list.  Dinj stands for German speaking people living or interested in Japan. It was maintained for over 15 years by Michael Engel and the community has expressed their deepest gratefulness for doing so.

The first job was of course the get mailman, the list server software up and running with virtual domains – see the last post. After that Michael transferred the domain to me and now everything is done 🙂 The list is up and running now. One can subscribe here.

The next plan is to add more content to the website and mayeb adding a Wiki later.

Mailman on SnowLeopard Server

Snow Leopard Server (Mac OS 10.6.x) is until now the most solid server-system from Apple I had up and running. It comes with apache, postfix, dovecot and mailman preinstalled. All the software is well know open source software, but some things were changed by Apple. So the best is to leave the mailman installation as it was shipped by Apple.

Mountain Lion has mailman not preinstalled, so you need to do everything by yourself, like on any other Linux System.

Running mailman on SL Server with virtual domains is not supported by the Apple’s ServerAdmin, so one has to set up things by oneself. This is what I did to get things up and running:

1. I activated mailman in ServerAdmin and created one mailing list, called mailman, this will do the basic setup for Apache and mailman.

2. I edited /private/etc/postfix/main.cf and added:

virtual_alias_maps = hash:/private/var/mailman/data/virtual-mailman

you probably already have a file for virtual aliases so you just can add it:

virtual_alias_maps = hash:/etc/postfix/virtual
hash:/private/var/mailman/data/virtual-mailman

3. I edited: /private/etc/postfix/master.cf and uncommented these lines:

mailman   unix  –       n       n       –       –       pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}

4. I edited /usr/share/mailman/Mailman/mm_cfg.py and added this:

VIRTUAL_HOSTS.clear()
add_virtualhost(‘lists.virtual.com’, ‘virtual.com’)
POSTFIX_STYLE_VIRTUAL_DOMAINS = [‘virtual.com’]

this domain of course also has to be in /private/etc/postfix/virtual_domains, which is created by ServerAdmin

4. restart postfix and mailman via terminal:

sudo postfix reload

sudo  /usr/share/mailman/bin/mailmanctl restart

5.  go to your browser and point it to:

lists.virtual.com/mailman/create

6.  run sudo  /usr/share/mailman/bin/genaliases

and your list should be working.

Two things, you can’t have 2 lists with the same name on different domains and the list name can’t be equal to a short name in your OpenDirectory db.

For Q&A there’s a mailman wiki:

http://wiki.list.org/

and for more tricky question you can subscribe to the mailman mailing list here: http://mail.python.org/mailman/listinfo/mailman-users

Have fun and enjoy 🙂