postfix

Postfix rejection problem ‘454 4.7.0 TLS not available due to local problem’

For our service Melt Mail there happened to be a Postfix error which prohibits forwarding e-mails from Gmail. The SMTP server fails with the message

454 4.7.0 TLS not available due to local problem

The problem was the smtp daemon of Postfix

warning: TLS library problem: 24753:error:2006D080:BIO routines:BIO_new_file:no such file:bss_file.c:172:

The solution was to remove the

smtpd_tls_CAfile

line in the main.cf file.

Maven missing in OS X Mavericks

mvn: command not found in OS X Mavericks

I have the preview version of Apples OS X Mavericks installed and got an error when trying to run maven:

-bash: mvn: command not found

This was little bit confusing because normally maven is pre-installed in OS X but “the world’s most advanced desktop operating system” comes without maven – at least in this preview version.

But Homebrew is our friend and makes it easy to install it:

brew install maven

and after that I got Apache Maven 3.0.5 installed and running on my system.

Good_Times_Great_Times

The arbitrariness of Facebook

Once upon a time there was a happy guy who lived for 5 years in a land called Facebook….

…WAIT… STOP!

I could continue to write this post in a hip fairy-tale style, but unfortunately this is no fairy tale, there is no land called Facebook and there is no evil king called Mark The Great. There is just this company which arbitrariness just shocked me in these last days. But let me tell you the whole story:

Once I had a Facebook ‘life’, so let me visualise it

my little Facebook life
my little Facebook life

I didn’t have so many friends on this service and the last weeks I even deleted approx. 30 because I wanted to keep only the people I have talked to in real life for the last 1 year.
I managed lots of pages on Facebook including the official HAPPY CODING and Melt Mail fan page and couple of other pages with fans from 1 to 10.000. I paid approx. $150 in advertisement to Facebook during the last couple of month, which meant that they had a valid bank/PayPal account. I provided a valid e-mail and never used their service for sending e.g. SPAM.

Nevertheless they just disabled my account and deactivated all the connected pages, groups and applications.

message i get when trying to login
message i get when trying to login

Did they inform me before? No.

They provided a link to their FAQ which directs me to the reason “Bad Apps” where they say

Your account was disabled for violating Facebook’s Terms. Accounts that are used to create spam, collect inauthentic friendships or create malicious apps are not allowed on Facebook.

This is pretty weird, because I am not aware of creating a “malicious app”.

I send a request to reactivate my account and even sent a copy of my driving license as they require in this impertinent reactivating -process.

Did I get an answer? No. (….but im still waiting)

One of the most annoying things is that also 3rd-party web pages, which use their Facebook Connect authentication (like e.g. Spotify) won’t allow me to login again. And in the case of Spotify it’s not even possible to reset the password without a valid Facebook account.

After 10 emails with the Spotify support, the only solution they had was:

  1. they delete my old connected account
  2. they cancel the ‘ultimate subscription’ I had
  3. I create a new account
  4. I tell them if i want my playlists back and they will copy them from the old account

Step 4 is still in progress.

This whole farce shows again how arbitrarily Facebook or any other big service is. In the terms of service Facebook writes

If you violate the letter or spirit of this Statement, or otherwise create risk or possible legal exposure for us, we can stop providing all or part of Facebook to you. We will notify you by email or at the next time you attempt to access your account.

OK and they sticked to it. No mail for me, but a notification I get when I try to login. No warning before – regardless of dependencies to other services etc.

I don’t need Facebook to make a living, but imagine companies which business model is build on their service. Imagine some person who wrote an app and earns money with this app and is dependent on this money.

Facebook can lock you out and they don’t even care. They sit in their hip headquarters in California, petting their single speed bikes and pray to their leader.

I don’t know. On the one hand there are some advantages of this service like keeping in touch with old friends etc. On the other hand they treat you like a dataset and can activate and deactivate you whenever they want.

I will now give them some time to read the request. Maybe they already threw it in their virtual garbage, but maybe they care about their users and are only little bit slow.

In the end I have some quality time back.

Update July, 29th

Still no response from the kingdom.

Update September, 4th

OK, still no answer from their awesome support. :) So I can say: They don’t care about their users. But I don’t care anymore. So that is fine. And I have to say, that I save so much time for other things.

elasticsearch

Accessing Elasticsearch from command line

If you work as much with Elasticsearch as I do, it can be sometimes annoying to access Elasticsearch functionalities via the normal API HTTP requests. And if you work gladly on the command line, es2unix is for you. It’s a command line tool for accessing the Elasticsearch API.

It’s written in clojure and pretty easy to install. You just have to download it (here to ~/bin/) and make it executable:

curl -s download.elasticsearch.org/es2unix/es >~/bin/es
chmod +x bin/es

To check for example the health of the cluster what you would normally e.g. do with a GET request to http://localhost:9200/_cluster/health?pretty=true you can now just call the following from the command line:

