Kleines 1×1 für den Argentinienurlaub

Kürzlich waren wir in Argentinien und haben dabei einige Höhen und Tiefen erlebt. Deshalb hier unser 1×1 für den Argentinienurlaub:

  1. 20171031_012745.jpgStandard: Argentinien ist nicht Deutschland, sondern alles ist heruntergewirtschaftet. Man bekommt für das gleiche Geld einen deutlich schlechteren Standard verglichen mit Deutschland. Wer den deutschen Standard möchte (gerade bei Sanitäreinrichtungen), sollte bei der 5 Sterne Kategorie buchen.
  2. Menschen: Wir haben keinen unfreundlichen Menschen getroffen. Allen waren sehr hilfsbereit und höflich, trotz der Tatsache, dass wir nicht Spanisch sprachen.
  3. Cash: Vieles geht in Argentinien nicht mir Kreditkarte zu zahlen, deshalb zählt vor allem (viel) Cash. Nehmen Sie am Besten Bargeld (Euro oder 20171028_181902.jpgDollar) von zu hause mit, denn vor Ort wird es schwierig. Man kann am Automaten nur 2000 $ (ca. 100€) (Argentinische Pesos) abheben. Die Automatengebühr beträgt 106,50 $, d.h. ca. 5€ pro Vorgang. Es lohnt sich also, lieber Bargeld vor Ort zu tauschen. In vielen kleinen Dörfern gibt es zumeist auch nur max. einen Automaten, der schnell leer ist. Siehe hierzu auch Olis Blog.
  4. Preise: Argentinien ist bis auf Medikamente und Fleisch nichts billiger als Deutschland!
  5. Smartphone: Wenn Sie nicht gut spanisch sprechen, laden Sie sich Offline Übersetzer herunter. Dict.cc und Google Translate erbringen gute Dienste. Am besten derzeit ist jedoch deepl.com, wenn man den Netz hat (siehe 6).
  6. Wifi/WLan: Fast überall gibt es kostenloses WLan. Entweder nicht verschlüsselt und wenn zumeist ist das Passwort gleich der SSID (Namen). Ansonsten einfach erfragen. Es war zumeist unsere erste Frage in Restaurants.
  7. Englisch: Wir dachten wir kommen mit Englisch schon durch. Dem war nicht so. Lernen Sie wenigstens ein bisschen Spanisch.20171030_164928.jpg
  8. Busse: Busse sind in Argentinien allgegenwärtig und das Überland-Bussystem ist größer und besser als in Deutschland. Das Nutzen der Busse hat auch Vorteile:
    • preisgünstig
    • man sieht das Land
    • bequem, wenn man die Sitzklassen Cama oder “Cama Ejecutivo Promocional” bucht. Das würden wir auch empfehlen.
    • Buchen und Übersicht findet man bei Plataforma10.
  9. Postkarten: Schreiben Sie lieber WhatsApp Nachrichten. Der Versand von Postkarten kostet 85$, also 4€.
  10. Süß: Argentinier essen alles mögliche an Süßspeisen, vor allem früh. Wem das nicht schmeckt, sorgt selber vor, oder achtet bei der Buchung des Hotels auf ein ordentliches Frühstücksbuffet.
  11. Reiseapotheke:
    • Lassen Sie sich auf Hepatitis A impfen.
    • Nehmen sie Desinfektionsmittel und Tücher mit.
    • Machen Sie sich mit den Symptomen der Krätze vertraut. Kaufen Sie, wenn diese ausgebrochen ist, in der Apotheke entsprechende Arzneimittel. Diese sind billig und rezeptfrei zu bekommen. Fragen Sie Ihren Arzt und Apotheker.
    • Anti-Mückenspray!
  12. Buenos Aires: Ist eigentlich nur ein großer Slum.
    • Parkanlagen, Botanischer Garten, Japanischer Garten lohnen sich nicht.
    • U-Bahn ist preiswert und zuverlässig. Man benötigt dafür eine Smartcard (blau), die einmalig 25$ kostet. Jede Fahrt kostet 7,5$, egal wie weit. Man kann die Karte auch überziehen 😉 .
    • Hop on Hop Off Bus ist viel zu teuer. 50 US$ p.P.
    • Verkehr ist extrem aggressiv und kein Vergleich zum deutschen Stadtverkehr.
    • Straßen und Gehwege in einem erbärmlichen Zustand.
    • Hotel/Hostel Empfehlung: Chill House. Siehe auch hierzu Olis Blog.
    • Restaurantempfehlung: IL Vero Arturito. Eines der besten Restaurants, das wir je besuchen duften.
  13. Ezeiza: Zumeist kommt man in Ezeiza (Buenos Aires) an. Die Fahrt vom Flughafen kann schwierig und teuer werden. Es besteht die Möglichkeit mit Bus in die Innenstadt zu kommen (ca. 20€ p.P.) oder mit dem Taxi (ab 700 $). Die Busunternehmen fahren einen dann ab der Buszentrale zum jeweiligen Hotel.
  14. 20171030_142014.jpgCorboba: kurz – lassen sie es.
    • Die koloniale Architektur ist überbewertet und nur vereinzelt erkennbar.
    • Innenstadt von Slums umgeben.
    • Wir haben keine guten Restaurants gefunden.
    • Die Parkanlagen sind in einem katastrophalen Zustand.
    • Wir waren im Garden Hotel – nicht wirklich zu empfehlen.
  15. Mendoza: Eine Oase in der Wüste. Wunderbar grün und wahrscheinlich die schönste Stadt Argentiniens.
    • Unsere Hotels:
      • Posada del Arte: Nicht buchen!
      • Urban Class Hotel: Zu teuer.
      • Hotel Zamora: Inhabergeführtes Hotel mit Stil. Gutes Preis Leistungsverhältnis. Schlechtes WLan.
      • Grand Hotel Venus: Gleich gegenüber des Zamora. Bessere Ausstattung, aber etwas teuer. Trotzdem gut. Das WLan war aber auch bescheiden.
      • In Mendoza immer auf Klimaanlage achten.
    • Die Parkanlage ist sehr schön und wird aktiv gepflegt.
    • Restaurants: Das schönste war das LA LUCIA Grill & Bar.
  16. Touren: In Mendoza kann man allerlei Touren günstig buchen, sowohl Wein- als auch Andentouren. Wir haben bei Maya travel and tourism gebucht. Wir haben durch mehrere Touren Rabatt bekommen und alles war in Englisch.
    • Weintour (450$): Sehr schöne Weintour zu 3 Bodegas und einer Olivenfarm. Es war alles inklusive und vor allem die Bodega Domiciano ist zu empfehlen.
    • Wein Tour Hop on hop off (650$): Nicht zu empfehlen, da es kein Hop on hop off ist. Die Verkostungen kosten extra.
    • Villavicencio (500$): Schöne Tour ins Naturreservat und zur Villa. Nette Führung.
    • Canon del atuel (850$): Sehr lange Fahrt zum eindrucksvollen Canyon, der auch komplett durchfahren wird. Es lohnt sich.
    • High Mountain (750$): Fahrt zum Grenzübergang nach Chile durch die Anden (wenn es denn nicht schneit, also immer nach dem Wetter schauen). Eindrucksvolle Ansichten auf ein Hochgebirge, bei denen die Alpen nur das Vorgebirge wären. Stopps bei der Inka Bridge, Skigebiet und dem Blick auf den Aconcagua mit seinen 6920m.

