Firefox comes with a set of predefined search plugins. Those are stored inside the Application bundle. Go to /Applications (or wherever your Firefox.app is), right click and choose “Show package content”.
This will open a new window with the Application Data and Binaries. Inside “Content/MacOS/searchplugins” you can find the preset search plugins. You may want remove those not used, I don’t think this has any speed impact, but you never use the wrong one then.
The searchplugins use a open standard which works for multiple Browsers. The default file on my System one see below:
<SearchPlugin xmlns=”http://www.mozilla.org/2006/browser/search/“>
<ShortName>Google</ShortName>
<Description>Google Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width=”16″ height=”16″>data:image/png;base64,[long base64 encoded image]</Image>
<Url type=”application/x-suggestions+json” method=”GET” template=”http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&hl={moz:locale}&q={searchTerms}”/>
<Url type=”text/html” method=”GET” template=”http://www.google.com/search“>
<Param name=”q” value=”{searchTerms}”/>
<Param name=”ie” value=”utf-8″/>
<Param name=”oe” value=”utf-8″/>
<Param name=”aq” value=”t”/>
<!– Dynamic parameters –>
<Param name=”rls” value=”{moz:distributionID}:{moz:locale}:{moz:official}”/>
<MozParam name=”client” condition=”defaultEngine” trueValue=”firefox-a” falseValue=”firefox”/>
</Url>
<SearchForm>http://www.google.com/firefox</SearchForm>
</SearchPlugin>
This is a xml file, and one can use any text editor to edit. We need change 3 lines.
- In the second last line starting with <SearchForm> replace http://www.google.com/firefox by https://encrypted.google.com/ (important! NO firefox at end!)
- In the line starting with <Url type=”text/html” replace http://www.google.com/search by https://encrypted.google.com/search (including the /search!)
- Remove the first Url tag (the one which has suggestqueries in it). Unfortunately it looks like google doesnt offer suggestqueries over https for now. If you do not remove this line, all your typing will search for suggestions at google without https, therefore rendering all the other changes unneeded. Your final query would be https encrypted, but before that it will check for suggestions unencrpyted. If your concerned enough to switch google to https, i assume you dont miss the suggestions anyway.
Thats it. Now your search field uses https. Don’t feel bad about google servers have more load because of this. Google is working on lower the footprint of ssl. So help them debug their stuff.
Side notes: IF you are paranoid, think about remove the 2 Lines after “<!– Dynamic parameters –>”. The first will tell google your FF version, your language setting, and if your FF is the official one. The second one is used to show google if your using google as default search engine. I assume both lines are used to allow Mozilla get money from Google. Since google is a big source of income for Mozilla, I actually suggest to at lest keep the MozParam. They deserve some money for their good work. Setting those lines to static values may help too.
No Comments »
Netatalk ist ein AFP Server für Linux.
Wer schon mal Dateien zwischen Mac-Computern ausgetauscht hat, hat es mit hoher Wahrscheinlichkeit benutzt.
Die installation ist Debiantypisch denkbar einfach: aptitude install netatalk
Als nächstes muss man entscheiden, ob man AppleTalk unterstützen will. Wer keine Uralt-Macs im Netz hat, braucht das nicht. Es handelt sich dabei um ein Relikt aus alten Zeiten, Zeiten als TCP noch nicht das Standard-Protokoll war. Ich werde darauf hier nicht weiter eingehen.
Nun geht es ans konfigurieren des afpd. Die Konfigurationsdateien findet man in /etc/netatalk. Das Freigeben von Dateien und Ordnern ist ein 2-Schritt Prozess.
Zuerst editieren wir /etc/netatalk/afpd.conf. In dieser Datei konfigurieren wir den afpd selber. Jede Zeile der Datei ohne # stellt einen Server dar. Im allgemeinen hat man einen Server:
- -tcp -noddp -advertise_ssh -uamlist uams_dhx.so,uams_dhx2.so
Das erste Feld definiert den Servernamen, “-” ist der default server. Danach folgen die Optionen; wir benützen tcp (-tcp), kein AppleTalk (-noddp) und ssh-advertising (für ältere MacOSx versionen).
die uamlist option spezifiziert welche Methoden zur Authentifizierung benützt werden. In unserem Fall erlauben wir die beiden Diffie-Hellman eXchange Methoden.
Weitere Optionen sind in der /etc/netatalk/afpd.conf oder unter “man afpd.conf” zu finden.
Als nächstes definieren wir die zu veröffentlichenden Ordner.
Die öffentlich sichtbaren Shares sind in der Datei /etc/netatalk/AppleVolumes.default definiert. Dort freigegebene Ordner sieht ein User wenn er die notwendigen Rechte für diesen Bereich hat (Linux-Filesystem-Rechte). Wie bei afpd.conf wird auch hier Pro Zeile eine Freigabe beschrieben.
Per default sind die Home-Ordner der User freigegeben, das sollte vorerst auch reichen.
Jetzt sollte man das netatalk system neu starten /etc/init.d/netatalk restart
Auf einem Mac sollte es nun möglich sein, im Finder über “Connect to server” das Home-Verzeichniss zu mounten.
Damit wäre die Sache fast erledigt. Eines funktioniert nämlich noch gar nicht. Auf dem MacOS taucht der Server zwar automatisch in der Liste der gefundenen Server auf, aber er kann sich dort noch nicht verbinden. Apple verwendet für die “Location Discovery” mDNS. Die Standart-implementierung auf Linux ist avahi. Debian bringt avahi per default mit, daher werde ich hier nicht auf die Installation eingehen. Da netatalk keinen nativen support für avahi mitbringt, müssen wir für den afp-service eine eigene service-xml datei schreiben. Die Datei /etc/avahi/services/afpd.service sollte folgenden Inhalt haben:
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">AFP on %h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
</service-group>
Nun sollte der Server auch im Finder erscheinen (falls nicht, avahi neu starten). Um sich mit dem Home-Verzeichniss zu verbinden, muss man noch auf “Connect as” klicken.
Ein wichtiger Hinweis.
Dateien die mit “.Apple” beginnen sollte man in ruhe lassen. Diese werden vom afpd gebraucht um ein Apple Filesystem zu emulieren, und wenn diese Weg sind kann es zu komischem Verhalten kommen (im Speziellen wenn man mit Aliases und Links arbeitet).
Als kleine Übung will ich nun noch meinen Torrent-Ordner freigeben. Dieser wird aus dem Netz über das Deluge-Bittorrent Programm gefüllt worauf auch andere User Zugriff haben. Diese sollen sich ihre Dateien ja auch vom server runterladen können.
Dazu müssen wir “Guest Login” im afpd erlauben indem wir uams_guest.so zur uamlist in /etc/netatalk/afpd.conf hinzufügen:
- -tcp -noddp -advertise_ssh -uamlist uams_guest.so,uams_dhx.so,uams_dhx2.so -nosavepassword
Neustart des afpd /etc/init.d/netatalk restart
Diese User sehen noch kein Volume, da sie kein Home-Directory haben. Daher veröffentlichen wir noch das Verzeichnis in /etc/netatalk/AppleVolumes.default:
/home/spahan/deluge/complete/ "downloads"
Dabei ist zu beachten, dass der afpd die Zugriffsrechte von Linux beachtet. Gäste können den Ordner daher nur sehen, wenn die “other”-Attribute Leserecht haben. Will man ihnen Schreibrechte geben, muss man “other” auch Schreibrechte geben (Schlechte Idee!).
Obige Zeile kann zudem zu Problemen führen. Als User spahan kann ich gleichzeitig mein Homedir (/home/spahan/) und auch das deluge-Verzeichniss mounten. Mach ich das gleichzeitig kann das den afpd durcheinanderbringen. Die Man-page sagt explizit, das man keine Volumes verschachteln soll. Das Problem hierbei ist ähnlich wie wenn man die .Apple-Dateien löscht. Solange man aber nur lesend darauf zugreift sollte es keine Probleme geben.
Damit sollte AFP auf Linux funktionieren. Happy Sharing 
Noch ein paar nützliche Links fürs Troubleshooting:
Comments Off
Ich entwickle für meinen Arbeitsplatz am URZ ein kleines HTML-Interface für die Domain-Administration. Wir verwenden für die Authentifizierung LDAP/Kerberos, was prinzipiell mal toll ist. Da ich zuvor immer nur Name/Passwort Login gemacht habe, ist das ganze erstmals etwas neues, und ich stolpere immer wieder über neue Problemchen. Um anderen die Arbeit zu ersparen, schreibe ich hier ein paar Details aus, die ich dabei gefunden habe.
Dank mod_authnz_ldap ist ein einfaches Login problemlos möglich. Damit kann man einfach alle Domain-User einloggen lassen (require valid-user) oder ldap-typisch spezifische Gruppen.
Damit starten die Probleme aber erst. Die WebApp soll ja mit den User-Credentials auf andere Ressourcen zugreifen können (in meinem Falle den LDAP-Server). Dazu ist etwas Arbeit nötig. Erstmals müssen wir dem Apache erlauben, die User-Credentials für die dauer des Requests zwischenzuspeichern, was mit “KrbSaveCredentials on” in der Apache-Konfig gelingt. Der Apache speichert dann eine Kopie des Tickets in einer temporären Datei , und löscht diese am Ende des Requests wieder. Der Name dieser Datei wird einem Skript als CGI-Parameter KRB5CCNAME mitgegeben. Hier muss man sich darüber klar sein, dass diese Cache-Datei in /tmp steht, und für Server-Admins ziemlich einfach auslesbar sind. Also nur auf vertrauenswürdigen Hosts machen (die genauen Sicherheitsimplikationen werde ich später noch beschreiben)!
Damit kann man jetzt auf dem Hosts Kerberos-Programme wie klist aufrufen muss aber immer die Cache-Datei mit angeben. Vor allem GSSAPI-Zugriffe sind damit noch nicht möglich, da GSSAPI auf die Umgebungsvariablen guckt um den Ticket-Cache zu finden. Daher ist es Notwendig, vor einem GSSAPI-Zugriff die Environment-Variable KRB5CCNAME auf die CGI-Variable KRB5CCNAME zu setzen. Dann klappt es auch mit GSSAPI.
Hier ein kleines Beispielskript um sich mit einem LDAP-Server mit den UserCredentials zu verbinden:
import os
import ldap
import ldap.sasl
from mod_python import apache
#index file
def index(req):
#we need load the cgi-vars first
req.add_common_vars()
req.write("<h1>LDAP-GSSAPI</h1>")
req.write("<p>kerberos username is %s<br/>kerberos-ticket cache file is %s</p>" % (req.subprocess_env['REMOTE_USER'],req.subprocess_env['KRB5CCNAME']))
#set environment so gssapi finds our ticket cache.
os.environ['KRB5CCNAME'] = req.subprocess_env['KRB5CCNAME']
try:
conn = ldap.initialize('ldaps://ldap.example.org')
# only works if environment is set correctly.
auth_tokens=ldap.sasl.gssapi()
if conn.sasl_interactive_bind_s('',auth_tokens) == 0:
req.write( "<p>Successfully connected</p>")
else:
req.write("<p>Oopsy, somethign went wrong.</p>")
except ldap.SERVER_DOWN:
req.write(print "<p>ldap-server is sleeping. Dont disturb.</p>")
return apache.OK
Comments Off
Ich wollte ja schon mehrmals an den Chaos Communication Congress fahren. Dieses Jahr hab ich endlich mal keine Ausrede gefunden und bin hin gefahren. Das hat mich ziemlich viel gekostet, aber das war es definitiv Wert.
Ich bin dabei Zweigleisig gefahren. Einerseits Kongress, andererseits Berliner Nachtleben mit meinen Freunden die ebenfalls dort waren. Sie haben das ganze etwas gelassener angegangen und sind meist erst spät Nachmittags am Kongress aufgetaucht, während ich auch nach einer durchzechten Nacht meist um 12h wieder vor Ort war. Daher bin ich wohl am Mate-Konsum-Rekord nicht ganz unschuldig.
Berlin ist nicht umsonst berühmt für sein Nachtleben. Irgendwo ist immer Party , auch um 5 Uhr am Morgen. Und Alkohol ist billig. Kein Vergleich zu Basel. Mein neuer Lieblingsdrink ist der “Mexicana”, ein dem Bloody Mary ähnelnden Drink.
Der Kongress war ein Feuerwerk an Ideen und Erfahrungen. Am meisten Beeindruckt hat mich eine verblüffend einfache Sicherheitslücke in GSM und der MakerBot (der Replikator ist gar nicht so weit entfernt wie ich immer dachte).
Neben den Sensationen war aber auch Zeit mich weiter zu Bilden. Sehr interessiert habe ich mich da für die Hardwaresachen, speziell auch das ganze mobile Zeugs.
Die ganzen Zensur-Sachen interessieren mich nicht so sehr, ich sehe das ganze als ganze als Entwicklung die dieser Staat machen muss um die bestehende Ordnung zu erhalten. Um das Problem zu lösen hilft es nichts, wenn man versucht die Bürgerlichen Freiheiten auf biegen und brechen zu verteidigen, wir müssen das System viel Tiefer angreifen und verändern (Und genau hier finde ich die MakerBot-Idee absolut Genial. Sie versucht die Industrie zu dezentralisieren, was dann notwendigerweise auch die Eigentumsverhältnisse durcheinander würfelt)
Und das wurde am Kongress im Untergeschoss aka Hackzenter getan. Moral erstmal egal, gehackt wird was gehackt werden kann. Vorstellen kann man sich das ganze als einen Grossen Raum mit hunderten (?) Hackern die dicht gepackt an Tischen an ihren Laptops sitzen und irgendwelche Dinge machen. Setz dich hin, pack deinen PC aus, leg los.Gleich dahinter (etwas kleiner) die MusikLounge, wo man sich auf mit dem Laptop auf Sofas breit macht und rauchend/saufend/musizierend sein Ding dreht.
Dann gab es auch noch die kleinen Highligts die einfach Nett waren; Die singende Teslaspule, selbstgebaute Flugmaschienen und noch viele kleine Spielereien.
Ich kann mich daher dieser Twittermeldung anschliessen und Freue mich aufs nächste mal am 27c3.
Comments Off
Posted by: hanfi in Politik
Die Schweiz hat heute mal wieder bewiesen, dass ihr humanitäres Bild nichts weiter als eine nette Fantasie ist. Minarette sind böse, aber Kriegswaffen verkaufen ist ganz toll.
Wie viele Menschen sind durch Minarette gestorben? Wie viele Menschen sterben durch unsere Waffen?
Bei solch offenem Rassismus bleibt mir immer die Spucke weg. Das schlimme ist; die meisten werden den Rassismus-Vorwurf weit von sich weisen. Sie werden Ausflüchte suchen und sie natürlich auch finden (jede Wette der Jugo wird in den nächsten Wochen am Stammtisch schon irgendwie Schuld sein).
Die Schweiz hat an diesem Wochenende alle Masken fallen lassen. Das Bild da darunter zum Vorschein kommt ist Hässlich. Ein kleinlicher Waffenschieber, der alles fremde Ablehnt und nur auf sein Geld guckt. Die Rechte verweist ja immer auf die Abzocker in den Finanzzentren, die Gewissenslos ihre Interessen durchsetzten. Dieses Volk gibt es tatsächlich. Nur lebt es mitten in Europa und icht im nahen Osten.
Comments Off
Mal wieder haben meine Freunde von Digital Mayhem Production eine Party geschmissen. Und ich hab mal wieder mein Freivolumen für einen Livestream draufgehen lassen. Diverse DJs waren angesagt, da ich aber erst um etwa 23:00 ankahm wurde, hab ich nur 5½ davon erwischt. Die Location Hauptquartier muss man sich merken, da gehts richtig ab.
Ich hab die Aufnahme mal in 6 Teile gesplittet damit man etwas selektiver Auswählen kann. Die Übergänge sind fliessend.
@Welk, das mit den 666MB hat dieses mal nicht geklappt. Aber immerhin sind es 6 mp3 Dateien :-p
Have Fun, cya next Time
PS: Alle mp3 Files die ich von DMP mache kann man auch hier finden und runterladen. Schmeisst den Link doch mal in euere Bookmarks.
Update: Bevor ich es vergesse, die Livestreams wird man unter http://gnr.spahan.ch:8000/dmp.m3u oder (etwas kürzer) http://häm.ch/dmp finden. Ich guck mal ob ich das irgendwann so hinkriege, dass die alten Sachen dort geloopt werden wenn kein Livestream da ist. Das mit dem Loopen klappt jetzt. Ab sofort ist Radio DMP Archive online unter den 2 Adressen erreichbar. Wir senden 24/7 und es gibt keine Werbeunterbrechungen (nur technische Pausen bei einigen DJ-Wechseln oder Laptop-Abstürzen).
3 Comments »
Posted by: hanfi in fun, tags: basen, beweis, mathe
Bei meinem abendlichen Strolchzug durchs Netz bin ich über diesen Tweet gestossen.
9+9 = 18 _ 81 = 9*9 coincidence???
Ein bisschen nachgerechnet, nope, kein Zufall. Stimmt auch für andere kleinere Basen. Aber stimmt es auch für grosse Basen? Für alle?
Der Beweis dafür, dass es immer stimmt, ist ziemlich einfach.
Sei b eine Basis in ℕ > 1. Sei x = b-1. aⁱ bezeichne die Koeffizienten der b-adischen Dahrstellung* von a.
Aus x+x = b-1+b-1 = b + (b-2) = 1*b¹ + (b-2)*b⁰ folgt, dass x+x durch x⁰=b-2, x¹=1 darstellbar ist.
Dito ergeben sich für x*x = (b-1)*(b-1) = b^2 -2b + 1 = (b-2)*b¹ + 1*b⁰ => x’⁰=1, x’¹=b-2
Somit ist x⁰=x’¹ und x¹ = x’⁰. Was zu zeigen wahr.**
*aⁱ ist die i-te Stelle der Zahl wenn man sie ausschreibt. zB ist die dezimale Zahl 132 durch a⁰=2, a¹=3, a²=1 gegeben.
**endlich mal eine Anwendung für den ganzen Mathe-Quatsch.
Comments Off
Posted by: hanfi in Anime, tags: Anime, review, tokyo
Taschentücher bereithalten!
Die Geschichte basiert auf theoretischen Studien zum Thema Erdbeben in Tokyo. Experten erwarten dort in bälde mal wieder ein Erdbeben grösserer Stufe (7.0). Die Geschichte erzählt von einem Erdbeben der Stuffe 8.0 (die Skala ist logarithmisch. von 7 auf 8 ist 10 mal stärker).
Am Anfang steht ein Schulmädchen, dass ihren kleinen Bruder unfreiwillig zu einer Robotermesse begleiten muss. Dort angekommen Krachts. Und jetzt muss man wieder nach Hause. Das ganze wird in 12 Episoden erzählt und fährt damit ziemlich gut. Man kann vieles vorhersehen, aber der Schluss trifft dann doch ziemlich deftig.
Gute Story bei solidem Zeichenstil. Kriegt ne 8 auf aniDB.
Comments Off
Habe lange keine Reviews mehr geschrieben, daher kommen in den nächsten paar Tagen ein paar wenn nichts dazwischen kommt.
Die Geschichte beginnt 4 Jare nach der Schlacht von Sekigahra. Der Held Kyo der Story wurde dort “getötet” lebt aber jetzt im Körper seines ehemaligen Feindes weiter. Dieser suchte nach den grossen Kämpfen nur noch nach Frieden und tingelt als Verkäufer von Arzneimittel durchs Land.
Eine böse Familie im Hintergrund mag die Anbrechende neue friedlichere Zeit nicht, und versucht mit Magie und so weiter zurück in die Zeit der ständigen Kriege zu gehen. Dazu wollen sie einen Dämonsichen Kriegsherren wiederbeleben, und den Körper unseres Helden, der irgendwo versteckt ist, brauchen. Wie auch immer die beiden Kontrahenten im gleichen Körper verbünden sich um das zu verhindern und die beiden wieder in ihre eigenen Körper zu kriegen. Das klappt auch, und die beiden stehen sich zum Schluss für ihr finales Battle gegenüber.
Die Geschichte ist nicht so blöd wie ich sie jetzt darstelle (die historischen Notizen sind Nett), aber trotzdem immer ziemlich durchschaubar. Grafisch ist nicht gerade überwältigend, sogar für einen Anime aus 2002. Viel Standbilder, wenig echte Aktion.
Unterhaltsam, aber das wars dann auch schon. Eine 6 auf AniDB.
Comments Off
GMX meint es gut mit mir. Darum sind sie um Sicherheit bemüht.
*Schluss mit dem Passwort-Spuk:
TÜV-geprüfte Sicherheit für Ihre Daten!*
<http://portal.gmx.net//de/themen/nachrichten/in-eigener-sache/9063766-GMX-Navigator-schuetzt-Login-Daten-optimal,cc=000921405000090637661czW7O.html>
Wenn man sich gerade diese Meldungen anschaut, war der Zeitpunkt für dieses Feature nicht allzu gut gewählt.
Comments Off
|