bin/es health -u http://localhost:9200

This would return e.g. for a cluster “cluster1” and 8 nodes, 8 data nodes, 15 primary shards, 45 active shards, 2 relocating shards, 0 initialising shards and 0 unassigned shards

14:11:07 cluster1 green 8 8 15 45 2 0 0

To print the columns you just have to add the verbose command -v

bin/es health -u http://localhost:9200 -v
time     cluster   status nodes data pri shards relo init unassign
14:14:25 cluster1  green      8    8  15     45    2    0        0

The following commands are available for the es tool:

  • allocation
  • count
  • lifecycle
  • health
  • heap
  • ids
  • indices
  • master
  • nodes
  • search
  • shards
  • version

With count you can get the total number of documents e.g.

bin/es count -u http://localhost:9200

14:16:02 108,260,980

lifecycle is also nice to get the node joining history. For this command you need access to the Elasticsearch log files:

bin/es lifecycle elasticsearch/logs/cluster1.log

returns in my case:

2013-07-10 09:13:41,537 search01 INIT 0.90.2
2013-07-10 09:13:43,075 search01 BIND xxx.xxx.xxx.xxx:9300
2013-07-10 09:13:46,143 search01 MASTER search03
2013-07-10 09:13:47,810 search01 START
2013-07-10 09:14:16,294 search01 ADD search03
2013-07-10 12:34:38,862 search01 REMOVE search08
2013-07-10 12:34:56,436 search01 ADD search08
2013-07-10 13:41:50,709 search01 REMOVE search07
2013-07-10 13:42:08,382 search01 ADD search07
2013-07-10 14:00:57,001 search01 REMOVE search06
2013-07-10 14:01:14,594 search01 ADD search06

To get a more detailed documentation go to github.com/elasticsearch/es2unix

Couldn’t load myproject.xcodeproj because it is already opened from another project or workspace

I just had the problem, that I created a brand new project in Xcode and wanted to add CocoaPods to it. When I opened my newly created workspace I got the error:

Couldn’t load myproject.xcodeproj because it is already opened from another project or workspace

Only the Pods project was correctly listed in the workspace – myproject not. The solution was to close the project in Xcode and close Xcode before running

pod install

The steps to fix this issue:

  1. Create new project in XCode
  2. Close the project via “File > Close Project”
  3. Close XCode
  4. Go into the project directory
  5. add the Podfile
  6. run pod install
  7. Open the workspace

 

Ios7

Designed by Apple in California – Inspired by Microsoft?

I remember this funny Gizmodo article from 2011 where Sam asked “why Apple is making everything looking like an ugly wild west”. And we have seen all this development during the last years where everyone tried to use as much skeuomorphic elements as possible in web- and mobile applications. I also like Dieter Rams, but enough is enough.

Dieter Rams Braun
UI elements inspired by Dieter Rams (by Adrian Olczak)

And all these ugly textures everyone hates during the 90s came back. And now – thanks to Windows Phone 8 (?) – the trend is going back to simplicity and clean interfaces.

Clean WIndows Phone UI
Clean WIndows Phone UI

TechCrunch wrote today about this years WWDC application and so I took a look on it and yes, it looks much more cleaner and flat than the older Apple applications.

WWDC 2013 App
Apples 2013 WWDC application.

Maybe Apple got some inspiration from the clean Windows UI design? Don’t know, but I like this development.

HC_Spring

Spring Roo Exception: Row was updated or deleted by another transaction

While playing around with Spring roo I see this error while running the integration tests via

perform tests

roo org.springframework.orm.jpa.JpaOptimisticLockingFailureException: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction

The problem was here, that my database table which stored the specific entities had a version column but only NULL values inside. I have replaced the NULLs with an numeric value and then it worked.

“Updating Maven Project”. Unsupported IClasspathEntry kind=4

I’m just playing around with Spring Roo and multi-module Maven projects. When I start to import a project into the STS I am getting the following error and the SDK is getting unresponsive:

“Updating Maven Project”. Unsupported IClasspathEntry kind=4

The problem is somehow related to the m2e plugin integrated in the STS.

So solve this select (right click) on the STS/Eclipse modules

Maven -> Disable Maven Nature
Maven Disable Maven Nature in STS (Eclipse)
Maven Disable Maven Nature in STS (Eclipse)

run in the terminal

mvn eclipse:clean

and select again in STS

Configure -> Convert to Maven Project

 

 

 

foundation

Pimp Happy Coding with arbor.js and foundation.

Recognised? I’ve updated happy-coding.com just for the sake of it. I like graphs somehow and stumbled across the wonderful arbor.js and just gave it a first quick shot to pimp the homepage.

There was some tweaking necessary to support images as nodes, so I have changed some parts of arbor, which you can see on GitHub.

Besides this I made this theme more responsive by using Foundation which is also a wonderful framework.

HAPPY CODING Screenshot