P.s.: Wir fahren nicht mehr nach Argentinien bzw. Südamerika.

Advertisements

Add user to Azure SQL Server

Problem

  • Add user to Azure SQL Server

Solution

On Master:

CREATE LOGIN newLogin WITH password='<PASSWORD>’;

On target database:

CREATE USER newUser FROM LOGIN newLogin
EXEC sp_addrolemember ‘db_datareader’, ‘newUser’;

In this example, a read only user is created. But you can also set the following roles:

  • db_accessadmin
  • db_backupoperator
  • db_datareader
  • db_datawriter
  • db_ddladmin
  • db_denydatareader
  • db_denydatawriter
  • db_owner
  • db_securityadmin
  • LimitedCreatorRights
  • public

Send to Azure IoT Hub Rest Endpoint with C# without library

Problem

  • Send Device to Cloud messages to Azure IoT Hub without libraries only using REST Endpoint
  • Integrate Proxy Support
  • Getting SharedAccessSignature

Solution

private static void sendToIOTHUB(string s)
{
string iotHub = “<<IoTHubName>>”;
string deviceId = “<<DevideID>>”;
string api = “2016-02-03”;

string restUri = String.Format(“https://{0}.azure-devices.net/devices/{1}/messages/events?api-version={2}”, iotHub, deviceId, api);

using (WebClient client = new WebClient())
{
client.Headers.Set(“Content-Type”, “application/json”);
//Proxy – can be deleted
WebProxy wp = new WebProxy(“<<PROXY>>:<<PORT>>”);
client.Proxy = wp;
client.Headers.Set(“Authorization”, “<<SharedAccessSignature>>”);
string res = client.UploadString(new Uri(restUri), s);
Console.WriteLine(res);
}
}

Getting SharedAccessSignature

First, you have to download the Device Explorer from here.

Got to Management and SAS Token.

device_explorer

Generate the SASToken. You need something like this:

SharedAccessSignature sr=<<IOTHUBNAME>>.azure-devices.net%2Fdevices%2F<<DEVIDEID>>&sig=<<SIG>>%3D&se=<<SOMENUMBER>>”

sastoken

 

Convert .NET Dictionary to JSON without Libraries in C#

Problem

  • You want to convert a C# Dictionary to JSON
  • You do not want use external libraries

Solution

private string DictionaryToJson(Dictionary<string, object> dict)
{
string entries = “”;
foreach (KeyValuePair<string, object> entry in dict)
{
if(entries.Length>0)
entries = entries + “,” + “\”” + entry.Key + “\”:\”” + entry.Value.ToString() + “\””;
else
entries = “\”” + entry.Key + “\”:\”” + entry.Value.ToString() + “\””;
}
return “{” + entries + “}”;
}

Install Splunk on Ubuntu and hide behind Apache2 Proxy

Problem

  • Hide Splunk behind Apache2
  • Enable .htaccess
  • Ubuntu 16.04 LTS

Solution

Install Splunk

dpkg -i splunk_package_name.deb

/opt/splunk/bin/splunk start –accept-license

For enable this behavior, please set the following in /opt/splunk/etc/system/default/web.conf

root_endpoint=/NAME

Restart Splunk:

/opt/splunk/bin/splunk restart

Start at boot time:

opt/splunk/bin/splunk enable boot-start

Apache

Enable needed modules:

  • sudo a2enmod proxy
  • sudo a2enmod proxy_http

Edit /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
ProxyPreserveHost On

ProxyPass / http://127.0.0.1:8000/NAME
ProxyPassReverse / http://127.0.0.1:8000/NAME
</VirtualHost>

Add .htaccess to VirtualHost

<Location /NAME>
AuthType Basic
AuthName “Wrapper auth”
AuthBasicProvider file
AuthUserFile “/PATHTOHTPASSWD/htpasswd”
Require valid-user
</Location>

Restart

sudo systemctl restart apache2

Install Apache2 with SSL/HTTPs on Ubuntu

Problem

  • You need a Apache2 with HTTPs on Ubuntu

Solution

Prepare

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install apache2

Create certificate

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

You will be asked for some infomation. Just put in, what you want:

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

Optional

Create strong Diffie-Hellman

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

SSL Params

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
# Disable preloading HSTS for now. You can use the commented out header line that includes
# the “preload” directive if you understand the implications.
#Header always set Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”
Header always set Strict-Transport-Security “max-age=63072000; includeSubdomains”
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLSessionTickets Off
SSLUseStapling on
SSLStaplingCache “shmcb:logs/stapling-cache(150000)”

Edit /etc/apache2/sites-available/default-ssl.conf

sudo nano /etc/apache2/sites-available/default-ssl.conf

Change to

SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

Eanble everything

sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite default-ssl
sudo a2enconf ssl-params

Restart Apache2

sudo systemctl restart apache2

 

 

 

Install RabbitMQ on Ubuntu 16.04

Problem

  • Install RabbitMQ on Ubuntu Server

Solution

Install Repository

echo ‘deb http://www.rabbitmq.com/debian/ testing main’ | sudo tee /etc/apt/sources.list.d/rabbitmq.list

wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add –

Install RabbitMQ

sudo apt-get update

sudo apt-get install rabbitmq-server

Status

sudo systemctl status rabbitmq-server

Start RabbitMQ

sudo systemctl start rabbitmq-server

Stop RabbitMQ

sudo systemctl stop rabbitmq-server

Limits

sudo nano /etc/sysctl.conf

Add

fs.file-max = 65536

Run

sudo sysctl -p

Edit

sudo nano /etc/security/limits.conf

Add

* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
root soft nproc 65536
root hard nproc 65536
root soft nofile 65536
root hard nofile 65536

Edit

sudo nano /etc/pam.d/common-session

Add

session required pam_limits.so

Restart

sudo reboot

Ports

Open Ports: 15672 (Mgmt), 5672 and 5671 (Messages)

Management Plugin

sudo rabbitmq-plugins enable rabbitmq_management

sudo systemctl restart rabbitmq-server

Add Admin

rabbitmqctl add_user admin <<password>>
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

See Management Site

Open http://<<IP>>:15672